BsGUIVector3Field.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. using namespace CamelotFramework;
  11. using namespace BansheeEngine;
  12. namespace BansheeEditor
  13. {
  14. const UINT32 GUIVector3Field::ELEMENT_LABEL_WIDTH = 10;
  15. GUIVector3Field::GUIVector3Field(const PrivatelyConstruct& dummy, const GUIContent& labelContent,
  16. CM::UINT32 labelWidth, const CM::String& labelStyle, const CM::String& inputBoxStyle, const GUILayoutOptions& layoutOptions, bool withLabel)
  17. :TGUIField(dummy, labelContent, labelWidth, labelStyle, layoutOptions, withLabel), mFieldX(nullptr), mFieldY(nullptr)
  18. {
  19. mFieldX = GUIFloatField::create(HString(L"X"), ELEMENT_LABEL_WIDTH, labelStyle, inputBoxStyle);
  20. mFieldY = GUIFloatField::create(HString(L"Y"), ELEMENT_LABEL_WIDTH, labelStyle, inputBoxStyle);
  21. mFieldZ = GUIFloatField::create(HString(L"Z"), ELEMENT_LABEL_WIDTH, labelStyle, inputBoxStyle);
  22. mLayout->removeElement(mLabel);
  23. GUILayout* layout = &mLayout->addLayoutY();
  24. layout->addElement(mLabel);
  25. GUILayout* elementLayout = &layout->addLayoutX();
  26. elementLayout->addElement(mFieldX);
  27. elementLayout->addElement(mFieldY);
  28. elementLayout->addElement(mFieldZ);
  29. }
  30. Vector3 GUIVector3Field::getValue() const
  31. {
  32. Vector3 value;
  33. value.x = mFieldX->getValue();
  34. value.y = mFieldY->getValue();
  35. value.z = mFieldZ->getValue();
  36. return value;
  37. }
  38. void GUIVector3Field::setValue(const Vector3& value)
  39. {
  40. mFieldX->setValue(value.x);
  41. mFieldY->setValue(value.y);
  42. mFieldZ->setValue(value.z);
  43. }
  44. const String& GUIVector3Field::getGUITypeName()
  45. {
  46. static String typeName = "GUIVector3Field";
  47. return typeName;
  48. }
  49. }