GUIStatusBar::GUIStatusBar(const PrivatelyConstruct& dummy, const String& style, const GUIDimensions& dimensions) :GUIElementContainer(dimensions, style) { mPanel = GUIPanel::create(); mBgPanel = GUIPanel::create(1); _registerChildElement(mPanel); _registerChildElement(mBgPanel); mBackground = GUITexture::create(GUIOptions(GUIOption::flexibleWidth()), getSubStyleName(getGUIBackgroundTypeName())); mMessage = GUIButton::create(HString(L""), GUIOptions(GUIOption::flexibleWidth()), getSubStyleName(getGUIMessageTypeName())); mScene = GUILabel::create(HString(L"Scene: Unnamed"), GUIOptions(GUIOption::fixedWidth(150))); mProject = GUILabel::create(HString(L"Project: None"), GUIOptions(GUIOption::fixedWidth(200))); mCompiling = GUILabel::create(HString(L"Compiling..."), GUIOptions(GUIOption::fixedWidth(100))); GUILayoutY* vertLayout = mPanel->addNewElement<GUILayoutY>(); vertLayout->addNewElement<GUIFixedSpace>(3); GUILayoutX* horzLayout = vertLayout->addNewElement<GUILayoutX>(); horzLayout->addNewElement<GUIFixedSpace>(10); horzLayout->addElement(mMessage); horzLayout->addNewElement<GUIFlexibleSpace>(); horzLayout->addElement(mScene); horzLayout->addNewElement<GUIFixedSpace>(10); horzLayout->addElement(mProject); horzLayout->addNewElement<GUIFixedSpace>(10); horzLayout->addElement(mCompiling); horzLayout->addNewElement<GUIFixedSpace>(10); mBgPanel->addElement(mBackground); mCompiling->setActive(false); mLogEntryAddedConn = gDebug().onLogModified.connect(std::bind(&GUIStatusBar::logModified, this)); mMessageBtnPressedConn = mMessage->onClick.connect(std::bind(&GUIStatusBar::messageBtnClicked, this)); }
GUIVector2Field::GUIVector2Field(const PrivatelyConstruct& dummy, const GUIContent& labelContent, UINT32 labelWidth, const String& style, const GUIDimensions& dimensions, bool withLabel) :TGUIField(dummy, labelContent, labelWidth, style, dimensions, withLabel), mFieldX(nullptr), mFieldY(nullptr) { mFieldX = GUIFloatField::create(HString(L"X"), ELEMENT_LABEL_WIDTH, getSubStyleName(getFloatFieldStyleType())); mFieldY = GUIFloatField::create(HString(L"Y"), ELEMENT_LABEL_WIDTH, getSubStyleName(getFloatFieldStyleType())); mFieldX->onValueChanged.connect(std::bind(&GUIVector2Field::valueChanged, this, _1)); mFieldY->onValueChanged.connect(std::bind(&GUIVector2Field::valueChanged, this, _1)); mFieldX->onConfirm.connect(std::bind(&GUIVector2Field::inputConfirmed, this)); mFieldY->onConfirm.connect(std::bind(&GUIVector2Field::inputConfirmed, this)); mLayout->removeElement(mLabel); GUILayout* layout = mLayout->addNewElement<GUILayoutY>(); layout->addElement(mLabel); mLabel->resetDimensions(); GUILayout* elementLayout = layout->addNewElement<GUILayoutX>(); elementLayout->addElement(mFieldX); elementLayout->addElement(mFieldY); }
void GUIFloatField::styleUpdated() { if (mLabel != nullptr) mLabel->setStyle(getSubStyleName(getLabelStyleType())); mInputBox->setStyle(getSubStyleName(getInputStyleType())); }
void GUIColorField::styleUpdated() { if (mLabel != nullptr) mLabel->setStyle(getSubStyleName(getLabelStyleType())); mColor->setStyle(getSubStyleName(getColorInputStyleType())); }
void GUIVector2Field::styleUpdated() { if (mLabel != nullptr) mLabel->setStyle(getSubStyleName(getLabelStyleType())); mFieldX->setStyle(getSubStyleName(getFloatFieldStyleType())); mFieldY->setStyle(getSubStyleName(getFloatFieldStyleType())); }
void GUIGameObjectField::styleUpdated() { if (mLabel != nullptr) mLabel->setStyle(getSubStyleName(BuiltinEditorResources::ObjectFieldLabelStyleName)); mDropButton->setStyle(getSubStyleName(BuiltinEditorResources::ObjectFieldDropBtnStyleName)); mClearButton->setStyle(getSubStyleName(BuiltinEditorResources::ObjectFieldClearBtnStyleName)); }
GUIProgressBar::GUIProgressBar(const String& styleName, const GUIDimensions& dimensions) :GUIElementContainer(dimensions, styleName), mPercent(0) { mBar = GUITexture::create(getSubStyleName(getBarStyleType())); mBackground = GUITexture::create(getSubStyleName(getBackgroundStyleType())); mBackground->_setElementDepth(mBar->_getRenderElementDepthRange()); _registerChildElement(mBar); _registerChildElement(mBackground); }
void GUISlider::styleUpdated() { mBackground->setStyle(getSubStyleName(getBackgroundStyleType())); mFillBackground->setStyle(getSubStyleName(getFillStyleType())); mSliderHandle->setStyle(getSubStyleName(getHandleStyleType())); const GUIElementStyle* bgStyle = mBackground->_getStyle(); if(mHasFocus) mBackground->setTexture(bgStyle->focused.texture); else mBackground->setTexture(bgStyle->normal.texture); }
GUISlider::GUISlider(bool horizontal, const String& styleName, const GUIDimensions& dimensions) :GUIElementContainer(dimensions, styleName, GUIElementOption::AcceptsKeyFocus), mHorizontal(horizontal) { GUISliderHandleFlags flags = horizontal ? GUISliderHandleFlag::Horizontal : GUISliderHandleFlag::Vertical; flags |= GUISliderHandleFlag::JumpOnClick; mSliderHandle = GUISliderHandle::create(flags, getSubStyleName(getHandleStyleType())); mBackground = GUITexture::create(getSubStyleName(getBackgroundStyleType())); mFillBackground = GUITexture::create(getSubStyleName(getFillStyleType())); mBackground->_setElementDepth(mSliderHandle->_getRenderElementDepthRange() + mFillBackground->_getRenderElementDepthRange()); mFillBackground->_setElementDepth(mSliderHandle->_getRenderElementDepthRange()); _registerChildElement(mSliderHandle); _registerChildElement(mBackground); _registerChildElement(mFillBackground); mHandleMovedConn = mSliderHandle->onHandleMovedOrResized.connect(std::bind(&GUISlider::onHandleMoved, this, _1, _2)); }
GUIColorField::GUIColorField(const PrivatelyConstruct& dummy, const GUIContent& labelContent, UINT32 labelWidth, const String& style, const GUIDimensions& dimensions, bool withLabel) : TGUIField(dummy, labelContent, labelWidth, style, dimensions, withLabel) , mLabelWidth(100), mLabel(nullptr), mColor(nullptr) { mColor = GUIColor::create(getSubStyleName(getColorInputStyleType())); mColor->onClicked.connect(std::bind(&GUIColorField::clicked, this)); mLayout->addElement(mColor); }
GUIFloatField::GUIFloatField(const PrivatelyConstruct& dummy, const GUIContent& labelContent, UINT32 labelWidth, const String& style, const GUIDimensions& dimensions, bool withLabel) : TGUIField(dummy, labelContent, labelWidth, style, dimensions, withLabel), mInputBox(nullptr), mValue(0.0f) , mLastDragPos(0), mMinValue(std::numeric_limits<float>::lowest()), mMaxValue(std::numeric_limits<float>::max()) , mStep(0.0f), mIsDragging(false), mHasInputFocus(false) { mInputBox = GUIInputBox::create(false, GUIOptions(GUIOption::flexibleWidth()), getSubStyleName(getInputStyleType())); mInputBox->setFilter(&GUIFloatField::floatFilter); mInputBox->onValueChanged.connect(std::bind((void(GUIFloatField::*)(const String&))&GUIFloatField::valueChanging, this, _1)); mInputBox->onFocusChanged.connect(std::bind(&GUIFloatField::focusChanged, this, _1)); mInputBox->onConfirm.connect(std::bind(&GUIFloatField::inputConfirmed, this)); mLayout->addElement(mInputBox); setValue(0); mInputBox->setText("0"); }
GUITextField::GUITextField(const PrivatelyConstruct& dummy, bool multiline, const GUIContent& labelContent, UINT32 labelWidth, const String& style, const GUIDimensions& dimensions, bool withLabel) :GUIElementContainer(dimensions, style), mInputBox(nullptr), mLayout(nullptr), mLabel(nullptr), mHasInputFocus(false), mValue("") { mLayout = GUILayoutX::create(); _registerChildElement(mLayout); if (withLabel) { mLabel = GUILabel::create(labelContent, GUIOptions(GUIOption::fixedWidth(labelWidth)), getSubStyleName(getLabelStyleType())); mLayout->addElement(mLabel); } mInputBox = GUIInputBox::create(multiline, getSubStyleName(getInputStyleType())); mLayout->addElement(mInputBox); mInputBox->onValueChanged.connect(std::bind(&GUITextField::valueChanged, this, _1)); mInputBox->onFocusChanged.connect(std::bind(&GUITextField::focusChanged, this, _1)); mInputBox->onConfirm.connect(std::bind(&GUITextField::inputConfirmed, this)); }
GUIGameObjectField::GUIGameObjectField(const PrivatelyConstruct& dummy, const String& typeNamespace, const String& type, const GUIContent& labelContent, UINT32 labelWidth, const String& style, const GUIDimensions& dimensions, bool withLabel) : GUIElementContainer(dimensions, style), mLabel(nullptr), mDropButton(nullptr), mClearButton(nullptr), mType(type) , mNamespace(typeNamespace), mInstanceId(0) { mLayout = GUILayoutX::create(); _registerChildElement(mLayout); if(withLabel) { mLabel = GUILabel::create(labelContent, GUIOptions(GUIOption::fixedWidth(labelWidth)), getSubStyleName(BuiltinEditorResources::ObjectFieldLabelStyleName)); mLayout->addElement(mLabel); } mDropButton = GUIDropButton::create((UINT32)DragAndDropType::SceneObject, GUIOptions(GUIOption::flexibleWidth()), getSubStyleName(BuiltinEditorResources::ObjectFieldDropBtnStyleName)); mClearButton = GUIButton::create(HString(L""), getSubStyleName(BuiltinEditorResources::ObjectFieldClearBtnStyleName)); mClearButton->onClick.connect(std::bind(&GUIGameObjectField::onClearButtonClicked, this)); mLayout->addElement(mDropButton); mLayout->addElement(mClearButton); mDropButton->onDataDropped.connect(std::bind(&GUIGameObjectField::dataDropped, this, _1)); mDropButton->onClick.connect(std::bind(&GUIGameObjectField::onDropButtonClicked, this)); }
void GUIProgressBar::styleUpdated() { mBar->setStyle(getSubStyleName(getBarStyleType())); mBackground->setStyle(getSubStyleName(getBackgroundStyleType())); }
void GUIStatusBar::styleUpdated() { mBackground->setStyle(getSubStyleName(getGUIBackgroundTypeName())); mMessage->setStyle(getSubStyleName(getGUIMessageTypeName())); }
GUIFieldBase::GUIFieldBase(const PrivatelyConstruct& dummy, const GUIContent& labelContent, UINT32 labelWidth, const String& style, const GUIDimensions& dimensions, bool withLabel) :GUIElementContainer(dimensions, style), mLabel(nullptr) { mLayout = GUILayoutX::create(); _registerChildElement(mLayout); if(withLabel) { mLabel = GUILabel::create(labelContent, GUIOptions(GUIOption::fixedWidth(labelWidth)), getSubStyleName(getLabelStyleType())); mLayout->addElement(mLabel); } }
void GUIFieldBase::styleUpdated() { if (mLabel != nullptr) mLabel->setStyle(getSubStyleName(getLabelStyleType())); }