Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
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-2025 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
30class GNEDetector;
31
32// ===========================================================================
33// class definitions
34// ===========================================================================
35
39
40public:
43
46
48 FXuint openDialog(const std::vector<GNEAdditional*>& invalidSingleLaneAdditionals, const std::vector<GNEAdditional*>& invalidMultiLaneAdditionals);
49
51 void runInternalTest(const InternalTestStep::DialogTest* modalArguments);
52
55
57 long onCmdSelectOption(FXObject* obj, FXSelector, void*);
58
60 long onCmdAccept(FXObject*, FXSelector, void*);
61
63 long onCmdCancel(FXObject*, FXSelector, void*);
64
66
67protected:
69 FOX_CONSTRUCTOR(GNEFixAdditionalElements)
70
71
72 class AdditionalList : protected FXGroupBox {
73
74 public:
76 AdditionalList(GNEFixAdditionalElements* fixAdditionalPositions);
77
79 void updateList(const std::vector<GNEAdditional*>& invalidSingleLaneAdditionals, const std::vector<GNEAdditional*>& invalidMultiLaneAdditionals);
80
82 std::vector<GNEAdditional*> myInvalidSingleLaneAdditionals;
83
85 std::vector<GNEAdditional*> myInvalidMultiLaneAdditionals;
86
88 FXTable* myTable;
89
90 private:
93
96 };
97
100
101 public:
103 PositionOptions(GNEFixAdditionalElements* fixAdditionalPositions);
104
106 void selectOption(FXObject* option);
107
110
113
116
118 FXRadioButton* fixPositions;
119
121 FXRadioButton* saveInvalids;
122
124 FXRadioButton* selectInvalids;
125
126 private:
129
132 };
133
136
137 public:
139 ConsecutiveLaneOptions(GNEFixAdditionalElements* fixAdditionalPositions);
140
142 void selectOption(FXObject* option);
143
146
149
152
154 FXRadioButton* removeInvalidElements;
155
158
160 FXRadioButton* fixPositions;
161
162 private:
165
168 };
169
172
175
178
179private:
182
185};
std::vector< GNEAdditional * > myInvalidMultiLaneAdditionals
vector with the invalid multi-lane additionals
AdditionalList(const AdditionalList &)=delete
Invalidated copy constructor.
AdditionalList & operator=(const AdditionalList &)=delete
Invalidated assignment operator.
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 * removeInvalidElements
Option "remove invalid elements".
ConsecutiveLaneOptions(const ConsecutiveLaneOptions &)=delete
Invalidated copy constructor.
ConsecutiveLaneOptions & operator=(const ConsecutiveLaneOptions &)=delete
Invalidated assignment operator.
FXRadioButton * fixPositions
Option "Fix Positions and save".
FXRadioButton * buildConnectionBetweenLanes
Option "build connections between lanes".
FXRadioButton * activateFriendlyPosition
Option "Activate friendlyPos and save".
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 * fixPositions
Option "Fix Positions and save".
PositionOptions(const PositionOptions &)=delete
Invalidated copy constructor.
FXRadioButton * selectInvalids
Option "Select invalid stops and cancel".
PositionOptions & operator=(const PositionOptions &)=delete
Invalidated assignment operator.
FXRadioButton * activateFriendlyPosition
Option "Activate friendlyPos and save".
FXRadioButton * saveInvalids
Option "Save invalid".
void selectOption(FXObject *option)
select option
GNEFixAdditionalElements & operator=(const GNEFixAdditionalElements &)=delete
Invalidated assignment operator.
FXuint openDialog(const std::vector< GNEAdditional * > &invalidSingleLaneAdditionals, const std::vector< GNEAdditional * > &invalidMultiLaneAdditionals)
open fix additional dialog
PositionOptions * myPositionOptions
position options
long onCmdSelectOption(FXObject *obj, FXSelector, void *)
event when user select a option
ConsecutiveLaneOptions * myConsecutiveLaneOptions
consecutive lane options
long onCmdCancel(FXObject *, FXSelector, void *)
event after press cancel button
AdditionalList * myAdditionalList
Additional List.
void runInternalTest(const InternalTestStep::DialogTest *modalArguments)
run internal test
long onCmdAccept(FXObject *, FXSelector, void *)
event after press accept button
GNEFixAdditionalElements(const GNEFixAdditionalElements &)=delete
Invalidated copy constructor.
dialog arguments (used for certain functions that opens modal dialogs)
MFXGroupBoxModule (based on FXGroupBox)
every row value