MainEditor.cs 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. function MainEditor::onCreate( %this )
  2. {
  3. echo("\n--------- Initializing MainEditor ---------");
  4. //exec("tools/gui/profiles.ed.cs");
  5. //exec("./scripts/GuiProfiles.cs");
  6. exec("./guis/MainEditorWindow.gui");
  7. //exec("./scripts/newEditorGui.cs");
  8. $UsePanelLayout = false;
  9. $AssetBrowserPanelState = true;
  10. $AssetBrowserPanelSplit = 0;
  11. $InspectorPanelState = true;
  12. $InspectorPanelSplit = 0;
  13. $ToolsPanelState = true;
  14. $ToolsPanelSplit = 0;
  15. }
  16. function MainEditor::onDestroy( %this )
  17. {
  18. }
  19. function NewEditorGui::addNewEditorTab(%this, %editorName)
  20. {
  21. %editorTab = new GuiTabPageCtrl()
  22. {
  23. Profile = "ToolsGuiEditorTabPage";
  24. position = "0 0";
  25. extent = Editor_MainViewTabBook.extent;
  26. AnchorTop = "1";
  27. AnchorBottom = "0";
  28. AnchorLeft = "1";
  29. AnchorRight = "0";
  30. horizSizing = "width";
  31. vertSizing = "height";
  32. text = %editorName;
  33. };
  34. Editor_MainViewTabBook.add(%editorTab);
  35. return %editorTab;
  36. }
  37. function togglePanelLayout()
  38. {
  39. $UsePanelLayout = !$UsePanelLayout;
  40. if($UsePanelLayout)
  41. {
  42. EditorGui.add(NewEditorGui);
  43. //Nudge us down so we show the toolbar
  44. NewEditorGui.resize(0, EditorGuiToolbar.extent.y, EditorGui.extent.x, EditorGui.extent.y - EditorGuiToolbar.extent.y - EditorGuiStatusBar.extent.y);
  45. %mainEditViewTitle = "Level - " @ getScene(0).getName();
  46. %mainEditViewCtrl = NewEditorGui.addNewEditorTab(%mainEditViewTitle);
  47. %mainEditViewCtrl.add(EWorldEditor);
  48. EWorldEditor.position = "0 24";
  49. EWorldEditor.extent = %mainEditViewCtrl.extent.x SPC %mainEditViewCtrl.extent.y - 24;
  50. Editor_AssetBrowserPanel.add(AssetBrowser);
  51. AssetBrowser.resize(0,0, Editor_AssetBrowserPanel.extent.x, Editor_AssetBrowserPanel.extent.y);
  52. AssetBrowser.horizSizing = "width";
  53. AssetBrowser.vertSizing = "height";
  54. AssetBrowserWindow.resize(0,0, AssetBrowser.extent.x, AssetBrowser.extent.y);
  55. AssetBrowserWindow.horizSizing = "width";
  56. AssetBrowserWindow.vertSizing = "height";
  57. AssetBrowserWindow.canClose = false;
  58. AssetBrowserWindow.canCollapse = false;
  59. AssetBrowserWindow.canMaximize = false;
  60. AssetBrowserWindow.canMinimize = false;
  61. AssetBrowserWindow.canMove = false;
  62. AssetBrowserWindow.resizeWidth = false;
  63. AssetBrowserWindow.resizeHeight = false;
  64. //Prep it
  65. AssetBrowser.loadFilters();
  66. Editor_SceneTreePanel.add(EWTreeWindow);
  67. EWTreeWindow.resize(0,0, Editor_SceneTreePanel.extent.x, Editor_SceneTreePanel.extent.y);
  68. EWTreeWindow.horizSizing = "width";
  69. EWTreeWindow.vertSizing = "height";
  70. EWTreeWindow.canClose = false;
  71. EWTreeWindow.canCollapse = false;
  72. EWTreeWindow.canMaximize = false;
  73. EWTreeWindow.canMinimize = false;
  74. EWTreeWindow.canMove = false;
  75. EWTreeWindow.resizeWidth = false;
  76. EWTreeWindow.resizeHeight = false;
  77. if(!isObject(Scenes))
  78. {
  79. $scenesRootGroup = new SimGroup(Scenes);
  80. $scenesRootGroup.add(getScene(0));
  81. }
  82. EditorTree.open($scenesRootGroup,true);
  83. Editor_PropertiesPanel.add(EWInspectorWindow);
  84. EWInspectorWindow.resize(0,0, Editor_PropertiesPanel.extent.x, Editor_PropertiesPanel.extent.y);
  85. EWInspectorWindow.horizSizing = "width";
  86. EWInspectorWindow.vertSizing = "height";
  87. EWInspectorWindow.canClose = false;
  88. EWInspectorWindow.canCollapse = false;
  89. EWInspectorWindow.canMaximize = false;
  90. EWInspectorWindow.canMinimize = false;
  91. EWInspectorWindow.canMove = false;
  92. EWInspectorWindow.resizeWidth = false;
  93. EWInspectorWindow.resizeHeight = false;
  94. }
  95. else
  96. {
  97. EditorGui.remove(NewEditorGui);
  98. EditorGui.add(EWorldEditor);
  99. EditorGui.add(AssetBrowser);
  100. AssetBrowserWindow.canClose = false;
  101. AssetBrowserWindow.canCollapse = false;
  102. AssetBrowserWindow.canMaximize = false;
  103. AssetBrowserWindow.canMinimize = false;
  104. AssetBrowserWindow.canMove = false;
  105. EditorGui.add(EWTreeWindow);
  106. EditorGui.add(EWInspectorWindow);
  107. }
  108. }
  109. function Editor_AssetBrowserButton::onClick(%this)
  110. {
  111. $AssetBrowserPanelState = !$AssetBrowserPanelState;
  112. //If we're collapsing
  113. if(!$AssetBrowserPanelState)
  114. {
  115. //Store the original
  116. $AssetBrowserPanelSplit = Editor_MainViewSplit.splitPoint.y;
  117. //collapse it
  118. Editor_MainViewSplit.setSplitPoint(Editor_MainViewSplit.splitPoint.x SPC Editor_MainViewSplit.extent.y - Editor_MainViewSplit.splitterSize);
  119. }
  120. else
  121. {
  122. //restore the original
  123. Editor_MainViewSplit.setSplitPoint(Editor_MainViewSplit.splitPoint.x SPC $AssetBrowserPanelSplit);
  124. }
  125. }
  126. function Editor_InspectorSidebarButton::onClick(%this)
  127. {
  128. $InspectorPanelState = !$InspectorPanelState;
  129. //If we're collapsing
  130. if(!$InspectorPanelState)
  131. {
  132. //Store the original
  133. $InspectorPanelSplit = NewEditorGuiLayout.splitPoint.x;
  134. //collapse it
  135. NewEditorGuiLayout.setSplitPoint(NewEditorGui.extent.x - NewEditorGuiLayout.splitterSize SPC NewEditorGuiLayout.splitPoint.y);
  136. }
  137. else
  138. {
  139. //restore the original
  140. NewEditorGuiLayout.setSplitPoint($InspectorPanelSplit SPC NewEditorGuiLayout.splitPoint.y);
  141. }
  142. }
  143. function Editor_ToolsSidebarButton::onClick(%this)
  144. {
  145. $ToolsPanelState = !$ToolsPanelState;
  146. //If we're collapsing
  147. if(!$ToolsPanelState)
  148. {
  149. //Store the original
  150. $ToolsPanelSplit = Editor_ToolsMainSplit.splitPoint.x;
  151. //collapse it
  152. Editor_ToolsMainSplit.setSplitPoint(Editor_ToolsMainSplit.splitterSize SPC Editor_ToolsMainSplit.splitPoint.y);
  153. }
  154. else
  155. {
  156. //restore the original
  157. Editor_ToolsMainSplit.setSplitPoint($ToolsPanelSplit SPC Editor_ToolsMainSplit.splitPoint.y);
  158. }
  159. }
  160. function Editor_VisibilityOptionsButton::onClick(%this)
  161. {
  162. if ( EVisibility.visible )
  163. {
  164. EVisibility.setVisible(false);
  165. //visibilityToggleBtn.setStateOn(0);
  166. }
  167. else
  168. {
  169. EVisibility.setVisible(true);
  170. //visibilityToggleBtn.setStateOn(1);
  171. EVisibility.setExtent("200 540");
  172. }
  173. }