make UI prefs actually work, add menus for debug options, i.e. turning TraceMonkey...
[mandelbrot.git] / xulapp / chrome / mandelbrot / content / mandelbrot.xul
index be37ef319f2d8445a2b48bbe5ed438ca0142918c..821dc1772bfe2dd3e77626b2e560d8731d0e5e18 100644 (file)
 
 <window id="mandelbrotWindow" title="&windowTitle;"
         width="350" height="450"
+        onload="Startup()"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
         xmlns:html="http://www.w3.org/1999/xhtml">
+
   <script type="application/x-javascript"
           src="chrome://mandelbrot/content/mandelbrot.js"/>
+
+  <stringbundleset id="stringbundleset">
+    <stringbundle id="mbrotBundle" src="chrome://mandelbrot/locale/mandelbrot.properties"/>
+  </stringbundleset>
+
   <toolbox>
     <menubar>
-      <menu id="fileMenu" label="&fileMenu;">
-        <menupopup id="filePopup">
-          <menuitem id="fileDraw" label="&fileDraw;" oncommand="drawImage();"/>
-          <menuitem id="fileSave" label="&fileSave;" oncommand="saveImage();"/>
+      <menu id="fileMenu" label="&fileMenu.label;">
+        <menupopup id="menu_filePopup">
+          <menuitem id="fileDraw" label="&fileDraw.label;" oncommand="drawImage();"/>
+          <menuitem id="fileSave" label="&fileSave.label;" oncommand="saveImage();"/>
           <menuseparator/>
-          <menuitem id="fileQuit" label="&fileQuit;" oncommand="quitApp(false);"/>
+          <menuitem id="fileQuit" label="&fileQuit.label;" oncommand="quitApp(false);"/>
         </menupopup>
       </menu>
-      <menu id="prefMenu" label="&prefMenu;">
-        <menupopup id="prefPopup">
-          <menu id="iterMenu" label="&iterMenu;">
-            <menupopup id="iterPopup" oncommand="setIter();">
-              <menuitem type="radio" id="iter50" label="&iter50;"/>
-              <menuitem type="radio" id="iter100" label="&iter100;"/>
-              <menuitem type="radio" id="iter500" label="&iter500;"/>
-              <menuitem type="radio" id="iter1000" label="&iter1000;"/>
+      <menu id="prefMenu" label="&prefMenu.label;">
+        <menupopup id="menu_prefPopup">
+          <menu id="iterMenu" label="&iterMenu.label;">
+            <menupopup id="menu_iterPopup" onpopupshowing="updateIterMenu();" oncommand="setIter(event.target.value);">
+              <menuitem type="radio" name="iter" value="50" label="&iter50.label;"/>
+              <menuitem type="radio" name="iter" value="100" label="&iter100.label;"/>
+              <menuitem type="radio" name="iter" value="500" label="&iter500.label;"/>
+              <menuitem type="radio" name="iter" value="1000" label="&iter1000.label;"/>
             </menupopup>
           </menu>
-          <menu id="colorMenu" label="&colorMenu;">
-            <menupopup id="colorPopup" oncommand="setPalette();">
-              <menuitem type="radio" id="colorBW" label="&colorBW;"/>
-              <menuitem type="radio" id="colorKairo" label="&colorKairo;"/>
+          <menu id="colorMenu" label="&colorMenu.label;">
+            <menupopup id="menu_palettePopup" onpopupshowing="updatePaletteMenu();" oncommand="setPalette(event.target.value);">
+              <menuitem type="radio" name="palette" value="bw" label="&colorBW.label;"/>
+              <menuitem type="radio" name="palette" value="kairo" label="&colorKairo.label;"/>
+            </menupopup>
+          </menu>
+        </menupopup>
+      </menu>
+      <menu id="debugMenu" label="&debugMenu.label;">
+        <menupopup id="menu_debugPopup" onpopupshowing="updateDebugMenu();">
+          <menuitem type="checkbox" id="jitEnabled" label="&jitEnabled.label;" oncommand="toggleJITState(event.target);"/>
+          <menu id="algoMenu" label="&algoMenu.label;">
+            <menupopup id="menu_algoPopup" onpopupshowing="updateAlgoMenu();" oncommand="setAlgorithm(event.target.value);">
+              <menuitem type="radio" name="algorithm" value="numeric" label="&algoNumeric.label;"/>
+              <menuitem type="radio" name="algorithm" value="oo" label="&algoOO.label;"/>
             </menupopup>
           </menu>
         </menupopup>
       </menu>
     </menubar>
   </toolbox>
-  <button id="drawButton" label="&fileDraw;" oncommand="drawImage();"/>
+  <button id="drawButton" label="&fileDraw.label;" oncommand="drawImage();"/>
   <hbox flex="1" pack="center" align="center">
     <html:canvas id="mbrotImage" width="300" height="300"></html:canvas>
   </hbox>
-
+  <hbox pack="end" align="end">
+    <description id="statusLabel"/>
+  </hbox>
 </window>