SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GUIParameterTableWindow.h
Go to the documentation of this file.
1 /****************************************************************************/
8 // The window that holds the table of an object's parameter
9 /****************************************************************************/
10 // SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
11 // Copyright (C) 2001-2012 DLR (http://www.dlr.de/) and contributors
12 /****************************************************************************/
13 //
14 // This file is part of SUMO.
15 // SUMO is free software: you can redistribute it and/or modify
16 // it under the terms of the GNU General Public License as published by
17 // the Free Software Foundation, either version 3 of the License, or
18 // (at your option) any later version.
19 //
20 /****************************************************************************/
21 #ifndef GUIParameterTableWindow_h
22 #define GUIParameterTableWindow_h
23 
24 
25 // ===========================================================================
26 // included modules
27 // ===========================================================================
28 #ifdef _MSC_VER
29 #include <windows_config.h>
30 #else
31 #include <config.h>
32 #endif
33 
34 #include <vector>
35 #include <string>
36 #include <fx.h>
39 #include <utils/common/SUMOTime.h>
40 
41 
42 // ===========================================================================
43 // class declarations
44 // ===========================================================================
45 class GUIGlObject;
46 class GUIMainWindow;
48 
49 
50 // ===========================================================================
51 // class definitions
52 // ===========================================================================
67  FXDECLARE(GUIParameterTableWindow)
68 public:
76  GUIGlObject& o, size_t noRows);
77 
78 
81 
82 
91  void closeBuilding();
92 
93 
94 
98  void removeObject(GUIGlObject* const o);
99 
100 
101 
104 
111  void mkItem(const char* name, bool dynamic, ValueSource<unsigned>* src);
112 
113 
120  void mkItem(const char* name, bool dynamic, ValueSource<SUMOReal>* src);
121 
122 
123 #ifndef HAVE_SUBSECOND_TIMESTEPS
124 
130  void mkItem(const char* name, bool dynamic, ValueSource<SUMOTime>* src);
131 #endif
132 
140  void mkItem(const char* name, bool dynamic, std::string value);
141 
142 
150  void mkItem(const char* name, bool dynamic, unsigned value);
151 
152 
160  void mkItem(const char* name, bool dynamic, SUMOReal value);
161 
162 
163 #ifndef HAVE_SUBSECOND_TIMESTEPS
164 
171  void mkItem(const char* name, bool dynamic, SUMOTime value);
172 #endif
173 
174 
175 
176 
179 
181  long onSimStep(FXObject*, FXSelector, void*);
182 
186  long onTableSelected(FXObject*, FXSelector, void*);
187 
191  long onTableDeselected(FXObject*, FXSelector, void*);
192 
202  long onRightButtonPress(FXObject*, FXSelector, void*);
204 
205 
206 protected:
213  void updateTable();
214 
215 
216 private:
219 
222 
225 
227  std::vector<GUIParameterTableItemInterface*> myItems;
228 
230  unsigned myCurrentPos;
231 
233  mutable MFXMutex myLock;
234 
235 protected:
238 
239 };
240 
241 
242 #endif
243 
244 /****************************************************************************/
245