BsGUIVector3Field.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include "BsGUIVector3Field.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 GUIVector3Field::ELEMENT_LABEL_WIDTH = 10;
  13. GUIVector3Field::GUIVector3Field(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. mFieldZ = GUIFloatField::create(HString(L"Z"), ELEMENT_LABEL_WIDTH, labelStyle, inputBoxStyle);
  20. mLayout->removeElement(mLabel);
  21. GUILayout* layout = &mLayout->addLayoutY();
  22. layout->addElement(mLabel);
  23. GUILayout* elementLayout = &layout->addLayoutX();
  24. elementLayout->addElement(mFieldX);
  25. elementLayout->addElement(mFieldY);
  26. elementLayout->addElement(mFieldZ);
  27. }
  28. Vector3 GUIVector3Field::getValue() const
  29. {
  30. Vector3 value;
  31. value.x = mFieldX->getValue();
  32. value.y = mFieldY->getValue();
  33. value.z = mFieldZ->getValue();
  34. return value;
  35. }
  36. void GUIVector3Field::setValue(const Vector3& value)
  37. {
  38. mFieldX->setValue(value.x);
  39. mFieldY->setValue(value.y);
  40. mFieldZ->setValue(value.z);
  41. }
  42. const String& GUIVector3Field::getGUITypeName()
  43. {
  44. static String typeName = "GUIVector3Field";
  45. return typeName;
  46. }
  47. }