C++ (Qt)class Option{QString displayName;QString argument;QString currentValue;QString currentDescription;bool enabled;QMap<QString, QString> availableValues; // 1-й QString (key) - значение, 2-й QString (value) - описание}
C++ (Qt)displayName = "Optimization level";argument = ""; // пустоcurrentValue = "-O2";currentDescription = "бла-бла описание что делает O2";enabled = true; // если оно выбрано // эта мапа будет использоваться для заполнения делегата-ComboBox чтобы показать все доступные уровни оптимизацииavailableValues["-O0"] = "бла-бла описание что делает";availableValues["-O1"] = "бла-бла описание что делает";...availableValues["-Ofast"] = "бла-бла описание что делает";
+----------------------+--------+----------+| Name | Value | Enabled |+----------------------+--------+----------+| Optimization level | -O2 V | [x] |+----------------------+--------+----------+
C++ (Qt)QString result = argument + currentValue; // -> -O2
C++ (Qt)displayName = "Language standard";argument = "-std=";currentValue = "c++03";currentDescription = "бла-бла описание что делает c++03";enabled = true; // если оно выбрано // эта мапа будет использоваться для заполнения делегата-ComboBox чтобы показать все доступные уровни оптимизацииavailableValues["c90"] = "бла-бла описание что делает";availableValues["c99"] = "бла-бла описание что делает";...availableValues["c++11"] = "бла-бла описание что делает";
+--------------------------------+--------+----------+| Name | Value | Enabled |+--------------------------------+--------+----------+| Language standard [-std=] | c++03 | [x] |+--------------------------------+--------+----------+
C++ (Qt)QString result = argument + currentValue; // -> -std=c++03
C++ (Qt)displayName = "Produce debugging information";argument = ""; // пустоcurrentValue = "-g";currentDescription = "бла-бла описание что делает -g";enabled = true; // если оно выбрано // эта мапа будет содержать одно значение (или вообще пустая - тут надо подумать)availableValues["-g"] = "бла-бла описание что делает";
+------------------------------------+--------+----------+| Name | Value | Enabled |+------------------------------------+--------+----------+| Produce debugging information | -g | [x] |+------------------------------------+--------+----------+
C++ (Qt)QString result = argument + currentValue; // -> -g
C++ (Qt)QStringList Model::arguments() const;