| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #pragma once
- #include "BsEditorPrerequisites.h"
- #include "BsGUIElementContainer.h"
- namespace BansheeEditor
- {
- class BS_ED_EXPORT GUIGameObjectField : public BS::GUIElementContainer
- {
- struct PrivatelyConstruct {};
- public:
- static const CM::String& getGUITypeName();
- static GUIGameObjectField* create(const BS::GUIContent& labelContent, CM::UINT32 labelWidth, const BS::GUIOptions& layoutOptions,
- const CM::String& labelStyle = CM::StringUtil::BLANK, const CM::String& dropButtonStyle = CM::StringUtil::BLANK,
- const CM::String& clearButtonStyle = CM::StringUtil::BLANK);
- static GUIGameObjectField* create(const BS::GUIContent& labelContent, const BS::GUIOptions& layoutOptions,
- const CM::String& labelStyle = CM::StringUtil::BLANK, const CM::String& dropButtonStyle = CM::StringUtil::BLANK,
- const CM::String& clearButtonStyle = CM::StringUtil::BLANK);
- static GUIGameObjectField* create(const CM::HString& labelText, CM::UINT32 labelWidth, const BS::GUIOptions& layoutOptions,
- const CM::String& labelStyle = CM::StringUtil::BLANK, const CM::String& dropButtonStyle = CM::StringUtil::BLANK,
- const CM::String& clearButtonStyle = CM::StringUtil::BLANK);
- static GUIGameObjectField* create(const CM::HString& labelText, const BS::GUIOptions& layoutOptions,
- const CM::String& labelStyle = CM::StringUtil::BLANK, const CM::String& dropButtonStyle = CM::StringUtil::BLANK,
- const CM::String& clearButtonStyle = CM::StringUtil::BLANK);
- static GUIGameObjectField* create(const BS::GUIOptions& layoutOptions, const CM::String& dropButtonStyle = CM::StringUtil::BLANK,
- const CM::String& clearButtonStyle = CM::StringUtil::BLANK);
- static GUIGameObjectField* create(const BS::GUIContent& labelContent, CM::UINT32 labelWidth,
- const CM::String& labelStyle = CM::StringUtil::BLANK, const CM::String& dropButtonStyle = CM::StringUtil::BLANK,
- const CM::String& clearButtonStyle = CM::StringUtil::BLANK);
- static GUIGameObjectField* create(const BS::GUIContent& labelContent,
- const CM::String& labelStyle = CM::StringUtil::BLANK, const CM::String& dropButtonStyle = CM::StringUtil::BLANK,
- const CM::String& clearButtonStyle = CM::StringUtil::BLANK);
- static GUIGameObjectField* create(const CM::HString& labelText, CM::UINT32 labelWidth,
- const CM::String& labelStyle = CM::StringUtil::BLANK, const CM::String& dropButtonStyle = CM::StringUtil::BLANK,
- const CM::String& clearButtonStyle = CM::StringUtil::BLANK);
- static GUIGameObjectField* create(const CM::HString& labelText,
- const CM::String& labelStyle = CM::StringUtil::BLANK, const CM::String& dropButtonStyle = CM::StringUtil::BLANK,
- const CM::String& clearButtonStyle = CM::StringUtil::BLANK);
- static GUIGameObjectField* create(const CM::String& dropButtonStyle = CM::StringUtil::BLANK,
- const CM::String& clearButtonStyle = CM::StringUtil::BLANK);
- GUIGameObjectField(const PrivatelyConstruct& dummy, const BS::GUIContent& labelContent,
- CM::UINT32 labelWidth, const CM::String& labelStyle, const CM::String& dropButtonStyle,
- const CM::String& clearButtonStyle, const BS::GUILayoutOptions& layoutOptions, bool withLabel);
- CM::HGameObject getValue() const;
- void setValue(const CM::HGameObject& value);
- void _updateLayoutInternal(CM::INT32 x, CM::INT32 y, CM::UINT32 width, CM::UINT32 height,
- CM::RectI clipRect, CM::UINT8 widgetDepth, CM::UINT16 areaDepth);
- CM::Vector2I _getOptimalSize() const;
- private:
- virtual ~GUIGameObjectField();
- void dataDropped(void* data);
- private:
- static const CM::UINT32 DEFAULT_LABEL_WIDTH;
- static const CM::String DROP_BUTTON_STYLE;
- static const CM::String CLEAR_BUTTON_STYLE;
- BS::GUILayout* mLayout;
- BS::GUILabel* mLabel;
- GUIDropButton* mDropButton;
- BS::GUIButton* mClearButton;
- CM::UINT64 mInstanceId;
- };
- }
|