GUIParameterTableWindow.h
Go to the documentation of this file.00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GUIParameterTableWindow_h
00020 #define GUIParameterTableWindow_h
00021
00022
00023
00024
00025
00026 #ifdef _MSC_VER
00027 #include <windows_config.h>
00028 #else
00029 #include <config.h>
00030 #endif
00031
00032 #include <vector>
00033 #include <string>
00034 #include <fx.h>
00035 #include <utils/common/ValueSource.h>
00036 #include <utils/common/SUMOTime.h>
00037
00038
00039
00040
00041
00042 class GUIGlObject;
00043 class GUIMainWindow;
00044 class GUIParameterTableItemInterface;
00045
00046
00047
00048
00049
00063 class GUIParameterTableWindow : public FXMainWindow {
00064 FXDECLARE(GUIParameterTableWindow)
00065 public:
00072 GUIParameterTableWindow(GUIMainWindow &app,
00073 GUIGlObject &o, size_t noRows) throw();
00074
00075
00077 ~GUIParameterTableWindow() throw();
00078
00079
00088 void closeBuilding() throw();
00089
00090
00091
00094
00101 void mkItem(const char *name, bool dynamic, ValueSource<unsigned> *src) throw();
00102
00103
00110 void mkItem(const char *name, bool dynamic, ValueSource<SUMOReal> *src) throw();
00111
00112
00113 #ifndef HAVE_SUBSECOND_TIMESTEPS
00114
00120 void mkItem(const char *name, bool dynamic, ValueSource<SUMOTime> *src) throw();
00121 #endif
00122
00130 void mkItem(const char *name, bool dynamic, std::string value) throw();
00131
00132
00140 void mkItem(const char *name, bool dynamic, unsigned value) throw();
00141
00142
00150 void mkItem(const char *name, bool dynamic, SUMOReal value) throw();
00151
00152
00153 #ifndef HAVE_SUBSECOND_TIMESTEPS
00154
00161 void mkItem(const char *name, bool dynamic, SUMOTime value) throw();
00162 #endif
00164
00165
00166
00169
00171 long onSimStep(FXObject*,FXSelector,void*);
00172
00176 long onTableSelected(FXObject*,FXSelector,void*);
00177
00181 long onTableDeselected(FXObject*,FXSelector,void*);
00182
00192 long onRightButtonPress(FXObject*,FXSelector,void*);
00194
00195
00196 protected:
00203 void updateTable() throw();
00204
00205
00206 private:
00208 GUIGlObject *myObject;
00209
00211 FXTable *myTable;
00212
00214 GUIMainWindow *myApplication;
00215
00217 std::vector<GUIParameterTableItemInterface*> myItems;
00218
00220 unsigned myCurrentPos;
00221
00222
00223 protected:
00225 GUIParameterTableWindow() { }
00226
00227 };
00228
00229
00230 #endif
00231
00232
00233