baseMenu.ed.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. //-----------------------------------------------------------------------------
  2. // Copyright (c) 2012 GarageGames, LLC
  3. //
  4. // Permission is hereby granted, free of charge, to any person obtaining a copy
  5. // of this software and associated documentation files (the "Software"), to
  6. // deal in the Software without restriction, including without limitation the
  7. // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  8. // sell copies of the Software, and to permit persons to whom the Software is
  9. // furnished to do so, subject to the following conditions:
  10. //
  11. // The above copyright notice and this permission notice shall be included in
  12. // all copies or substantial portions of the Software.
  13. //
  14. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  19. // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  20. // IN THE SOFTWARE.
  21. //-----------------------------------------------------------------------------
  22. // onAdd creates the base menu's and document controller
  23. function BaseEditorCanvas::createMenuBar( %this )
  24. {
  25. if(isObject(%this.menuBar))
  26. return;
  27. // Menu bar
  28. %this.menuBar = new MenuBar()
  29. {
  30. dynamicItemInsertPos = 3;
  31. // File Menu
  32. new PopupMenu()
  33. {
  34. superClass = "MenuBuilder";
  35. class = "BaseEditorFileMenu";
  36. internalName = "FileMenu";
  37. barTitle = "File";
  38. item[0] = "New..." TAB "Ctrl N" TAB "[this].onNew();";
  39. item[1] = "Open..." TAB "Ctrl O" TAB "[this].onOpen();";
  40. item[2] = "-";
  41. item[3] = "Save" TAB "Ctrl S" TAB "[this].onSave();";
  42. item[4] = "Save As" TAB "Ctrl-Alt S" TAB "[this].onSaveAs();";
  43. item[5] = "Save All" TAB "Ctrl-Shift S" TAB "[this].onSaveAll();";
  44. item[6] = "-";
  45. item[7] = "Import..." TAB "Ctrl-Shift I" TAB "[this].onImport();";
  46. item[8] = "Export..." TAB "Ctrl-Shift E" TAB "[this].onExport();";
  47. item[9] = "-";
  48. item[10] = "Revert" TAB "Ctrl R" TAB "[this].onRevert();";
  49. item[11] = "-";
  50. item[12] = "Close" TAB "Ctrl W" TAB "[this].onClose();";
  51. };
  52. };
  53. }
  54. function BaseEditorCanvas::destroyMenuBar( %this )
  55. {
  56. if( isObject( %this.menuBar ) )
  57. %this.menuBar.delete();
  58. }
  59. function BaseEditorCanvas::onCreateMenu(%this)
  60. {
  61. if( !isObject( %this.menuBar ) )
  62. %this.createMenuBar();
  63. %this.menuBar.attachToCanvas( %this, 0 );
  64. }
  65. function BaseEditorCanvas::onDestroyMenu(%this)
  66. {
  67. if( isObject( %this.menuBar ) )
  68. {
  69. %this.destroyMenuBar();
  70. %this.menuBar.removeFromCanvas( %this );
  71. }
  72. }