Eclipse SUMO - Simulation of Urban MObility
GNEChange_Children.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 // A network change used to modify sorting of hierarchical element childrens
16 /****************************************************************************/
17 #ifndef GNEChange_Children_h
18 #define GNEChange_Children_h
19 
20 // ===========================================================================
21 // included modules
22 // ===========================================================================
23 #include <config.h>
24 
25 #include "GNEChange.h"
26 
27 // ===========================================================================
28 // class declarations
29 // ===========================================================================
30 
31 class GNEViewNet;
32 class GNEDemandElement;
33 
34 // ===========================================================================
35 // class definitions
36 // ===========================================================================
41 class GNEChange_Children : public GNEChange {
42  FXDECLARE_ABSTRACT(GNEChange_Children)
43 
44 public:
45  // @brief operation over demand element child
46  enum Operation {
47  MOVE_FRONT = 0, // Move element one position front
48  MOVE_BACK = 1 // Move element one position back
49  };
50 
55  GNEChange_Children(GNEDemandElement* demandElementParent, GNEDemandElement* demandElementChild, const Operation operation);
56 
59 
63  FXString undoName() const;
64 
66  FXString redoName() const;
67 
69  void undo();
70 
72  void redo();
74 
75 private:
80 
83 
84  // @brief Operation to be apply
86 
88  const std::vector<GNEDemandElement*> myOriginalElementChildren;
89 
91  std::vector<GNEDemandElement*> myEditedElementChildren;
92 };
93 
94 #endif
95 /****************************************************************************/
GNEDemandElement
An Element which don't belongs to GNENet but has influency in the simulation.
Definition: GNEDemandElement.h:54
GNEChange.h
GNEChange_Children::redo
void redo()
redo action
Definition: GNEChange_Children.cpp:106
GNEViewNet
Definition: GNEViewNet.h:43
GNEChange_Children::myOperation
const Operation myOperation
Definition: GNEChange_Children.h:85
GNEChange_Children::myDemandElementParent
GNEDemandElement * myDemandElementParent
full information regarding the demand element parent element that will be modified
Definition: GNEChange_Children.h:79
GNEChange_Children
Definition: GNEChange_Children.h:41
GNEChange_Children::MOVE_BACK
Definition: GNEChange_Children.h:48
GNEChange_Children::Operation
Operation
Definition: GNEChange_Children.h:46
GNEChange_Children::myOriginalElementChildren
const std::vector< GNEDemandElement * > myOriginalElementChildren
copy of demand element childrens before apply operation
Definition: GNEChange_Children.h:88
GNEChange_Children::GNEChange_Children
GNEChange_Children(GNEDemandElement *demandElementParent, GNEDemandElement *demandElementChild, const Operation operation)
Constructor for creating/deleting an additional element.
Definition: GNEChange_Children.cpp:38
GNEChange_Children::myEditedElementChildren
std::vector< GNEDemandElement * > myEditedElementChildren
element childrens after apply operation
Definition: GNEChange_Children.h:91
GNEChange_Children::myDemandElementChild
GNEDemandElement * myDemandElementChild
demand element which position will be edited edited
Definition: GNEChange_Children.h:82
config.h
GNEChange_Children::undoName
FXString undoName() const
return undoName
Definition: GNEChange_Children.cpp:140
GNEChange_Children::undo
void undo()
undo action
Definition: GNEChange_Children.cpp:72
GNEChange_Children::redoName
FXString redoName() const
get Redo name
Definition: GNEChange_Children.cpp:164
GNEChange
the function-object for an editing operation (abstract base)
Definition: GNEChange.h:43
GNEChange_Children::MOVE_FRONT
Definition: GNEChange_Children.h:47
GNEChange_Children::~GNEChange_Children
~GNEChange_Children()
Destructor.
Definition: GNEChange_Children.cpp:65