Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNEOptionsDialog.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// A Dialog for setting options (see OptionsCont)
19/****************************************************************************/
20#pragma once
21#include <config.h>
22
23#include <set>
29
31
32// ===========================================================================
33// class declaration
34// ===========================================================================
35
37class OptionsCont;
38
39// ===========================================================================
40// class definitions
41// ===========================================================================
48 FXDECLARE(GNEOptionsDialog)
49
50
52
53public:
63 static std::pair<int, bool> Options(GNEApplicationWindow* GNEApp, GUIIcon icon, OptionsCont& optionsContainer,
64 const OptionsCont& originalOptionsContainer, const char* titleName);
65
75 static std::pair<int, bool> Run(GNEApplicationWindow* GNEApp, GUIIcon icon, OptionsCont& optionsContainer,
76 const OptionsCont& originalOptionsContainer, const char* titleName);
77
80
82 void runInternalTest(const InternalTestStep::DialogTest* modalArguments);
83
86
88 long onCmdCancel(FXObject*, FXSelector, void*);
89
91 long onCmdReset(FXObject*, FXSelector, void*);
92
94 long onCmdRunNetgenerate(FXObject*, FXSelector, void*);
95
97 long onCmdSelectTopic(FXObject*, FXSelector, void*);
98
100 long onCmdSearch(FXObject*, FXSelector, void*);
101
103 long onCmdShowToolTipsMenu(FXObject*, FXSelector, void*);
104
106 long onCmdSaveOptions(FXObject*, FXSelector, void*);
107
109 long onCmdLoadOptions(FXObject*, FXSelector, void*);
110
112 long onCmdResetDefault(FXObject*, FXSelector, void*);
113
115
116protected:
119
122
125
128
130 bool myOptionsModified = false;
131
132private:
135
137 FXTreeList* myTopicsTreeList = nullptr;
138
140 FXTreeItem* myRootItem = nullptr;
141
143 FXVerticalFrame* myEntriesFrame = nullptr;
144
147
150
152 std::map<FXTreeItem*, std::string> myTreeItemTopics;
153
156
158 const std::set<std::string> myIgnoredTopics = {"Configuration"};
159
161 const std::set<std::string> myIgnoredEntries = {"geometry.remove", "edges.join", "geometry.split", "ramps.guess", "ramps.set"};
162
165
167 void updateVisibleEntriesBySearch(std::string searchText);
168
170 bool loadConfiguration(const std::string& file);
171
181 GNEOptionsDialog(GNEApplicationWindow* GNEApp, GUIIcon icon, OptionsCont& optionsContainer,
182 const OptionsCont& originalOptionsContainer, const char* titleName, const bool runDialog);
183
186
189};
GUIIcon
An enumeration of icons used by the gui applications.
Definition GUIIcons.h:33
The main window of Netedit.
long onCmdSaveOptions(FXObject *, FXSelector, void *)
save options
FXTreeItem * myRootItem
root item
FXTreeList * myTopicsTreeList
Topics elements tree.
void updateVisibleEntriesBySearch(std::string searchText)
update visible entries by search
GNEOptionsDialog & operator=(const GNEOptionsDialog &)=delete
Invalidated assignment operator.
MFXCheckableButton * myShowToolTipsMenu
checkable button for show toolTips
long onCmdCancel(FXObject *, FXSelector, void *)
called when user press cancel button
const std::set< std::string > myIgnoredEntries
ignores entries
const OptionsCont & myOriginalOptionsContainer
reference to original Option container
long onCmdSelectTopic(FXObject *, FXSelector, void *)
called when user select a topic in the list
std::vector< GNEOptionsDialogElements::InputOption * > myInputOptionEntries
Input option entries.
const std::set< std::string > myIgnoredTopics
ignores topics
long onCmdReset(FXObject *, FXSelector, void *)
called when user press reset button
std::map< FXTreeItem *, std::string > myTreeItemTopics
map with topics and their associated FXTreeItem
GNEApplicationWindow * myGNEApp
pointer to main window parent
MFXTextFieldSearch * mySearchButton
search button
static std::pair< int, bool > Run(GNEApplicationWindow *GNEApp, GUIIcon icon, OptionsCont &optionsContainer, const OptionsCont &originalOptionsContainer, const char *titleName)
Constructor for run dialogs.
bool loadConfiguration(const std::string &file)
load configuration
static std::pair< int, bool > Options(GNEApplicationWindow *GNEApp, GUIIcon icon, OptionsCont &optionsContainer, const OptionsCont &originalOptionsContainer, const char *titleName)
Constructor for options dialogs.
GNEOptionsDialog(const GNEOptionsDialog &)=delete
Invalidated copy constructor.
OptionsCont & myOptionsContainer
reference to edited Option container
FXVerticalFrame * myEntriesFrame
vertical frame for entries
void runInternalTest(const InternalTestStep::DialogTest *modalArguments)
run internal test
MFXCheckButtonTooltip * myDescriptionSearchCheckButton
checkbox for enable/disable search by description
long onCmdShowToolTipsMenu(FXObject *, FXSelector, void *)
enable/disable show toolTip
long onCmdResetDefault(FXObject *, FXSelector, void *)
reset default
long onCmdSearch(FXObject *, FXSelector, void *)
called when user searches
long onCmdLoadOptions(FXObject *, FXSelector, void *)
load options
bool myOptionsModified
flag for check if options was modified
bool updateVisibleEntriesByTopic()
update visible entries by selected topic
GNEOptionsDialog()
FOX needs this.
long onCmdRunNetgenerate(FXObject *, FXSelector, void *)
called when user press reset button
FXTextFieldIcon (based on FXTextFieldIcon)
A storage for options typed value containers)
Definition OptionsCont.h:89
Definition json.hpp:4471
every row value