821dc1772bfe2dd3e77626b2e560d8731d0e5e18
[mandelbrot.git] / xulapp / chrome / mandelbrot / content / mandelbrot.xul
1 <?xml version="1.0"?>
2 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
3 <?xml-stylesheet href="chrome://mandelbrot/skin/" type="text/css"?>
4
5 <!DOCTYPE window [
6   <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
7   %brandDTD;
8   <!ENTITY % mandelbrotDTD SYSTEM "chrome://mandelbrot/locale/mandelbrot.dtd">
9   %mandelbrotDTD;
10 ]>
11
12 <window id="mandelbrotWindow" title="&windowTitle;"
13         width="350" height="450"
14         onload="Startup()"
15         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
16         xmlns:html="http://www.w3.org/1999/xhtml">
17
18   <script type="application/x-javascript"
19           src="chrome://mandelbrot/content/mandelbrot.js"/>
20
21   <stringbundleset id="stringbundleset">
22     <stringbundle id="mbrotBundle" src="chrome://mandelbrot/locale/mandelbrot.properties"/>
23   </stringbundleset>
24
25   <toolbox>
26     <menubar>
27       <menu id="fileMenu" label="&fileMenu.label;">
28         <menupopup id="menu_filePopup">
29           <menuitem id="fileDraw" label="&fileDraw.label;" oncommand="drawImage();"/>
30           <menuitem id="fileSave" label="&fileSave.label;" oncommand="saveImage();"/>
31           <menuseparator/>
32           <menuitem id="fileQuit" label="&fileQuit.label;" oncommand="quitApp(false);"/>
33         </menupopup>
34       </menu>
35       <menu id="prefMenu" label="&prefMenu.label;">
36         <menupopup id="menu_prefPopup">
37           <menu id="iterMenu" label="&iterMenu.label;">
38             <menupopup id="menu_iterPopup" onpopupshowing="updateIterMenu();" oncommand="setIter(event.target.value);">
39               <menuitem type="radio" name="iter" value="50" label="&iter50.label;"/>
40               <menuitem type="radio" name="iter" value="100" label="&iter100.label;"/>
41               <menuitem type="radio" name="iter" value="500" label="&iter500.label;"/>
42               <menuitem type="radio" name="iter" value="1000" label="&iter1000.label;"/>
43             </menupopup>
44           </menu>
45           <menu id="colorMenu" label="&colorMenu.label;">
46             <menupopup id="menu_palettePopup" onpopupshowing="updatePaletteMenu();" oncommand="setPalette(event.target.value);">
47               <menuitem type="radio" name="palette" value="bw" label="&colorBW.label;"/>
48               <menuitem type="radio" name="palette" value="kairo" label="&colorKairo.label;"/>
49             </menupopup>
50           </menu>
51         </menupopup>
52       </menu>
53       <menu id="debugMenu" label="&debugMenu.label;">
54         <menupopup id="menu_debugPopup" onpopupshowing="updateDebugMenu();">
55           <menuitem type="checkbox" id="jitEnabled" label="&jitEnabled.label;" oncommand="toggleJITState(event.target);"/>
56           <menu id="algoMenu" label="&algoMenu.label;">
57             <menupopup id="menu_algoPopup" onpopupshowing="updateAlgoMenu();" oncommand="setAlgorithm(event.target.value);">
58               <menuitem type="radio" name="algorithm" value="numeric" label="&algoNumeric.label;"/>
59               <menuitem type="radio" name="algorithm" value="oo" label="&algoOO.label;"/>
60             </menupopup>
61           </menu>
62         </menupopup>
63       </menu>
64     </menubar>
65   </toolbox>
66   <button id="drawButton" label="&fileDraw.label;" oncommand="drawImage();"/>
67   <hbox flex="1" pack="center" align="center">
68     <html:canvas id="mbrotImage" width="300" height="300"></html:canvas>
69   </hbox>
70   <hbox pack="end" align="end">
71     <description id="statusLabel"/>
72   </hbox>
73 </window>