Eclipse SUMO - Simulation of Urban MObility
GNEFixAdditionalElements.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2001-2024 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials are made available under the
5 // terms of the Eclipse Public License 2.0 which is available at
6 // https://www.eclipse.org/legal/epl-2.0/
7 // This Source Code may also be made available under the following Secondary
8 // Licenses when the conditions for such availability set forth in the Eclipse
9 // Public License 2.0 are satisfied: GNU General Public License, version 2
10 // or later which is available at
11 // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 /****************************************************************************/
18 // Dialog used to fix additional elements
19 /****************************************************************************/
20 #pragma once
21 #include <config.h>
22 
24 
25 // ===========================================================================
26 // class declarations
27 // ===========================================================================
28 class GNEStoppingPlace;
29 class GNEDetector;
30 class GNEViewNet;
31 
32 // ===========================================================================
33 // class definitions
34 // ===========================================================================
35 
40 class GNEFixAdditionalElements : public FXDialogBox {
42  FXDECLARE(GNEFixAdditionalElements)
43 
44 public:
46  GNEFixAdditionalElements(GNEViewNet* viewNet, const std::vector<GNEAdditional*>& invalidSingleLaneAdditionals, const std::vector<GNEAdditional*>& invalidMultiLaneAdditionals);
47 
50 
54  long onCmdSelectOption(FXObject* obj, FXSelector, void*);
55 
57  long onCmdAccept(FXObject*, FXSelector, void*);
58 
60  long onCmdCancel(FXObject*, FXSelector, void*);
62 
63 protected:
65  class AdditionalList : protected FXGroupBox {
66 
67  public:
69  AdditionalList(GNEFixAdditionalElements* fixAdditionalPositions, const std::vector<GNEAdditional*>& invalidSingleLaneAdditionals, const std::vector<GNEAdditional*>& invalidMultiLaneAdditionals);
70 
72  std::vector<GNEAdditional*> myInvalidSingleLaneAdditionals;
73 
75  std::vector<GNEAdditional*> myInvalidMultiLaneAdditionals;
76 
78  FXTable* myTable;
79  };
80 
83 
84  public:
86  PositionOptions(GNEFixAdditionalElements* fixAdditionalPositions);
87 
89  void selectOption(FXObject* option);
90 
92  void enablePositionOptions();
93 
96 
99 
101  FXRadioButton* fixPositionsAndSave;
102 
104  FXRadioButton* saveInvalid;
105 
108  };
109 
112 
113  public:
115  ConsecutiveLaneOptions(GNEFixAdditionalElements* fixAdditionalPositions);
116 
118  void selectOption(FXObject* option);
119 
122 
125 
128 
130  FXRadioButton* removeInvalidElements;
131 
134 
136  FXRadioButton* fixPositionsAndSave;
137  };
138 
139  FOX_CONSTRUCTOR(GNEFixAdditionalElements)
140 
141 
143 
145  FXVerticalFrame* myMainFrame;
146 
149 
152 
155 
157  FXButton* myAcceptButton;
158 
160  FXButton* myCancelButton;
161 
162 private:
165 
168 };
std::vector< GNEAdditional * > myInvalidMultiLaneAdditionals
vector with the invalid multi-lane additionals
AdditionalList(GNEFixAdditionalElements *fixAdditionalPositions, const std::vector< GNEAdditional * > &invalidSingleLaneAdditionals, const std::vector< GNEAdditional * > &invalidMultiLaneAdditionals)
constructor
FXTable * myTable
list with the stoppingPlaces and detectors
std::vector< GNEAdditional * > myInvalidSingleLaneAdditionals
vector with the invalid single-lane additionals
groupbox for group all radio buttons related to additionals with consecutive lanes
FXRadioButton * activateFriendlyPositionAndSave
Option "Activate friendlyPos and save".
ConsecutiveLaneOptions(GNEFixAdditionalElements *fixAdditionalPositions)
build consecutive lane Options
FXRadioButton * removeInvalidElements
Option "remove invalid elements".
FXRadioButton * fixPositionsAndSave
Option "Fix Positions and save".
FXRadioButton * buildConnectionBetweenLanes
Option "build connections between lanes".
void disableConsecutiveLaneOptions()
disable consecutive lane options
void enableConsecutiveLaneOptions()
enable consecutive lane options
groupbox for group all radio buttons related to additionals with single lanes
FXRadioButton * fixPositionsAndSave
Option "Fix Positions and save".
FXRadioButton * selectInvalidStopsAndCancel
Option "Select invalid stops and cancel".
FXRadioButton * activateFriendlyPositionAndSave
Option "Activate friendlyPos and save".
void disablePositionOptions()
disable position options
PositionOptions(GNEFixAdditionalElements *fixAdditionalPositions)
build Position Options
void selectOption(FXObject *option)
select option
FXRadioButton * saveInvalid
Option "Save invalid".
Dialog for edit rerouters.
PositionOptions * myPositionOptions
position options
long onCmdSelectOption(FXObject *obj, FXSelector, void *)
FXButton * myCancelButton
cancel button
FXButton * myAcceptButton
accept button
ConsecutiveLaneOptions * myConsecutiveLaneOptions
consecutive lane options
long onCmdCancel(FXObject *, FXSelector, void *)
event after press cancel button
GNEFixAdditionalElements(GNEViewNet *viewNet, const std::vector< GNEAdditional * > &invalidSingleLaneAdditionals, const std::vector< GNEAdditional * > &invalidMultiLaneAdditionals)
FOX-declaration.
AdditionalList * myAdditionalList
Additional List.
FXVerticalFrame * myMainFrame
main
long onCmdAccept(FXObject *, FXSelector, void *)
event after press accept button
MFXGroupBoxModule (based on FXGroupBox)