SUMO - Simulation of Urban MObility
GNEChange_TLS.h
Go to the documentation of this file.
1 /****************************************************************************/
7 // A network change in which a traffic light is created or deleted
8 /****************************************************************************/
9 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
10 // Copyright (C) 2001-2016 DLR (http://www.dlr.de/) and contributors
11 /****************************************************************************/
12 //
13 // This file is part of SUMO.
14 // SUMO is free software: you can redistribute it and/or modify
15 // it under the terms of the GNU General Public License as published by
16 // the Free Software Foundation, either version 3 of the License, or
17 // (at your option) any later version.
18 //
19 /****************************************************************************/
20 #ifndef GNEChange_TLS_h
21 #define GNEChange_TLS_h
22 
23 
24 // ===========================================================================
25 // included modules
26 // ===========================================================================
27 #ifdef _MSC_VER
28 #include <windows_config.h>
29 #else
30 #include <config.h>
31 #endif
32 
33 #include <fx.h>
35 #include "GNEChange.h"
36 
37 // ===========================================================================
38 // class declarations
39 // ===========================================================================
41 class GNEJunction;
42 
43 // ===========================================================================
44 // class definitions
45 // ===========================================================================
50 class GNEChange_TLS : public GNEChange {
51  FXDECLARE_ABSTRACT(GNEChange_TLS)
52 
53 public:
60  GNEChange_TLS(GNEJunction* junction, NBTrafficLightDefinition* tlDef, bool forward, bool forceInsert = false, const std::string tlID = "");
61 
64 
68  FXString undoName() const;
69 
71  FXString redoName() const;
72 
74  void undo();
75 
77  void redo();
79 
80 
81 private:
82  /* we need the junction because it is the target of our change commands
83  * we assume shared responsiblity for the junction via reference counting */
85 
86  /* the traffic light to be created/deleted. We assume no responsiblity for the pointer
87  * since it is hard to track by which NBnodes a tlDef is used (may be more than one). */
89 
92 };
93 
94 #endif
95 /****************************************************************************/
GNEJunction * myJunction
Definition: GNEChange_TLS.h:84
the function-object for an editing operation (abstract base)
Definition: GNEChange.h:49
void redo()
redo action
The base class for traffic light logic definitions.
bool myForceInsert
check if forceInsert is enabled
Definition: GNEChange_TLS.h:91
NBTrafficLightDefinition * myTlDef
Definition: GNEChange_TLS.h:88
~GNEChange_TLS()
Destructor.
void undo()
undo action
FXString redoName() const
get Redo name
FXString undoName() const
return undoName
GNEChange_TLS(GNEJunction *junction, NBTrafficLightDefinition *tlDef, bool forward, bool forceInsert=false, const std::string tlID="")
Constructor for creating/deleting an edge.