mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-12-11 14:41:57 +00:00
Added support for enum properties
This commit is contained in:
@@ -135,6 +135,27 @@ void WPropertyEditor::CreateEditor()
|
||||
break;
|
||||
}
|
||||
|
||||
// Enum - QComboBox
|
||||
case eEnumProperty:
|
||||
{
|
||||
CEnumProperty *pEnumCast = static_cast<CEnumProperty*>(mpProperty);
|
||||
CEnumTemplate *pTemplate = static_cast<CEnumTemplate*>(pEnumCast->Template());
|
||||
QComboBox *pComboBox = new QComboBox(this);
|
||||
|
||||
for (u32 iEnum = 0; iEnum < pTemplate->NumEnumerators(); iEnum++)
|
||||
{
|
||||
std::string name = pTemplate->EnumeratorName(iEnum);
|
||||
pComboBox->addItem(QString::fromStdString(name));
|
||||
}
|
||||
|
||||
pComboBox->setCurrentIndex(pEnumCast->Get());
|
||||
pComboBox->setFocusPolicy(Qt::StrongFocus);
|
||||
pComboBox->setContextMenuPolicy(Qt::NoContextMenu);
|
||||
|
||||
mUI.EditorWidget = pComboBox;
|
||||
break;
|
||||
}
|
||||
|
||||
// Float - WDraggableSpinBox
|
||||
case eFloatProperty:
|
||||
{
|
||||
@@ -199,11 +220,6 @@ void WPropertyEditor::CreateEditor()
|
||||
break;
|
||||
}
|
||||
|
||||
// Enum - todo (will be QComboBox)
|
||||
case eEnumProperty:
|
||||
mUI.EditorWidget = new QLabel("[placeholder]", this);
|
||||
break;
|
||||
|
||||
// File - WResourceSelector
|
||||
case eFileProperty:
|
||||
{
|
||||
@@ -311,6 +327,14 @@ void WPropertyEditor::UpdateEditor()
|
||||
break;
|
||||
}
|
||||
|
||||
case eEnumProperty:
|
||||
{
|
||||
CEnumProperty *pEnumCast = static_cast<CEnumProperty*>(mpProperty);
|
||||
QComboBox *pComboBox = static_cast<QComboBox*>(mUI.EditorWidget);
|
||||
pComboBox->setCurrentIndex(pEnumCast->Get());
|
||||
break;
|
||||
}
|
||||
|
||||
case eFloatProperty:
|
||||
{
|
||||
CFloatProperty *pFloatCast = static_cast<CFloatProperty*>(mpProperty);
|
||||
@@ -350,9 +374,6 @@ void WPropertyEditor::UpdateEditor()
|
||||
break;
|
||||
}
|
||||
|
||||
case eEnumProperty:
|
||||
break;
|
||||
|
||||
case eFileProperty:
|
||||
{
|
||||
CFileProperty *pFileCast = static_cast<CFileProperty*>(mpProperty);
|
||||
|
||||
Reference in New Issue
Block a user