Eclipse SUMO - Simulation of Urban MObility
GNETLSEditorFrame.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
15 // The Widget for modifying traffic lights
16 /****************************************************************************/
17 #ifndef GNETLSEditorFrame_h
18 #define GNETLSEditorFrame_h
19 
20 // ===========================================================================
21 // included modules
22 // ===========================================================================
23 #include "GNEFrame.h"
25 
26 // ===========================================================================
27 // class declarations
28 // ===========================================================================
30 class NBLoadedSUMOTLDef;
31 class NBOwnTLDef;
32 class GNEInternalLane;
33 
34 // ===========================================================================
35 // class definitions
36 // ===========================================================================
41 class GNETLSEditorFrame : public GNEFrame {
43  FXDECLARE(GNETLSEditorFrame)
44 
45 public:
46 
47  // ===========================================================================
48  // class TLSJunction
49  // ===========================================================================
50 
51  class TLSJunction : protected FXGroupBox {
52 
53  public:
55  TLSJunction(GNETLSEditorFrame* TLSEditorParent);
56 
58  ~TLSJunction();
59 
62 
64  void setCurrentJunction(GNEJunction* junction);
65 
67  void updateJunctionDescription() const;
68 
69  private:
72 
75 
77  FXTextField* myTextFieldJunctionID;
78 
81 
84 
87  };
88 
89  // ===========================================================================
90  // class TLSDefinition
91  // ===========================================================================
92 
93  class TLSDefinition : protected FXGroupBox {
94 
95  public:
97  TLSDefinition(GNETLSEditorFrame* TLSEditorParent);
98 
100  ~TLSDefinition();
101 
102  private:
104  FXButton* myNewTLProgram;
105 
107  FXButton* myDeleteTLProgram;
108  };
109 
110  // ===========================================================================
111  // class TLSAttributes
112  // ===========================================================================
113 
114  class TLSAttributes : protected FXGroupBox {
115 
116  public:
118  TLSAttributes(GNETLSEditorFrame* TLSEditorParent);
119 
121  ~TLSAttributes();
122 
124  void initTLSAttributes(GNEJunction* junction);
125 
127  void clearTLSAttributes();
128 
131 
133  SUMOTime getOffset() const;
134 
136  void setOffset(SUMOTime offset);
137 
139  int getNumberOfTLSDefinitions() const;
140 
142  int getNumberOfPrograms() const;
143 
144  private:
147 
149  std::vector<NBTrafficLightDefinition*> myTLSDefinitions;
150 
152  FXLabel* myNameLabel;
153 
155  FXTextField* myNameTextField;
156 
158  FXLabel* myProgramLabel;
159 
161  FXComboBox* myProgramComboBox;
162 
164  FXLabel* myOffsetLabel;
165 
167  FXTextField* myOffsetTextField;
168  };
169 
170  // ===========================================================================
171  // class TLSPhases
172  // ===========================================================================
173 
174  class TLSPhases : protected FXGroupBox {
175 
176  public:
178  TLSPhases(GNETLSEditorFrame* TLSEditorParent);
179 
181  ~TLSPhases();
182 
184  FXTable* getPhaseTable() const;
185 
189  void initPhaseTable(int index = 0);
190 
192  void showCycleDuration();
193 
195  void hideCycleDuration();
196 
198  void updateCycleDuration();
199 
200  private:
203 
205  FXFont* myTableFont;
206 
208  FXScrollWindow* myTableScroll;
209 
211  FXTable* myPhaseTable;
212 
214  FXLabel* myCycleDuration;
215 
218 
221  };
222 
223  // ===========================================================================
224  // class TLSModifications
225  // ===========================================================================
226 
227  class TLSModifications : protected FXGroupBox {
228 
229  public:
231  TLSModifications(GNETLSEditorFrame* TLSEditorParent);
232 
235 
237  bool checkHaveModifications() const;
238 
240  void setHaveModifications(bool value);
241 
242  private:
245 
248 
251 
254  };
255 
256  // ===========================================================================
257  // class TLSFile
258  // ===========================================================================
259 
260  class TLSFile : protected FXGroupBox {
262  FXDECLARE(GNETLSEditorFrame::TLSFile)
263 
264  public:
266  TLSFile(GNETLSEditorFrame* TLSEditorParent);
267 
269  ~TLSFile();
270 
274  long onCmdLoadTLSProgram(FXObject*, FXSelector, void*);
275 
277  long onCmdSaveTLSProgram(FXObject*, FXSelector, void*);
278 
280  long onUpdNeedsDef(FXObject*, FXSelector, void*);
282 
283  protected:
285  TLSFile() {}
286 
287  private:
290 
293 
296 
298  std::string writeSUMOTime(SUMOTime steps);
299  };
300 
301 
306  GNETLSEditorFrame(FXHorizontalFrame* horizontalFrameParent, GNEViewNet* viewNet);
307 
310 
313  void editJunction(GNEJunction* junction);
314 
316  bool isTLSSaved();
317 
319  bool parseTLSPrograms(const std::string& file);
320 
325  long onCmdOK(FXObject*, FXSelector, void*);
326 
329  long onCmdCancel(FXObject*, FXSelector, void*);
330 
332  long onCmdToggle(FXObject*, FXSelector, void*);
333 
335  long onCmdGuess(FXObject*, FXSelector, void*);
336 
338  long onCmdDefCreate(FXObject*, FXSelector, void*);
339 
341  long onCmdDefDelete(FXObject*, FXSelector, void*);
342 
344  long onCmdDefOffset(FXObject*, FXSelector, void*);
345 
347  long onCmdDefSwitch(FXObject*, FXSelector, void*);
348 
350  long onCmdDefRename(FXObject*, FXSelector, void*);
351 
353  long onCmdDefSubRename(FXObject*, FXSelector, void*);
354 
356  long onCmdDefAddOff(FXObject*, FXSelector, void*);
357 
359  long onCmdPhaseSwitch(FXObject*, FXSelector, void*);
360 
362  long onCmdPhaseCreate(FXObject*, FXSelector, void*);
363 
365  long onCmdPhaseDelete(FXObject*, FXSelector, void*);
366 
368  long onCmdCleanup(FXObject*, FXSelector, void*);
369 
371  long onCmdAddUnused(FXObject*, FXSelector, void*);
372 
374  long onCmdPhaseEdit(FXObject*, FXSelector, void*);
375 
377  long onCmdMakeRILSAConforming(FXObject*, FXSelector, void*);
378 
380  long onUpdDefSwitch(FXObject*, FXSelector, void*);
381 
383  long onUpdNeedsDef(FXObject*, FXSelector, void*);
384 
386  long onUpdNeedsDefAndPhase(FXObject*, FXSelector, void*);
387 
389  long onUpdDefCreate(FXObject*, FXSelector, void*);
390 
392  long onUpdModified(FXObject*, FXSelector, void*);
394 
396  void handleChange(GNEInternalLane* lane);
397 
399  void handleMultiChange(GNELane* lane, FXObject* obj, FXSelector sel, void* data);
400 
402  bool controlsEdge(GNEEdge& edge) const;
403 
405  bool fixedDuration() const;
406 
407 protected:
410 
412  static SUMOTime getSUMOTime(const FXString& string);
413 
414 private:
417 
420 
423 
426 
429 
432 
434  typedef std::map<int, std::vector<GNEInternalLane*> > TLIndexMap;
436 
439 
442 
444  void cleanup();
445 
448 
450  const std::vector<NBTrafficLightLogic::PhaseDefinition>& getPhases();
451 
453  static std::string varDurString(SUMOTime dur);
454 };
455 
456 
457 #endif
458 
459 /****************************************************************************/
460 
GNETLSEditorFrame::TLSAttributes::initTLSAttributes
void initTLSAttributes(GNEJunction *junction)
initializes the definitions and corresponding listbox
Definition: GNETLSEditorFrame.cpp:855
GNETLSEditorFrame::onCmdDefOffset
long onCmdDefOffset(FXObject *, FXSelector, void *)
Called when the user changes the offset of a TLS.
Definition: GNETLSEditorFrame.cpp:384
GNETLSEditorFrame::TLSJunction::myTextFieldJunctionStatus
FXTextField * myTextFieldJunctionStatus
text field for junction status
Definition: GNETLSEditorFrame.h:83
GNETLSEditorFrame::myTLSAttributes
GNETLSEditorFrame::TLSAttributes * myTLSAttributes
modul for TLS attributes
Definition: GNETLSEditorFrame.h:422
GNETLSEditorFrame::TLSAttributes::getCurrentTLSDefinition
NBTrafficLightDefinition * getCurrentTLSDefinition() const
get current definition
Definition: GNETLSEditorFrame.cpp:895
GNETLSEditorFrame::TLSJunction::myCurrentJunction
GNEJunction * myCurrentJunction
the junction of the tls is being modified
Definition: GNETLSEditorFrame.h:86
GNETLSEditorFrame::TLSJunction::~TLSJunction
~TLSJunction()
destructor
Definition: GNETLSEditorFrame.cpp:948
GNETLSEditorFrame::myTLSJunction
GNETLSEditorFrame::TLSJunction * myTLSJunction
modul for TLS Junction
Definition: GNETLSEditorFrame.h:416
GNETLSEditorFrame::myTLSPhases
GNETLSEditorFrame::TLSPhases * myTLSPhases
modul for TLS Phases
Definition: GNETLSEditorFrame.h:428
GNETLSEditorFrame::onUpdDefSwitch
long onUpdDefSwitch(FXObject *, FXSelector, void *)
Called when occurs an update of switch definition.
Definition: GNETLSEditorFrame.cpp:342
GNETLSEditorFrame::onUpdNeedsDef
long onUpdNeedsDef(FXObject *, FXSelector, void *)
Called when occurs an update of needs definition.
Definition: GNETLSEditorFrame.cpp:350
GNETLSEditorFrame::onUpdDefCreate
long onUpdDefCreate(FXObject *, FXSelector, void *)
Called when occurs an update of create definition.
Definition: GNETLSEditorFrame.cpp:367
GNETLSEditorFrame::TLSAttributes::getNumberOfTLSDefinitions
int getNumberOfTLSDefinitions() const
get number of definitions
Definition: GNETLSEditorFrame.cpp:901
GNETLSEditorFrame::TLSAttributes::~TLSAttributes
~TLSAttributes()
destructor
Definition: GNETLSEditorFrame.cpp:851
GNETLSEditorFrame::onCmdDefSwitch
long onCmdDefSwitch(FXObject *, FXSelector, void *)
Called when the user switchs a TLS.
Definition: GNETLSEditorFrame.cpp:314
NBTrafficLightLogic.h
GNETLSEditorFrame::TLSJunction::myLabelJunctionStatus
FXLabel * myLabelJunctionStatus
label for junction status
Definition: GNETLSEditorFrame.h:80
GNETLSEditorFrame::TLSPhases::initPhaseTable
void initPhaseTable(int index=0)
initialies the phase table
Definition: GNETLSEditorFrame.cpp:1050
GNETLSEditorFrame::onCmdOK
long onCmdOK(FXObject *, FXSelector, void *)
Definition: GNETLSEditorFrame.cpp:249
GNETLSEditorFrame::isTLSSaved
bool isTLSSaved()
check if modifications in TLS was saved
Definition: GNETLSEditorFrame.cpp:148
GNETLSEditorFrame::TLSModifications::checkHaveModifications
bool checkHaveModifications() const
check if current TLS was modified
Definition: GNETLSEditorFrame.cpp:1159
GNETLSEditorFrame::TLSAttributes::getNumberOfPrograms
int getNumberOfPrograms() const
get number of programs
Definition: GNETLSEditorFrame.cpp:907
GNETLSEditorFrame::varDurString
static std::string varDurString(SUMOTime dur)
convert duration (potentially undefined) to string
Definition: GNETLSEditorFrame.cpp:731
GNETLSEditorFrame::onCmdPhaseDelete
long onCmdPhaseDelete(FXObject *, FXSelector, void *)
Called when the user deletes a Phase.
Definition: GNETLSEditorFrame.cpp:514
GNETLSEditorFrame::getPhases
const std::vector< NBTrafficLightLogic::PhaseDefinition > & getPhases()
the phase of the current traffic light
Definition: GNETLSEditorFrame.cpp:737
GNETLSEditorFrame::editJunction
void editJunction(GNEJunction *junction)
edits the traffic light for the given junction
Definition: GNETLSEditorFrame.cpp:128
SUMOTime
long long int SUMOTime
Definition: SUMOTime.h:35
GNETLSEditorFrame::myTLSModifications
GNETLSEditorFrame::TLSModifications * myTLSModifications
modul for load/Save TLS Modifications
Definition: GNETLSEditorFrame.h:425
GNETLSEditorFrame::TLSAttributes::getOffset
SUMOTime getOffset() const
get current offset in SUMOTIme
Definition: GNETLSEditorFrame.cpp:913
GNETLSEditorFrame::TLSPhases
Definition: GNETLSEditorFrame.h:174
GNEFrame
Definition: GNEFrame.h:35
NBOwnTLDef
A traffic light logics which must be computed (only nodes/edges are given)
Definition: NBOwnTLDef.h:47
GNETLSEditorFrame::TLSFile::~TLSFile
~TLSFile()
destructor
Definition: GNETLSEditorFrame.cpp:1185
GNETLSEditorFrame::onUpdModified
long onUpdModified(FXObject *, FXSelector, void *)
Called when occurs an update of modified.
Definition: GNETLSEditorFrame.cpp:375
GNEViewNet
Definition: GNEViewNet.h:43
GNETLSEditorFrame::TLSPhases::~TLSPhases
~TLSPhases()
destructor
Definition: GNETLSEditorFrame.cpp:1038
GNETLSEditorFrame::TLSFile::myLoadTLSProgramButton
FXButton * myLoadTLSProgramButton
button for load TLS Programs
Definition: GNETLSEditorFrame.h:292
GNETLSEditorFrame::TLSJunction::myTextFieldJunctionID
FXTextField * myTextFieldJunctionID
text field for junction ID
Definition: GNETLSEditorFrame.h:77
GNETLSEditorFrame::TLSPhases::myTableFont
FXFont * myTableFont
font for the phase table
Definition: GNETLSEditorFrame.h:205
GNETLSEditorFrame::cleanup
void cleanup()
cleans up previous lanes
Definition: GNETLSEditorFrame.cpp:646
GNETLSEditorFrame::TLSFile::writeSUMOTime
std::string writeSUMOTime(SUMOTime steps)
convert SUMOTime into string
Definition: GNETLSEditorFrame.cpp:1290
GNETLSEditorFrame::TLSJunction::getCurrentJunction
GNEJunction * getCurrentJunction() const
get current modified junction
Definition: GNETLSEditorFrame.cpp:952
GNETLSEditorFrame::TLSPhases::myCycleDuration
FXLabel * myCycleDuration
label with the cycle duration
Definition: GNETLSEditorFrame.h:214
GNETLSEditorFrame::TLSModifications::~TLSModifications
~TLSModifications()
destructor
Definition: GNETLSEditorFrame.cpp:1155
GNETLSEditorFrame::TLSFile::TLSFile
TLSFile()
FOX needs this.
Definition: GNETLSEditorFrame.h:285
GNETLSEditorFrame::TLSJunction::updateJunctionDescription
void updateJunctionDescription() const
update descrition
Definition: GNETLSEditorFrame.cpp:964
GNETLSEditorFrame::TLSAttributes::setOffset
void setOffset(SUMOTime offset)
set new offset
Definition: GNETLSEditorFrame.cpp:919
GNETLSEditorFrame::TLSModifications::setHaveModifications
void setHaveModifications(bool value)
set if current TLS was modified
Definition: GNETLSEditorFrame.cpp:1165
GNETLSEditorFrame::TLSJunction::myLabelJunctionID
FXLabel * myLabelJunctionID
label for junction ID
Definition: GNETLSEditorFrame.h:74
GNEEdge
A road/street connecting two junctions (netedit-version)
Definition: GNEEdge.h:50
GNETLSEditorFrame::TLSAttributes
Definition: GNETLSEditorFrame.h:114
GNETLSEditorFrame::TLSFile::myTLSEditorParent
GNETLSEditorFrame * myTLSEditorParent
pointer to TLSEditor Parent
Definition: GNETLSEditorFrame.h:289
GNETLSEditorFrame::onCmdDefSubRename
long onCmdDefSubRename(FXObject *, FXSelector, void *)
Called when the user sub-renames a TLS.
Definition: GNETLSEditorFrame.cpp:398
GNETLSEditorFrame::TLSPhases::myTLSEditorParent
GNETLSEditorFrame * myTLSEditorParent
pointer to TLSEditor Parent
Definition: GNETLSEditorFrame.h:202
GNETLSEditorFrame::TLSDefinition::myDeleteTLProgram
FXButton * myDeleteTLProgram
button for delete traffic light program
Definition: GNETLSEditorFrame.h:107
GNETLSEditorFrame::TLSFile::onUpdNeedsDef
long onUpdNeedsDef(FXObject *, FXSelector, void *)
enable buttons, only when a tlLogic is being edited
Definition: GNETLSEditorFrame.cpp:1300
GNETLSEditorFrame::TLSAttributes::myTLSDefinitions
std::vector< NBTrafficLightDefinition * > myTLSDefinitions
the list of Definitions for the current junction
Definition: GNETLSEditorFrame.h:149
GNETLSEditorFrame::onCmdDefCreate
long onCmdDefCreate(FXObject *, FXSelector, void *)
Called when the user creates a TLS.
Definition: GNETLSEditorFrame.cpp:272
GNETLSEditorFrame::TLSDefinition::~TLSDefinition
~TLSDefinition()
destructor
Definition: GNETLSEditorFrame.cpp:996
GNETLSEditorFrame::controlsEdge
bool controlsEdge(GNEEdge &edge) const
whether the given edge is controlled by the currently edited tlDef
Definition: GNETLSEditorFrame.cpp:804
GNETLSEditorFrame::onCmdGuess
long onCmdGuess(FXObject *, FXSelector, void *)
Called when the user presses the button Guess.
Definition: GNETLSEditorFrame.cpp:410
GNETLSEditorFrame::TLSDefinition::myNewTLProgram
FXButton * myNewTLProgram
button for create new Traffic light program
Definition: GNETLSEditorFrame.h:104
GNETLSEditorFrame::TLSJunction::setCurrentJunction
void setCurrentJunction(GNEJunction *junction)
set current junction
Definition: GNETLSEditorFrame.cpp:958
GNETLSEditorFrame::onCmdDefDelete
long onCmdDefDelete(FXObject *, FXSelector, void *)
Called when the user deletes a TLS.
Definition: GNETLSEditorFrame.cpp:299
GNETLSEditorFrame::TLSAttributes::myOffsetTextField
FXTextField * myOffsetTextField
the control for modifying offset
Definition: GNETLSEditorFrame.h:167
GNETLSEditorFrame::TLSModifications
Definition: GNETLSEditorFrame.h:227
GNETLSEditorFrame::onCmdPhaseEdit
long onCmdPhaseEdit(FXObject *, FXSelector, void *)
Called when the user edits a Phase.
Definition: GNETLSEditorFrame.cpp:545
GNETLSEditorFrame::onCmdMakeRILSAConforming
long onCmdMakeRILSAConforming(FXObject *, FXSelector, void *)
Called when the user makes RILSA.
GNETLSEditorFrame::TLSDefinition::TLSDefinition
TLSDefinition(GNETLSEditorFrame *TLSEditorParent)
constructor
Definition: GNETLSEditorFrame.cpp:983
GNETLSEditorFrame::GNETLSEditorFrame
GNETLSEditorFrame()
FOX needs this.
Definition: GNETLSEditorFrame.h:409
GNETLSEditorFrame::TLSModifications::myTLSEditorParent
GNETLSEditorFrame * myTLSEditorParent
pointer to TLSEditor Parent
Definition: GNETLSEditorFrame.h:244
GNETLSEditorFrame::parseTLSPrograms
bool parseTLSPrograms(const std::string &file)
parse TLS Programs from a file
Definition: GNETLSEditorFrame.cpp:181
GNETLSEditorFrame::onCmdDefRename
long onCmdDefRename(FXObject *, FXSelector, void *)
Called when the user renames a TLS.
Definition: GNETLSEditorFrame.cpp:392
GNETLSEditorFrame::TLSPhases::myDeleteSelectedPhaseButton
FXButton * myDeleteSelectedPhaseButton
delete phase button
Definition: GNETLSEditorFrame.h:220
GNETLSEditorFrame::handleChange
void handleChange(GNEInternalLane *lane)
update phase definition for the current traffic light and phase
Definition: GNETLSEditorFrame.cpp:743
GNETLSEditorFrame::TLSModifications::TLSModifications
TLSModifications(GNETLSEditorFrame *TLSEditorParent)
constructor
Definition: GNETLSEditorFrame.cpp:1140
GNETLSEditorFrame::TLSPhases::getPhaseTable
FXTable * getPhaseTable() const
get phase table
Definition: GNETLSEditorFrame.cpp:1044
GNETLSEditorFrame::TLSPhases::hideCycleDuration
void hideCycleDuration()
hide cycle duration
Definition: GNETLSEditorFrame.cpp:1122
GNETLSEditorFrame::TLSFile::onCmdSaveTLSProgram
long onCmdSaveTLSProgram(FXObject *, FXSelector, void *)
save TLS Programm to an additional file
Definition: GNETLSEditorFrame.cpp:1250
GNETLSEditorFrame::TLSAttributes::myOffsetLabel
FXLabel * myOffsetLabel
offset label
Definition: GNETLSEditorFrame.h:164
GNETLSEditorFrame::onCmdPhaseCreate
long onCmdPhaseCreate(FXObject *, FXSelector, void *)
Called when the user creates a Phase.
Definition: GNETLSEditorFrame.cpp:444
GNETLSEditorFrame::~GNETLSEditorFrame
~GNETLSEditorFrame()
Destructor.
Definition: GNETLSEditorFrame.cpp:122
GNETLSEditorFrame::onCmdCancel
long onCmdCancel(FXObject *, FXSelector, void *)
Called when the user presses the Cancel-button.
Definition: GNETLSEditorFrame.cpp:238
GNETLSEditorFrame::getSUMOTime
static SUMOTime getSUMOTime(const FXString &string)
converts to SUMOTime
Definition: GNETLSEditorFrame.cpp:818
GNETLSEditorFrame::TLSJunction::TLSJunction
TLSJunction(GNETLSEditorFrame *TLSEditorParent)
constructor
Definition: GNETLSEditorFrame.cpp:927
GNETLSEditorFrame::TLSPhases::myTableScroll
FXScrollWindow * myTableScroll
window for oversized phase tables
Definition: GNETLSEditorFrame.h:208
GNETLSEditorFrame::onUpdNeedsDefAndPhase
long onUpdNeedsDefAndPhase(FXObject *, FXSelector, void *)
Called when occurs an update of needs definition an dphase.
Definition: GNETLSEditorFrame.cpp:358
GNETLSEditorFrame::fixedDuration
bool fixedDuration() const
whether the current traffic light uses fixed phase durations
Definition: GNETLSEditorFrame.cpp:438
GNETLSEditorFrame::myPhaseIndex
int myPhaseIndex
index of the phase being shown
Definition: GNETLSEditorFrame.h:441
GNETLSEditorFrame::TLSAttributes::myProgramComboBox
FXComboBox * myProgramComboBox
the comboBox for selecting the tl-definition to edit
Definition: GNETLSEditorFrame.h:161
GNETLSEditorFrame::TLSAttributes::myNameLabel
FXLabel * myNameLabel
name label
Definition: GNETLSEditorFrame.h:152
GNETLSEditorFrame::buildIinternalLanes
void buildIinternalLanes(NBTrafficLightDefinition *tlDef)
builds internal lanes for the given tlDef
Definition: GNETLSEditorFrame.cpp:670
GNETLSEditorFrame::TLSFile::mySaveTLSProgramButton
FXButton * mySaveTLSProgramButton
button for save TLS Programs
Definition: GNETLSEditorFrame.h:295
GNETLSEditorFrame::onCmdDefAddOff
long onCmdDefAddOff(FXObject *, FXSelector, void *)
Called when the user adds a OFF.
Definition: GNETLSEditorFrame.cpp:404
GNETLSEditorFrame::myEditedDef
NBLoadedSUMOTLDef * myEditedDef
the traffic light definition being edited
Definition: GNETLSEditorFrame.h:438
GNETLSEditorFrame::myTLSDefinition
GNETLSEditorFrame::TLSDefinition * myTLSDefinition
modul for TLS Definition
Definition: GNETLSEditorFrame.h:419
GNETLSEditorFrame::TLSPhases::TLSPhases
TLSPhases(GNETLSEditorFrame *TLSEditorParent)
constructor
Definition: GNETLSEditorFrame.cpp:1002
GNETLSEditorFrame::myTLSFile
GNETLSEditorFrame::TLSFile * myTLSFile
modul for load/Save TLS Programs
Definition: GNETLSEditorFrame.h:431
GNETLSEditorFrame::TLSAttributes::myProgramLabel
FXLabel * myProgramLabel
program label
Definition: GNETLSEditorFrame.h:158
GNETLSEditorFrame::TLSModifications::mySaveModificationsButtons
FXButton * mySaveModificationsButtons
button for save modifications
Definition: GNETLSEditorFrame.h:250
GNETLSEditorFrame::TLSPhases::myInsertDuplicateButton
FXButton * myInsertDuplicateButton
insert new phase button
Definition: GNETLSEditorFrame.h:217
GNEInternalLane
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
Definition: GNEInternalLane.h:43
GNETLSEditorFrame::TLSPhases::myPhaseTable
FXTable * myPhaseTable
table for selecting and rearranging phases and for changing duration
Definition: GNETLSEditorFrame.h:211
GNETLSEditorFrame::handleMultiChange
void handleMultiChange(GNELane *lane, FXObject *obj, FXSelector sel, void *data)
update phase definition for the current traffic light and phase
Definition: GNETLSEditorFrame.cpp:759
GNETLSEditorFrame::TLSJunction
FOX-declaration.
Definition: GNETLSEditorFrame.h:51
GNETLSEditorFrame::onCmdPhaseSwitch
long onCmdPhaseSwitch(FXObject *, FXSelector, void *)
Called when the user switchs a Phase.
Definition: GNETLSEditorFrame.cpp:416
GNETLSEditorFrame::TLSFile::onCmdLoadTLSProgram
long onCmdLoadTLSProgram(FXObject *, FXSelector, void *)
Definition: GNETLSEditorFrame.cpp:1189
GNETLSEditorFrame::TLSPhases::updateCycleDuration
void updateCycleDuration()
recomputes cycle duration and updates label
Definition: GNETLSEditorFrame.cpp:1127
GNETLSEditorFrame::TLSModifications::myDiscardModificationsButtons
FXButton * myDiscardModificationsButtons
button for cancel modifications
Definition: GNETLSEditorFrame.h:247
GNETLSEditorFrame::onCmdCleanup
long onCmdCleanup(FXObject *, FXSelector, void *)
Called when the user cleans up states.
Definition: GNETLSEditorFrame.cpp:525
GNETLSEditorFrame::onCmdToggle
long onCmdToggle(FXObject *, FXSelector, void *)
Called when the user presses the button Toogle.
GNETLSEditorFrame::TLSModifications::myHaveModifications
bool myHaveModifications
whether the current tls was modified
Definition: GNETLSEditorFrame.h:253
GNETLSEditorFrame::onCmdAddUnused
long onCmdAddUnused(FXObject *, FXSelector, void *)
Called when the user cleans up states.
Definition: GNETLSEditorFrame.cpp:534
GNETLSEditorFrame
Definition: GNETLSEditorFrame.h:41
GNETLSEditorFrame::TLSPhases::showCycleDuration
void showCycleDuration()
show cycle duration
Definition: GNETLSEditorFrame.cpp:1116
GNETLSEditorFrame::myInternalLanes
TLIndexMap myInternalLanes
Definition: GNETLSEditorFrame.h:435
GNETLSEditorFrame::TLSJunction::myTLSEditorParent
GNETLSEditorFrame * myTLSEditorParent
pointer to TLSEditor Parent
Definition: GNETLSEditorFrame.h:71
GNEJunction
Definition: GNEJunction.h:48
GNEFrame.h
GNETLSEditorFrame::TLSAttributes::TLSAttributes
TLSAttributes(GNETLSEditorFrame *TLSEditorParent)
constructor
Definition: GNETLSEditorFrame.cpp:827
GNELane
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:46
GNETLSEditorFrame::TLSDefinition
Definition: GNETLSEditorFrame.h:93
GNETLSEditorFrame::TLIndexMap
std::map< int, std::vector< GNEInternalLane * > > TLIndexMap
the internal lanes belonging the the current junction indexed by their tl-index
Definition: GNETLSEditorFrame.h:434
GNETLSEditorFrame::TLSAttributes::clearTLSAttributes
void clearTLSAttributes()
clear TLS attributes
Definition: GNETLSEditorFrame.cpp:879
NBTrafficLightDefinition
The base class for traffic light logic definitions.
Definition: NBTrafficLightDefinition.h:68
GNETLSEditorFrame::TLSAttributes::myTLSEditorParent
GNETLSEditorFrame * myTLSEditorParent
pointer to TLSEditorParent
Definition: GNETLSEditorFrame.h:146
GNETLSEditorFrame::TLSFile
Definition: GNETLSEditorFrame.h:260
GNETLSEditorFrame::TLSAttributes::myNameTextField
FXTextField * myNameTextField
name text field
Definition: GNETLSEditorFrame.h:155
NBLoadedSUMOTLDef
A loaded (complete) traffic light logic.
Definition: NBLoadedSUMOTLDef.h:45