80 FXTabBook* tabbook =
new FXTabBook(contentFrame,
nullptr, 0,
GUIDesignTabBook);
84 if (topic !=
"Configuration") {
85 new FXTabItem(tabbook, topic.c_str(),
nullptr, TAB_LEFT_NORMAL);
86 FXScrollWindow* scrollTab =
new FXScrollWindow(tabbook, LAYOUT_FILL_X | LAYOUT_FILL_Y);
87 FXVerticalFrame* tabContent =
new FXVerticalFrame(scrollTab, FRAME_THICK | FRAME_RAISED | LAYOUT_FILL_X | LAYOUT_FILL_Y);
89 for (
const auto& entry : entries) {
90 if (entry !=
"geometry.remove" && entry !=
"edges.join" && entry !=
"geometry.split" && entry !=
"ramps.guess" && entry !=
"ramps.set") {
94 }
else if (type ==
"FILE") {
96 }
else if (type ==
"BOOL") {
98 }
else if (type ==
"INT") {
100 }
else if (type ==
"FLOAT") {
102 }
else if (type ==
"INT[]") {
104 }
else if (type ==
"STR[]") {
123 FXHorizontalFrame(parent, LAYOUT_FILL_X),
126 new FXLabel(
this, (name +
"\t\t" + oc.
getDescription(name)).c_str());
127 myTextField =
new FXTextField(
this, 100,
this,
MID_GNE_SET_ATTRIBUTE, TEXTFIELD_NORMAL | LAYOUT_RIGHT, 0, 0, 0, 0, 4, 2, 0, 2);
136 oc.
set(myName, myTextField->getText().text());
142 FXHorizontalFrame(parent, LAYOUT_FILL_X),
145 new FXLabel(
this, (name +
"\t\t" + oc.
getDescription(name)).c_str());
146 myTextField =
new FXTextField(
this, 100,
this,
MID_GNE_SET_ATTRIBUTE, TEXTFIELD_NORMAL | LAYOUT_RIGHT, 0, 0, 0, 0, 4, 2, 0, 2);
155 oc.
set(myName, myTextField->getText().text());
161 FXHorizontalFrame(parent, LAYOUT_FILL_X),
164 new FXLabel(
this, (name +
"\t\t" + oc.
getDescription(name)).c_str());
174 oc.
set(myName, myCheck->getCheck() ?
"true" :
"false");
176 if ((myName ==
"gui-testing-debug") && oc.
isSet(
"gui-testing-debug")) {
179 if ((myName ==
"gui-testing-debug-gl") && oc.
isSet(
"gui-testing-debug-gl")) {
187 FXHorizontalFrame(parent, LAYOUT_FILL_X),
190 new FXLabel(
this, (name +
"\t\t" + oc.
getDescription(name)).c_str());
191 myTextField =
new FXTextField(
this, 100,
this,
MID_GNE_SET_ATTRIBUTE, TEXTFIELD_INTEGER | LAYOUT_RIGHT, 0, 0, 0, 0, 4, 2, 0, 2);
200 oc.
set(myName, myTextField->getText().text());
206 FXHorizontalFrame(parent, LAYOUT_FILL_X),
209 new FXLabel(
this, (name +
"\t\t" + oc.
getDescription(name)).c_str());
210 myTextField =
new FXTextField(
this, 100,
this,
MID_GNE_SET_ATTRIBUTE, TEXTFIELD_NORMAL | LAYOUT_RIGHT, 0, 0, 0, 0, 4, 2, 0, 2);
220 for (
const auto& intValue : intVector) {
225 oc.
set(myName, myTextField->getText().text());
226 myTextField->setTextColor(FXRGB(0, 0, 0));
228 myTextField->setTextColor(FXRGB(255, 0, 0));
235 FXHorizontalFrame(parent, LAYOUT_FILL_X),
238 new FXLabel(
this, (name +
"\t\t" + oc.
getDescription(name)).c_str());
239 myTextField =
new FXTextField(
this, 100,
this,
MID_GNE_SET_ATTRIBUTE, TEXTFIELD_REAL | LAYOUT_RIGHT, 0, 0, 0, 0, 4, 2, 0, 2);
248 oc.
set(myName, myTextField->getText().text());
254 FXHorizontalFrame(parent, LAYOUT_FILL_X),
257 new FXLabel(
this, (name +
"\t\t" + oc.
getDescription(name)).c_str());
258 myTextField =
new FXTextField(
this, 100,
this,
MID_GNE_SET_ATTRIBUTE, TEXTFIELD_NORMAL | LAYOUT_RIGHT, 0, 0, 0, 0, 4, 2, 0, 2);
268 oc.
set(myName, myTextField->getText().text());
269 myTextField->setTextColor(FXRGB(0, 0, 0));
271 myTextField->setTextColor(FXRGB(255, 0, 0));
@ MID_GNE_SET_ATTRIBUTE
attribute edited
#define GUIDesignTabBook
desgin for TabBooks
#define GUIDesignContentsFrame
design for the main content frame of every frame/dialog
#define GUIDesignDialogBox
#define GUIDesignButtonOK
#define GUIDesignStatusBar
design used in status bar
FXDEFMAP(GUIDialog_Options::InputString) InputStringMap[]
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
~GUIDialog_Options()
Destructor.
static FXIcon * getIcon(const GUIIcon which)
returns a icon previously defined in the enum GUIIcon
static void enableDebugGLMessages(bool enable)
enable/disable gl-debug messages
static void enableDebugMessages(bool enable)
enable/disable debug messages
A storage for options typed value containers)
bool isSet(const std::string &name, bool failOnNonExistant=true) const
Returns the information whether the named option is set.
double getFloat(const std::string &name) const
Returns the double-value of the named option (only for Option_Float)
bool set(const std::string &name, const std::string &value)
Sets the given value for the named option.
int getInt(const std::string &name) const
Returns the int-value of the named option (only for Option_Integer)
std::vector< std::string > getSubTopicsEntries(const std::string &subtopic) const
return the list of entries for the given subtopic
const IntVector & getIntVector(const std::string &name) const
Returns the list of integer-value of the named option (only for Option_IntVector)
std::string getString(const std::string &name) const
Returns the string-value of the named option (only for Option_String)
const std::vector< std::string > & getSubTopics() const
return the list of subtopics
std::string getTypeName(const std::string name)
return the type name for the given option
bool getBool(const std::string &name) const
Returns the boolean-value of the named option (only for Option_Bool)
const StringVector & getStringVector(const std::string &name) const
Returns the list of string-value of the named option (only for Option_StringVector)
const std::string & getDescription(const std::string &name) const
Returns the option description.
void resetWritable()
Resets all options to be writeable.
static OptionsCont & getOptions()
Retrieves the options.
static bool isValidFilename(const std::string &value)
whether the given string is a valid attribute for a filename (for example, a name)
std::vector< std::string > getVector()
return vector of strings
static int toInt(const std::string &sData)
converts a string into the integer value described by it by calling the char-type converter,...