EditorSecondaryToolbar.as 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. UIElement@ secondaryToolBar;
  2. void CreateSecondaryToolBar()
  3. {
  4. secondaryToolBar = BorderImage("secondaryToolBar");
  5. ui.root.AddChild(secondaryToolBar);
  6. secondaryToolBar.style = "EditorToolBar";
  7. secondaryToolBar.SetLayout(LM_VERTICAL);
  8. secondaryToolBar.layoutSpacing = 4;
  9. secondaryToolBar.layoutBorder = IntRect(4, 4, 4, 4);
  10. secondaryToolBar.opacity = uiMaxOpacity;
  11. secondaryToolBar.SetFixedSize(28, graphics.height);
  12. secondaryToolBar.SetPosition(0, uiMenuBar.height+40);
  13. secondaryToolBar.SetFixedHeight(graphics.height);
  14. Button@ b = CreateSmallToolBarButton("Node", "Replicated Node");
  15. secondaryToolBar.AddChild(b);
  16. SubscribeToEvent(b, "Released", "SmallToolBarCreateReplNode");
  17. b = CreateSmallToolBarButton("Node", "Local Node");
  18. secondaryToolBar.AddChild(b);
  19. SubscribeToEvent(b, "Released", "SmallToolBarCreateLocalNode");
  20. secondaryToolBar.AddChild(CreateSmallToolBarSpacer(3));
  21. b = CreateSmallToolBarButton("Light");
  22. secondaryToolBar.AddChild(b);
  23. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  24. b = CreateSmallToolBarButton("Camera");
  25. secondaryToolBar.AddChild(b);
  26. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  27. b = CreateSmallToolBarButton("Zone");
  28. secondaryToolBar.AddChild(b);
  29. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  30. b = CreateSmallToolBarButton("StaticModel");
  31. secondaryToolBar.AddChild(b);
  32. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  33. b = CreateSmallToolBarButton("AnimatedModel");
  34. secondaryToolBar.AddChild(b);
  35. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  36. b = CreateSmallToolBarButton("BillboardSet");
  37. secondaryToolBar.AddChild(b);
  38. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  39. b = CreateSmallToolBarButton("ParticleEmitter");
  40. secondaryToolBar.AddChild(b);
  41. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  42. b = CreateSmallToolBarButton("Skybox");
  43. secondaryToolBar.AddChild(b);
  44. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  45. b = CreateSmallToolBarButton("Terrain");
  46. secondaryToolBar.AddChild(b);
  47. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  48. b = CreateSmallToolBarButton("Text3D");
  49. secondaryToolBar.AddChild(b);
  50. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  51. secondaryToolBar.AddChild(CreateSmallToolBarSpacer(3));
  52. b = CreateSmallToolBarButton("SoundListener");
  53. secondaryToolBar.AddChild(b);
  54. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  55. b = CreateSmallToolBarButton("SoundSource3D");
  56. secondaryToolBar.AddChild(b);
  57. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  58. b = CreateSmallToolBarButton("SoundSource");
  59. secondaryToolBar.AddChild(b);
  60. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  61. secondaryToolBar.AddChild(CreateSmallToolBarSpacer(3));
  62. b = CreateSmallToolBarButton("RigidBody");
  63. secondaryToolBar.AddChild(b);
  64. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  65. b = CreateSmallToolBarButton("CollisionShape");
  66. secondaryToolBar.AddChild(b);
  67. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  68. b = CreateSmallToolBarButton("Constraint");
  69. secondaryToolBar.AddChild(b);
  70. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  71. secondaryToolBar.AddChild(CreateSmallToolBarSpacer(3));
  72. b = CreateSmallToolBarButton("AnimationController");
  73. secondaryToolBar.AddChild(b);
  74. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  75. b = CreateSmallToolBarButton("ScriptInstance");
  76. secondaryToolBar.AddChild(b);
  77. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  78. secondaryToolBar.AddChild(CreateSmallToolBarSpacer(3));
  79. b = CreateSmallToolBarButton("Navigable");
  80. secondaryToolBar.AddChild(b);
  81. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  82. b = CreateSmallToolBarButton("NavigationMesh");
  83. secondaryToolBar.AddChild(b);
  84. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  85. b = CreateSmallToolBarButton("OffMeshConnection");
  86. secondaryToolBar.AddChild(b);
  87. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  88. secondaryToolBar.AddChild(CreateSmallToolBarSpacer(3));
  89. b = CreateSmallToolBarButton("NetworkPriority");
  90. secondaryToolBar.AddChild(b);
  91. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  92. }
  93. Button@ CreateSmallToolBarButton(const String&in title, String toolTipTitle = "")
  94. {
  95. Button@ button = Button(title);
  96. button.defaultStyle = uiStyle;
  97. button.style = "ToolBarButton";
  98. button.SetFixedSize(20, 20);
  99. CreateSmallToolBarIcon(button);
  100. if (toolTipTitle.empty)
  101. toolTipTitle = title;
  102. CreateToolTip(button, toolTipTitle, IntVector2(button.width + 10, button.height - 10));
  103. return button;
  104. }
  105. void CreateSmallToolBarIcon(UIElement@ element)
  106. {
  107. BorderImage@ icon = BorderImage("Icon");
  108. icon.defaultStyle = iconStyle;
  109. icon.style = element.name;
  110. icon.SetFixedSize(14, 14);
  111. element.AddChild(icon);
  112. }
  113. UIElement@ CreateSmallToolBarSpacer(uint width)
  114. {
  115. UIElement@ spacer = UIElement();
  116. spacer.SetFixedHeight(width);
  117. return spacer;
  118. }
  119. void SmallToolBarCreateReplNode(StringHash eventType, VariantMap& eventData)
  120. {
  121. CreateNode(REPLICATED);
  122. }
  123. void SmallToolBarCreateLocalNode(StringHash eventType, VariantMap& eventData)
  124. {
  125. CreateNode(LOCAL);
  126. }
  127. void SmallToolBarCreateComponent(StringHash eventType, VariantMap& eventData)
  128. {
  129. Button@ b = GetEventSender();
  130. CreateComponent(b.name);
  131. }