Eclipse SUMO - Simulation of Urban MObility
GNEDialog_FixAdditionalElements.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 // Dialog used to fix additional elements
16 /****************************************************************************/
17 #ifndef GNEDialog_FixAdditionalElements_h
18 #define GNEDialog_FixAdditionalElements_h
19 
20 // ===========================================================================
21 // included modules
22 // ===========================================================================
23 
24 #include <config.h>
25 
26 #include <fx.h>
27 
28 // ===========================================================================
29 // class declarations
30 // ===========================================================================
31 class GNEStoppingPlace;
32 class GNEDetector;
33 class GNEViewNet;
34 
35 // ===========================================================================
36 // class definitions
37 // ===========================================================================
38 
43 class GNEDialog_FixAdditionalElements : public FXDialogBox {
46 
47 public:
49  GNEDialog_FixAdditionalElements(GNEViewNet* viewNet, const std::vector<GNEAdditional*>& invalidSingleLaneAdditionals, const std::vector<GNEAdditional*>& invalidMultiLaneAdditionals);
50 
53 
57  long onCmdSelectOption(FXObject* obj, FXSelector, void*);
58 
60  long onCmdAccept(FXObject*, FXSelector, void*);
61 
63  long onCmdCancel(FXObject*, FXSelector, void*);
65 
66 protected:
68  class AdditionalList : protected FXGroupBox {
69 
70  public:
72  AdditionalList(GNEDialog_FixAdditionalElements* fixAdditionalPositions, const std::vector<GNEAdditional*>& invalidSingleLaneAdditionals, const std::vector<GNEAdditional*>& invalidMultiLaneAdditionals);
73 
75  std::vector<GNEAdditional*> myInvalidSingleLaneAdditionals;
76 
78  std::vector<GNEAdditional*> myInvalidMultiLaneAdditionals;
79 
81  FXTable* myTable;
82  };
83 
85  class PositionOptions : public FXGroupBox {
86 
87  public:
89  PositionOptions(GNEDialog_FixAdditionalElements* fixAdditionalPositions);
90 
92  void selectOption(FXObject* option);
93 
95  void enablePositionOptions();
96 
98  void disablePositionOptions();
99 
102 
104  FXRadioButton* fixPositionsAndSave;
105 
107  FXRadioButton* saveInvalid;
108 
111  };
112 
114  class ConsecutiveLaneOptions : public FXGroupBox {
115 
116  public:
119 
121  void selectOption(FXObject* option);
122 
124  void enableConsecutiveLaneOptions();
125 
127  void disableConsecutiveLaneOptions();
128 
131 
133  FXRadioButton* removeInvalidElements;
134 
137 
139  FXRadioButton* fixPositionsAndSave;
140  };
141 
144 
147 
149  FXVerticalFrame* myMainFrame;
150 
153 
156 
159 
161  FXButton* myAcceptButton;
162 
164  FXButton* myCancelButton;
165 
166 private:
169 
172 };
173 
174 #endif
long onCmdCancel(FXObject *, FXSelector, void *)
event after press cancel button
long onCmdAccept(FXObject *, FXSelector, void *)
event after press accept button
long onCmdSelectOption(FXObject *obj, FXSelector, void *)
groupbox for group all radio buttons related to additionals with consecutive lanes ...
FXRadioButton * fixPositionsAndSave
Option "Fix Positions and save".
groupbox for group all radio buttons related to additionals with single lanes
AdditionalList(GNEDialog_FixAdditionalElements *fixAdditionalPositions, const std::vector< GNEAdditional *> &invalidSingleLaneAdditionals, const std::vector< GNEAdditional *> &invalidMultiLaneAdditionals)
constructor
FXRadioButton * activateFriendlyPositionAndSave
Option "Activate friendlyPos and save".
FXRadioButton * fixPositionsAndSave
Option "Fix Positions and save".
FXRadioButton * removeInvalidElements
Option "remove invalid elements".
FXRadioButton * buildConnectionBetweenLanes
Option "build connections between lanes".
FXRadioButton * selectInvalidStopsAndCancel
Option "Select invalid stops and cancel".
FXTable * myTable
list with the stoppingPlaces and detectors
std::vector< GNEAdditional * > myInvalidMultiLaneAdditionals
vector with the invalid multi-lane additionals
GNEDialog_FixAdditionalElements & operator=(const GNEDialog_FixAdditionalElements &)=delete
Invalidated assignment operator.
PositionOptions * myPositionOptions
position options
ConsecutiveLaneOptions * myConsecutiveLaneOptions
consecutive lane options
FXRadioButton * activateFriendlyPositionAndSave
Option "Activate friendlyPos and save".
AdditionalList * myAdditionalList
Additional List.
std::vector< GNEAdditional * > myInvalidSingleLaneAdditionals
vector with the invalid single-lane additionals