make UI prefs actually work, add menus for debug options, i.e. turning TraceMonkey...
[mandelbrot.git] / xulapp / chrome / mandelbrot / content / mandelbrot.xul
... / ...
CommitLineData
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>