#include "ModuleBase_IconFactory.h"
#include <ModelAPI_AttributeInteger.h>
+#include <ModelAPI_AttributeStringArray.h>
#include <ModelAPI_Data.h>
#include <Config_WidgetAPI.h>
+#include <Config_PropManager.h>
#include <QWidget>
#include <QLayout>
#include <QRadioButton>
#include <QToolButton>
-
ModuleBase_WidgetChoice::ModuleBase_WidgetChoice(QWidget* theParent,
const Config_WidgetAPI* theData)
: ModuleBase_ModelWidget(theParent, theData), myCombo(0), myButtons(0)
foreach(QString aType, QString(aTypes.c_str()).split(' ')) {
aList.append(translate(aType.toStdString()));
}
-
+ if (aTypes.empty()) {
+ myStringListAttribute = theData->getProperty("string_list_attribute");
+ if (!myStringListAttribute.empty())
+ aList.clear();
+ }
if (theData->getBooleanAttribute("use_in_title", false))
myButtonTitles = aList;
if (aIntAttr->value() != -1) {
if (myCombo) {
+ if (myCombo->count() == 0 && !myStringListAttribute.empty()) {
+ AttributeStringArrayPtr aStrAttr = aData->stringArray(myStringListAttribute);
+ if (aStrAttr) {
+ for (int i = 0; i < aStrAttr->size(); i++) {
+ myCombo->insertItem(i, aStrAttr->value(i).c_str());
+ }
+ }
+ }
bool isBlocked = myCombo->blockSignals(true);
myCombo->setCurrentIndex(aIntAttr->value());
myCombo->blockSignals(isBlocked);