EditorSecondaryToolbar.as 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  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("RibbonTrail");
  43. secondaryToolBar.AddChild(b);
  44. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  45. b = CreateSmallToolBarButton("Skybox");
  46. secondaryToolBar.AddChild(b);
  47. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  48. b = CreateSmallToolBarButton("Terrain");
  49. secondaryToolBar.AddChild(b);
  50. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  51. b = CreateSmallToolBarButton("Text3D");
  52. secondaryToolBar.AddChild(b);
  53. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  54. secondaryToolBar.AddChild(CreateSmallToolBarSpacer(3));
  55. b = CreateSmallToolBarButton("SoundListener");
  56. secondaryToolBar.AddChild(b);
  57. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  58. b = CreateSmallToolBarButton("SoundSource3D");
  59. secondaryToolBar.AddChild(b);
  60. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  61. b = CreateSmallToolBarButton("SoundSource");
  62. secondaryToolBar.AddChild(b);
  63. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  64. secondaryToolBar.AddChild(CreateSmallToolBarSpacer(3));
  65. b = CreateSmallToolBarButton("RigidBody");
  66. secondaryToolBar.AddChild(b);
  67. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  68. b = CreateSmallToolBarButton("CollisionShape");
  69. secondaryToolBar.AddChild(b);
  70. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  71. b = CreateSmallToolBarButton("Constraint");
  72. secondaryToolBar.AddChild(b);
  73. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  74. secondaryToolBar.AddChild(CreateSmallToolBarSpacer(3));
  75. b = CreateSmallToolBarButton("AnimationController");
  76. secondaryToolBar.AddChild(b);
  77. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  78. b = CreateSmallToolBarButton("ScriptInstance");
  79. secondaryToolBar.AddChild(b);
  80. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  81. secondaryToolBar.AddChild(CreateSmallToolBarSpacer(3));
  82. b = CreateSmallToolBarButton("Navigable");
  83. secondaryToolBar.AddChild(b);
  84. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  85. b = CreateSmallToolBarButton("NavigationMesh");
  86. secondaryToolBar.AddChild(b);
  87. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  88. b = CreateSmallToolBarButton("OffMeshConnection");
  89. secondaryToolBar.AddChild(b);
  90. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  91. secondaryToolBar.AddChild(CreateSmallToolBarSpacer(3));
  92. b = CreateSmallToolBarButton("NetworkPriority");
  93. secondaryToolBar.AddChild(b);
  94. SubscribeToEvent(b, "Released", "SmallToolBarCreateComponent");
  95. }
  96. Button@ CreateSmallToolBarButton(const String&in title, String toolTipTitle = "")
  97. {
  98. Button@ button = Button(title);
  99. button.defaultStyle = uiStyle;
  100. button.style = "ToolBarButton";
  101. button.SetFixedSize(20, 20);
  102. CreateSmallToolBarIcon(button);
  103. if (toolTipTitle.empty)
  104. toolTipTitle = title;
  105. CreateToolTip(button, toolTipTitle, IntVector2(button.width + 10, button.height - 10));
  106. return button;
  107. }
  108. void CreateSmallToolBarIcon(UIElement@ element)
  109. {
  110. BorderImage@ icon = BorderImage("Icon");
  111. icon.defaultStyle = iconStyle;
  112. icon.style = element.name;
  113. icon.SetFixedSize(14, 14);
  114. element.AddChild(icon);
  115. }
  116. UIElement@ CreateSmallToolBarSpacer(uint width)
  117. {
  118. UIElement@ spacer = UIElement();
  119. spacer.SetFixedHeight(width);
  120. return spacer;
  121. }
  122. void SmallToolBarCreateReplNode(StringHash eventType, VariantMap& eventData)
  123. {
  124. CreateNode(REPLICATED);
  125. }
  126. void SmallToolBarCreateLocalNode(StringHash eventType, VariantMap& eventData)
  127. {
  128. CreateNode(LOCAL);
  129. }
  130. void SmallToolBarCreateComponent(StringHash eventType, VariantMap& eventData)
  131. {
  132. Button@ b = GetEventSender();
  133. CreateComponent(b.name);
  134. }