+ ModuleBase_ModelWidget* result = NULL;
+
+ if (theType == WDG_INFO) {
+ result = new ModuleBase_WidgetLabel(theParent, myWidgetApi, myParentId);
+ } else if (theType == WDG_ERRORINFO) {
+ result = new ModuleBase_WidgetErrorLabel(theParent, myWidgetApi, myParentId);
+ } else if (theType == WDG_DOUBLEVALUE) {
+ result = new ModuleBase_WidgetDoubleValue(theParent, myWidgetApi, myParentId);
+ } else if (theType == WDG_INTEGERVALUE) {
+ result = new ModuleBase_WidgetIntValue(theParent, myWidgetApi, myParentId);
+ } else if (theType == WDG_SHAPE_SELECTOR) {
+ result = new ModuleBase_WidgetShapeSelector(theParent, myWorkshop, myWidgetApi, myParentId);
+ } else if (theType == WDG_BOOLVALUE) {
+ result = new ModuleBase_WidgetBoolValue(theParent, myWidgetApi, myParentId);
+ //} else if (theType == WDG_DOUBLEVALUE_EDITOR) {
+ // result = new ModuleBase_WidgetEditor(theParent, myWidgetApi, myParentId);
+ } else if (theType == WDG_FILE_SELECTOR) {
+ result = new ModuleBase_WidgetFileSelector(theParent, myWidgetApi, myParentId);
+ } else if (theType == WDG_CHOICE) {
+ result = new ModuleBase_WidgetChoice(theParent, myWidgetApi, myParentId);
+ } else if (theType == WDG_STRINGVALUE) {
+ std::string aPlaceHolder = myWidgetApi->getProperty( WDG_PLACE_HOLDER );
+ result = new ModuleBase_WidgetLineEdit( theParent, myWidgetApi, myParentId, aPlaceHolder );
+ } else if (theType == WDG_EXPR_EDITOR) {
+ std::string aPlaceHolder = myWidgetApi->getProperty( WDG_PLACE_HOLDER );
+ result = new ModuleBase_WidgetExprEditor( theParent, myWidgetApi, myParentId, aPlaceHolder );
+ } else if (theType == WDG_MULTISELECTOR) {
+ result = new ModuleBase_WidgetMultiSelector(theParent, myWorkshop, myWidgetApi, myParentId);