3 #ifndef SCENEVIEW_PARAM_WIDGET_HPP__
4 #define SCENEVIEW_PARAM_WIDGET_HPP__
11 #include <QVBoxLayout>
37 typedef std::pair<QString, int> EnumItem;
38 typedef std::vector<EnumItem> EnumVector;
44 bool initially_checked;
58 void AddEnum(
const QString& name,
59 const EnumVector& items,
61 DisplayHint display_hint);
73 void AddBoolean(
const QString& name,
bool initial_value,
74 DisplayHint display_hint);
91 void AddBooleans(
const std::vector<BoolItem>& to_add,
92 DisplayHint display_hint);
106 void AddInt(
const QString& name,
107 int min,
int max,
int step,
109 DisplayHint display_hint);
124 double min,
double max,
double step,
125 double initial_value,
126 DisplayHint display_hint);
149 void AddString(
const QString& name,
const QString& initial_value);
151 int GetEnum(
const QString& name);
153 QString GetEnumString(
const QString& name);
155 bool GetBool(
const QString& name);
157 int GetInt(
const QString& name);
159 double GetDouble(
const QString& name);
161 QString GetString(
const QString& name);
163 void SetEnum(
const QString& name,
int val);
165 void SetBool(
const QString& name,
bool val);
167 void SetInt(
const QString& name,
int val);
169 void SetDouble(
const QString& name,
double val);
171 void SetString(
const QString& name,
const QString& val);
173 void SetPrecision(
const QString& name,
int digits,
int decimal_places);
175 void SetEnabled(
const QString& name,
bool enabled);
177 QVariant SaveState();
179 void LoadState(
const QVariant& variant);
182 void ParamChanged(
const QString& name);
193 void ExpectNameNotFound(
const QString& name);
195 void AddLabeledRow(
const QString& name, QWidget* widget);
197 QWidget* GetWidget(
const QString& name);
199 QVBoxLayout* layout_;
201 std::map<QString, QWidget*> widgets_;
206 #endif // SCENEVIEW_PARAM_WIDGET_HPP__