c5c2cc60594e351a6e252539759ffb7c56cee586
[mandelbrot.git] / xulapp / chrome / mandelbrot / content / mandelbrot.xul
1 <?xml version="1.0"?>
2
3 <!-- ***** BEGIN LICENSE BLOCK *****
4    - Version: MPL 1.1/GPL 2.0/LGPL 2.1
5    -
6    - The contents of this file are subject to the Mozilla Public License Version
7    - 1.1 (the "License"); you may not use this file except in compliance with
8    - the License. You may obtain a copy of the License at
9    - http://www.mozilla.org/MPL/
10    -
11    - Software distributed under the License is distributed on an "AS IS" basis,
12    - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13    - for the specific language governing rights and limitations under the
14    - License.
15    -
16    - The Original Code is KaiRo.at Mandelbrot, XULRunner version.
17    -
18    - The Initial Developer of the Original Code is
19    - Robert Kaiser <kairo@kairo.at>.
20    - Portions created by the Initial Developer are Copyright (C) 2008
21    - the Initial Developer. All Rights Reserved.
22    -
23    - Contributor(s):
24    -   Robert Kaiser <kairo@kairo.at>
25    -
26    - Alternatively, the contents of this file may be used under the terms of
27    - either the GNU General Public License Version 2 or later (the "GPL"), or
28    - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29    - in which case the provisions of the GPL or the LGPL are applicable instead
30    - of those above. If you wish to allow use of your version of this file only
31    - under the terms of either the GPL or the LGPL, and not to allow others to
32    - use your version of this file under the terms of the MPL, indicate your
33    - decision by deleting the provisions above and replace them with the notice
34    - and other provisions required by the LGPL or the GPL. If you do not delete
35    - the provisions above, a recipient may use your version of this file under
36    - the terms of any one of the MPL, the GPL or the LGPL.
37    -
38    - ***** END LICENSE BLOCK ***** -->
39
40 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
41 <?xml-stylesheet href="chrome://mandelbrot/skin/" type="text/css"?>
42
43 <!DOCTYPE window [
44   <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
45   %brandDTD;
46   <!ENTITY % mandelbrotDTD SYSTEM "chrome://mandelbrot/locale/mandelbrot.dtd">
47   %mandelbrotDTD;
48 ]>
49
50 <window id="mandelbrotWindow" title="&windowTitle;"
51         width="350" height="450"
52         onload="Startup()"
53         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
54         xmlns:html="http://www.w3.org/1999/xhtml">
55
56   <script type="application/x-javascript"
57           src="chrome://mandelbrot/content/mandelbrot.js"/>
58
59   <stringbundleset id="stringbundleset">
60     <stringbundle id="mbrotBundle" src="chrome://mandelbrot/locale/mandelbrot.properties"/>
61   </stringbundleset>
62
63   <commandset id="mainCommands">
64   </commandset>
65
66   <toolbox>
67     <menubar>
68       <menu id="fileMenu" label="&fileMenu.label;">
69         <menupopup id="menu_filePopup">
70           <menuitem id="fileDraw" label="&fileDraw.label;" oncommand="drawImage();"/>
71           <menuitem id="fileSave" label="&fileSave.label;" oncommand="saveImage();"/>
72           <menuseparator/>
73           <menuitem id="fileQuit" label="&fileQuit.label;" oncommand="quitApp(false);"/>
74         </menupopup>
75       </menu>
76       <menu id="prefMenu" label="&prefMenu.label;">
77         <menupopup id="menu_prefPopup">
78           <menu id="iterMenu" label="&iterMenu.label;">
79             <menupopup id="menu_iterPopup" onpopupshowing="updateIterMenu();" oncommand="setIter(event.target.value);">
80               <menuitem type="radio" name="iter" value="50" label="&iter50.label;"/>
81               <menuitem type="radio" name="iter" value="100" label="&iter100.label;"/>
82               <menuitem type="radio" name="iter" value="500" label="&iter500.label;"/>
83               <menuitem type="radio" name="iter" value="1000" label="&iter1000.label;"/>
84             </menupopup>
85           </menu>
86           <menu id="colorMenu" label="&colorMenu.label;">
87             <menupopup id="menu_palettePopup" onpopupshowing="updatePaletteMenu();" oncommand="setPalette(event.target.value);">
88               <menuitem type="radio" name="palette" value="bw" label="&colorBW.label;"/>
89               <menuitem type="radio" name="palette" value="kairo" label="&colorKairo.label;"/>
90             </menupopup>
91           </menu>
92           <menuitem id="imgSettings" label="&imgSettings.label;" oncommand="imgSettings();"/>
93         </menupopup>
94       </menu>
95       <menu id="debugMenu" label="&debugMenu.label;">
96         <menupopup id="menu_debugPopup" onpopupshowing="updateDebugMenu();">
97           <menuitem type="checkbox" id="jitEnabled" label="&jitEnabled.label;" oncommand="toggleJITState(event.target);"/>
98           <menu id="algoMenu" label="&algoMenu.label;">
99             <menupopup id="menu_algoPopup" onpopupshowing="updateAlgoMenu();" oncommand="setAlgorithm(event.target.value);">
100               <menuitem type="radio" name="algorithm" value="numeric" label="&algoNumeric.label;"/>
101               <menuitem type="radio" name="algorithm" value="oo" label="&algoOO.label;"/>
102             </menupopup>
103           </menu>
104           <menuitem id="errorConsole" label="&errorConsole.label;"
105                     oncommand="errorConsole();"/>
106           <menuitem id="addonsMgr" label="&addonsManager.label;"
107                     oncommand="addonsManager();"/>
108         </menupopup>
109       </menu>
110     </menubar>
111   </toolbox>
112   <hbox flex="1" pack="center" align="center">
113     <stack>
114       <html:canvas id="mbrotImage" width="300" height="300"></html:canvas>
115       <button id="drawButton" label="&fileDraw.label;" oncommand="drawImage();"/>
116     </stack>
117   </hbox>
118   <hbox pack="end" align="end">
119     <description id="statusLabel"/>
120   </hbox>
121 </window>