7
#include "Precompiled.h"
8
#include "PropertyFieldComboBox.h"
10
#include "EditorWidgets.h"
11
#include "WidgetTypes.h"
15
const std::string DEFAULT_STRING = "[DEFAULT]";
17
PropertyFieldComboBox::PropertyFieldComboBox(MyGUI::Widget* _parent) :
18
BaseLayout("PropertyFieldComboBox.layout", _parent),
21
mCurrentWidget(nullptr)
23
assignWidget(mText, "Text");
24
assignWidget(mField, "Field");
26
mField->eventComboAccept += newDelegate (this, &PropertyFieldComboBox::notifyForceApplyProperties2);
29
PropertyFieldComboBox::~PropertyFieldComboBox()
33
void PropertyFieldComboBox::initialise(const std::string& _type)
38
void PropertyFieldComboBox::setTarget(MyGUI::Widget* _currentWidget)
40
mCurrentWidget = _currentWidget;
44
void PropertyFieldComboBox::onFillValues()
46
WidgetStyle::VectorString values = WidgetTypes::getInstance().findPossibleValues(mType);
48
mField->removeAllItems();
49
for (WidgetStyle::VectorString::iterator iter = values.begin(); iter != values.end(); ++iter)
50
mField->addItem(*iter);
51
mField->beginToItemFirst();
54
void PropertyFieldComboBox::notifyApplyProperties(MyGUI::Widget* _sender)
56
std::string DEFAULT_VALUE = replaceTags("ColourDefault") + DEFAULT_STRING;
57
std::string value = mField->getOnlyText();
59
if (value == DEFAULT_STRING && mField->getCaption() == DEFAULT_VALUE)
62
onAction(value, true);
65
void PropertyFieldComboBox::onAction(const std::string& _value, bool _final)
67
eventAction(mName, _value, _final);
70
void PropertyFieldComboBox::notifyForceApplyProperties2(MyGUI::ComboBox* _sender, size_t _index)
72
notifyApplyProperties(_sender);
75
MyGUI::IntSize PropertyFieldComboBox::getContentSize()
77
return MyGUI::IntSize(0, mMainWidget->getHeight());
80
void PropertyFieldComboBox::setCoord(const MyGUI::IntCoord& _coord)
82
mMainWidget->setCoord(_coord);
85
void PropertyFieldComboBox::setValue(const std::string& _value)
87
std::string DEFAULT_VALUE = replaceTags("ColourDefault") + DEFAULT_STRING;
91
mField->setCaption(DEFAULT_VALUE);
95
mField->setOnlyText(_value);
99
void PropertyFieldComboBox::setName(const std::string& _value)
102
mText->setCaption(_value);
105
void PropertyFieldComboBox::setVisible(bool _value)
107
mMainWidget->setVisible(_value);
110
bool PropertyFieldComboBox::getVisible()
112
return mMainWidget->getVisible();
7
#include "Precompiled.h"
8
#include "PropertyFieldComboBox.h"
10
#include "EditorWidgets.h"
11
#include "WidgetTypes.h"
16
const std::string DEFAULT_STRING = "[DEFAULT]";
18
PropertyFieldComboBox::PropertyFieldComboBox(MyGUI::Widget* _parent) :
19
BaseLayout("PropertyFieldComboBox.layout", _parent),
22
mCurrentWidget(nullptr)
24
assignWidget(mText, "Text");
25
assignWidget(mField, "Field");
27
mField->eventComboAccept += newDelegate (this, &PropertyFieldComboBox::notifyForceApplyProperties2);
30
PropertyFieldComboBox::~PropertyFieldComboBox()
34
void PropertyFieldComboBox::initialise(const std::string& _type)
39
void PropertyFieldComboBox::setTarget(MyGUI::Widget* _currentWidget)
41
mCurrentWidget = _currentWidget;
45
void PropertyFieldComboBox::onFillValues()
47
WidgetStyle::VectorString values = WidgetTypes::getInstance().findPossibleValues(mType);
49
mField->removeAllItems();
50
for (WidgetStyle::VectorString::iterator iter = values.begin(); iter != values.end(); ++iter)
51
mField->addItem(*iter);
52
mField->beginToItemFirst();
55
void PropertyFieldComboBox::notifyApplyProperties(MyGUI::Widget* _sender)
57
std::string DEFAULT_VALUE = replaceTags("ColourDefault") + DEFAULT_STRING;
58
std::string value = mField->getOnlyText();
60
if (value == DEFAULT_STRING && mField->getCaption() == DEFAULT_VALUE)
63
onAction(value, true);
66
void PropertyFieldComboBox::onAction(const std::string& _value, bool _final)
68
eventAction(mName, _value, _final);
71
void PropertyFieldComboBox::notifyForceApplyProperties2(MyGUI::ComboBox* _sender, size_t _index)
73
notifyApplyProperties(_sender);
76
MyGUI::IntSize PropertyFieldComboBox::getContentSize()
78
return MyGUI::IntSize(0, mMainWidget->getHeight());
81
void PropertyFieldComboBox::setCoord(const MyGUI::IntCoord& _coord)
83
mMainWidget->setCoord(_coord);
86
void PropertyFieldComboBox::setValue(const std::string& _value)
88
std::string DEFAULT_VALUE = replaceTags("ColourDefault") + DEFAULT_STRING;
92
mField->setCaption(DEFAULT_VALUE);
96
mField->setOnlyText(_value);
100
void PropertyFieldComboBox::setName(const std::string& _value)
103
mText->setCaption(_value);
106
void PropertyFieldComboBox::setVisible(bool _value)
108
mMainWidget->setVisible(_value);
111
bool PropertyFieldComboBox::getVisible()
113
return mMainWidget->getVisible();