BsGUIVector2Field.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "BsGUIVector2Field.h"
  2. #include "BsGUIArea.h"
  3. #include "BsGUILayout.h"
  4. #include "BsGUILabel.h"
  5. #include "BsGUIFloatField.h"
  6. #include "BsBuiltinResources.h"
  7. #include "BsGUIWidget.h"
  8. #include "BsGUIMouseEvent.h"
  9. #include "BsGUIWidget.h"
  10. namespace BansheeEngine
  11. {
  12. const UINT32 GUIVector2Field::ELEMENT_LABEL_WIDTH = 10;
  13. GUIVector2Field::GUIVector2Field(const PrivatelyConstruct& dummy, const GUIContent& labelContent,
  14. UINT32 labelWidth, const String& labelStyle, const String& inputBoxStyle, const GUILayoutOptions& layoutOptions, bool withLabel)
  15. :TGUIField(dummy, labelContent, labelWidth, labelStyle, layoutOptions, withLabel), mFieldX(nullptr), mFieldY(nullptr)
  16. {
  17. mFieldX = GUIFloatField::create(HString(L"X"), ELEMENT_LABEL_WIDTH, labelStyle, inputBoxStyle);
  18. mFieldY = GUIFloatField::create(HString(L"Y"), ELEMENT_LABEL_WIDTH, labelStyle, inputBoxStyle);
  19. mLayout->removeElement(mLabel);
  20. GUILayout* layout = &mLayout->addLayoutY();
  21. layout->addElement(mLabel);
  22. GUILayout* elementLayout = &layout->addLayoutX();
  23. elementLayout->addElement(mFieldX);
  24. elementLayout->addElement(mFieldY);
  25. }
  26. Vector2 GUIVector2Field::getValue() const
  27. {
  28. Vector2 value;
  29. value.x = mFieldX->getValue();
  30. value.y = mFieldY->getValue();
  31. return value;
  32. }
  33. void GUIVector2Field::setValue(const Vector2& value)
  34. {
  35. mFieldX->setValue(value.x);
  36. mFieldY->setValue(value.y);
  37. }
  38. const String& GUIVector2Field::getGUITypeName()
  39. {
  40. static String typeName = "GUIVector2Field";
  41. return typeName;
  42. }
  43. }