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 /****************************************************************************/
14 // A network change used to modify sorting of hierarchical element childrens
15 /****************************************************************************/
16 #ifndef GNEChange_Children_h
17 #define GNEChange_Children_h
18 
19 // ===========================================================================
20 // included modules
21 // ===========================================================================
22 #include <config.h>
23 
24 #include "GNEChange.h"
25 
26 // ===========================================================================
27 // class declarations
28 // ===========================================================================
29 
30 class GNEViewNet;
31 class GNEDemandElement;
32 
33 // ===========================================================================
34 // class definitions
35 // ===========================================================================
40 class GNEChange_Children : public GNEChange {
41  FXDECLARE_ABSTRACT(GNEChange_Children)
42 
43 public:
44  // @brief operation over child demand element
45  enum Operation {
46  MOVE_FRONT = 0, // Move element one position front
47  MOVE_BACK = 1 // Move element one position back
48  };
49 
54  GNEChange_Children(GNEDemandElement* demandElementParent, GNEDemandElement* demandElementChild, const Operation operation);
55 
58 
62  FXString undoName() const;
63 
65  FXString redoName() const;
66 
68  void undo();
69 
71  void redo();
73 
74 private:
79 
82 
83  // @brief Operation to be apply
85 
87  const std::vector<GNEDemandElement*> myOriginalChildElements;
88 
90  std::vector<GNEDemandElement*> myEditedChildElements;
91 };
92 
93 #endif
94 /****************************************************************************/
GNEDemandElement
An Element which don't belongs to GNENet but has influency in the simulation.
Definition: GNEDemandElement.h:55
GNEChange_Children::myChildDemandElement
GNEDemandElement * myChildDemandElement
demand element which position will be edited edited
Definition: GNEChange_Children.h:81
GNEChange_Children::myParentDemandElement
GNEDemandElement * myParentDemandElement
full information regarding the parent demand element element that will be modified
Definition: GNEChange_Children.h:78
GNEChange.h
GNEChange_Children::redo
void redo()
redo action
Definition: GNEChange_Children.cpp:105
GNEViewNet
Definition: GNEViewNet.h:42
GNEChange_Children::myOperation
const Operation myOperation
Definition: GNEChange_Children.h:84
GNEChange_Children
Definition: GNEChange_Children.h:40
GNEChange_Children::MOVE_BACK
@ MOVE_BACK
Definition: GNEChange_Children.h:47
GNEChange_Children::Operation
Operation
Definition: GNEChange_Children.h:45
GNEChange_Children::GNEChange_Children
GNEChange_Children(GNEDemandElement *demandElementParent, GNEDemandElement *demandElementChild, const Operation operation)
Constructor for creating/deleting an additional element.
Definition: GNEChange_Children.cpp:37
GNEChange_Children::myOriginalChildElements
const std::vector< GNEDemandElement * > myOriginalChildElements
copy of child demand elementss before apply operation
Definition: GNEChange_Children.h:87
GNEChange_Children::myEditedChildElements
std::vector< GNEDemandElement * > myEditedChildElements
element childrens after apply operation
Definition: GNEChange_Children.h:90
config.h
GNEChange_Children::undoName
FXString undoName() const
return undoName
Definition: GNEChange_Children.cpp:139
GNEChange_Children::undo
void undo()
undo action
Definition: GNEChange_Children.cpp:71
GNEChange_Children::redoName
FXString redoName() const
get Redo name
Definition: GNEChange_Children.cpp:163
GNEChange
the function-object for an editing operation (abstract base)
Definition: GNEChange.h:42
GNEChange_Children::MOVE_FRONT
@ MOVE_FRONT
Definition: GNEChange_Children.h:46
GNEChange_Children::~GNEChange_Children
~GNEChange_Children()
Destructor.
Definition: GNEChange_Children.cpp:64