app.html 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. </head>
  6. <body>
  7. <link rel="stylesheet" type="text/css" href="libs/goldenlayout-base.css"/>
  8. <link rel="stylesheet" type="text/css" href="libs/goldenlayout-dark-theme.css"/>
  9. <link rel="stylesheet" type="text/css" href="style.css"/>
  10. <link rel="stylesheet" type="text/css" href="cdb.css"/>
  11. <link rel="stylesheet" type="text/css" href="icons.css"/>
  12. <link rel="stylesheet" type="text/css" href="libs/spectrum.css"/>
  13. <link rel="stylesheet" data-name="vs/editor/editor.main" href="libs/monaco/min/vs/editor/editor.main.css">
  14. <script src="libs/jquery-3.2.1.js"></script>
  15. <script src="libs/jquery.ui.position.js"></script>
  16. <script src="libs/goldenlayout.js"></script>
  17. <script src="libs/spectrum.js"></script>
  18. <!-- Toggle the following line to enable webgl debugging at the cost of performance -->
  19. <!-- <script src="libs/webgl-debug.js"></script> -->
  20. <script>
  21. function getQueryVariable(variable)
  22. {
  23. var query = window.location.search.substring(1);
  24. var vars = query.split("&");
  25. for (var i=0;i<vars.length;i++) {
  26. var pair = vars[i].split("=");
  27. if(pair[0] == variable){return pair[1];}
  28. }
  29. return(false);
  30. }
  31. var thumbnail = getQueryVariable("thumbnail");
  32. if (!thumbnail) {
  33. var win = nw.Window.get();
  34. win.on('close', function() {
  35. chrome.app.window.getAll().forEach(win => {
  36. win.close(true);
  37. });
  38. nw.App.closeAllWindows();
  39. nw.App.quit();
  40. });
  41. }
  42. </script>
  43. <script>
  44. // fix for Sys.programPath
  45. __filename = process.argv[0];
  46. </script>
  47. <script>
  48. var nodeRequire = require;
  49. monaco = {};
  50. </script>
  51. <script src="libs/monaco/min/vs/loader.js"></script>
  52. <script>
  53. var amdRequire = require;
  54. require = nodeRequire;
  55. require.nodeRequire = require;
  56. </script>
  57. <xml id="mainmenu">
  58. <menu label="Project" class="project">
  59. <menu label="Open..." class="open"></menu>
  60. <menu label="Recently opened">
  61. <div class="recents">
  62. <menu label="Empty" disabled="disabled"></menu>
  63. </div>
  64. <separator></separator>
  65. <menu label="Clear Recents" class="clear"></menu>
  66. </menu>
  67. <separator></separator>
  68. <menu label="Renderer">
  69. <div class="renderers">
  70. </div>
  71. </menu>
  72. <separator></separator>
  73. <menu label="Build Files" class="build-files"></menu>
  74. <menu label="Clear profile" class="clear-local"></menu>
  75. <menu label="Exit" class="exit"></menu>
  76. </menu>
  77. <menu label="View" class="view">
  78. <menu label="Resources" component="hide.view.FileBrowser" state='{"savedLayout": "SingleTree"}' position="content_left"></menu>
  79. <menu label="File Browser" component="hide.view.FileBrowser" state='{}'></menu>
  80. <separator></separator>
  81. <menu label="About" component="hide.view.About"></menu>
  82. <menu label="Debug" class="debug"></menu>
  83. <menu label="Editor Gym" component="hide.view.Gym"></menu>
  84. </menu>
  85. <menu label="Database" class="database">
  86. <menu label="View" class="dbView"></menu>
  87. <menu label="Custom Types" class="dbCustom"></menu>
  88. <menu label="Formulas">
  89. <menu label="Enable" type="checkbox" class="dbFormulasEnable"></menu>
  90. <menu label="Edit" class="dbFormulas"></menu>
  91. </menu>
  92. <menu label="Diff">
  93. <menu label="Create" class="dbCreateDiff"></menu>
  94. <menu label="Load" class="dbLoadDiff"></menu>
  95. <menu label="Close" class="dbCloseDiff"></menu>
  96. </menu>
  97. <menu label="Export Localized Texts" class="dbExport"></menu>
  98. <menu label="Import Localized Texts" class="dbImport"></menu>
  99. <menu label="Proofreading Mode" type="checkbox" class="dbProofread"></menu>
  100. <menu label="Categories" class="dbCategories">
  101. <menu label="Show All" class="dbCatShowAll"></menu>
  102. <menu label="Hide All" class="dbCatHideAll"></menu>
  103. </menu>
  104. <separator></separator>
  105. <menu label="Enable Compression" class="dbCompress" type="checkbox"></menu>
  106. </menu>
  107. <menu label="Layout" class="layout">
  108. <div class="content">
  109. </div>
  110. <separator></separator>
  111. <menu label="Keep on close" class="autosave" type="checkbox"></menu>
  112. <menu label="Save" class="save"></menu>
  113. <menu label="Save As..." class="saveas"></menu>
  114. <menu label="Manage" class="manage" disabled="disabled"></menu>
  115. </menu>
  116. <menu label="Analysis" class="analysis">
  117. <div class="content">
  118. </div>
  119. <separator></separator>
  120. <menu label="Remote console" class="remoteconsole"></menu>
  121. <menu label="Memory profiler" class="memprof"></menu>
  122. <menu label="DevTools" class="devtools"></menu>
  123. <menu label="Gpu mem dump" class="gpudump"></menu>
  124. </menu>
  125. <menu label="Settings" class="settings">
  126. <div class="content">
  127. </div>
  128. <separator></separator>
  129. <menu label="User settings" class="user-settings"></menu>
  130. <menu label="Project settings" class="project-settings"></menu>
  131. </menu>
  132. </xml>
  133. <script src="hide.js"></script>
  134. <script>
  135. if (!thumbnail) {
  136. // fix for monaco
  137. var _R = Reflect;
  138. Reflect = global.Reflect;
  139. for( f in _R )
  140. Reflect[f] = _R[f];
  141. // tmp fix jsonWorker in monaco 0.52, see https://github.com/microsoft/monaco-editor/issues/4778
  142. var appPath = hide.tools.IdeData.getAppPath();
  143. if (appPath != null && !appPath.endsWith("/")) {
  144. appPath += "/";
  145. }
  146. var libPath = (appPath == null ? '' : appPath) + 'libs/monaco/min';
  147. amdRequire.config({ baseUrl: libPath});
  148. amdRequire(['vs/editor/editor.main'], function() { });
  149. }
  150. </script>
  151. <script>
  152. var path = './';
  153. var fs = require('fs');
  154. var timer = 0;
  155. var reloadWatcher=fs.watch(path, function(_,file) {
  156. if (file == null)
  157. return;
  158. var ext = file.split(".").pop().toLowerCase();
  159. if( ext == "js")
  160. {
  161. // destroy self if we are in thumbnail generation mode
  162. if (thumbnail)
  163. nw.Window.get().close(true);
  164. if (timer != 0)
  165. clearTimeout(timer);
  166. timer = setTimeout(function() {
  167. reloadWatcher.close();
  168. hide.Ide.inst.reload();
  169. }, 1000);
  170. }
  171. if (ext == "css") {
  172. hide.Ide.inst.reloadCss(file);
  173. };
  174. });
  175. </script>
  176. </body>
  177. </html>