QString BaseGenerator::getUiWidgetForType(BaseField::FieldType type) { switch(type) { case BaseField::TYPE_INT: return "QSpinBox"; case BaseField::TYPE_DOUBLE: { switch (static_cast<const DoubleFieldGen *>(field)->widgetType) { case doubleSpinBox: return "QDoubleSpinBox"; case exponentialSlider: return "ExponentialSlider"; } } case BaseField::TYPE_BOOL: { switch (static_cast<const BoolFieldGen *>(field)->widgetType) { case checkBox: return "QCheckBox"; case radioButton: return "QRadioButton"; } } case BaseField::TYPE_ENUM: return "QComboBox"; case BaseField::TYPE_STRING: return "QLineEdit"; case BaseField::TYPE_COMPOSITE: { return getWidgetNameForName(static_cast<const CompositeField *>(field)->typeName); } default: return ""; } }
QString BaseGenerator::getUiWidgetForType(BaseField::FieldType type) { switch(type) { case BaseField::TYPE_INT: return "QSpinBox"; case BaseField::TYPE_DOUBLE: { if (field->widgetHint == BaseField::SLIDER) return "ExponentialSlider"; if (field->widgetHint == BaseField::SPIN_BOX || field->widgetHint == BaseField::DEFAULT_HINT) return "QDoubleSpinBox"; return "UNSUPPORTED"; } case BaseField::TYPE_BOOL: { if (field->widgetHint == BaseField::RADIO_BUTTON) return "QRadioButton"; if (field->widgetHint == BaseField::CHECK_BOX || field->widgetHint == BaseField::DEFAULT_HINT) return "QCheckBox"; return "UNSUPPORTED"; } case BaseField::TYPE_ENUM: return "QComboBox"; case BaseField::TYPE_STRING: return "QLineEdit"; case BaseField::TYPE_WSTRING: return "QLineEdit"; case BaseField::TYPE_COMPOSITE: { return getWidgetNameForName(static_cast<const CompositeField *>(field)->typeName); } case (BaseField::TYPE_DOUBLE | BaseField::TYPE_VECTOR_BIT): { return "DoubleVectorWidget"; } default: return ""; } }