port bug 1155776, bug 1155816, bug 870370 (moves from Makefile.in to moz.build)
[mandelbrot.git] / content / mandelbrot.xul
CommitLineData
37b05b56 1<?xml version="1.0"?>
5b823560
RK
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>.
3fd66836 20 - Portions created by the Initial Developer are Copyright (C) 2008-2011
5b823560
RK
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
37b05b56
RK
40<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
41<?xml-stylesheet href="chrome://mandelbrot/skin/" type="text/css"?>
42
3fd66836 43<!DOCTYPE page [
37b05b56
RK
44 <!ENTITY % mandelbrotDTD SYSTEM "chrome://mandelbrot/locale/mandelbrot.dtd">
45 %mandelbrotDTD;
46]>
47
3fd66836
RK
48<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
49 xmlns:html="http://www.w3.org/1999/xhtml"
140e460f 50 id="mandelbrot-page" title="&windowTitle;"
3fd66836
RK
51 disablefastfind="true"
52 onload="Startup();">
53
54 <html:link rel="shortcut icon"
55 href="chrome://mandelbrot/skin/mandelbrotIcon16.png"/>
6e98af87 56
37b05b56
RK
57 <script type="application/x-javascript"
58 src="chrome://mandelbrot/content/mandelbrot.js"/>
6e98af87
RK
59
60 <stringbundleset id="stringbundleset">
61 <stringbundle id="mbrotBundle" src="chrome://mandelbrot/locale/mandelbrot.properties"/>
62 </stringbundleset>
63
4846aa2e
RK
64 <commandset id="mainCommands">
65 </commandset>
66
37b05b56 67 <toolbox>
3fd66836
RK
68 <toolbar class="chromeclass-toolbar"
69 id="mandelbrotToolbar"
70 align="center">
cd6af089
RK
71 <toolbarbutton id="fileDraw"
72 label="&toolbarDraw.label;"
73 oncommand="drawImage();"/>
74 <toolbarbutton id="fileSave"
75 label="&toolbarSave.label;"
76 oncommand="saveImage();"/>
3fd66836
RK
77 <toolbarbutton id="bookmarkMenu"
78 type="menu"
79 class="tabbable"
80 label="&bookmarkMenu.label;">
287a980b
RK
81 <menupopup id="menu_bookmarkPopup"
82 onpopupshowing="updateBookmarkMenu(event.target);"
2eed6617 83 oncommand="callBookmark(event.target);">
cd6af089
RK
84 <menuitem id="bookmarkBack"
85 label="&bookmarkBack.label;"
86 disabled="true"
87 oncommand="goBack();"/>
88 <menuitem id="bookmarkOverview"
89 label="&bookmarkOverview.label;"/>
90 <menuitem id="bookmarkSave"
91 label="&bookmarkSave.label;"
92 oncommand="saveBookmark();"/>
287a980b 93 <menuseparator id="bookmarkSeparator"/>
2eed6617 94 </menupopup>
3fd66836 95 </toolbarbutton>
cd6af089
RK
96 <toolbarbutton id="imgSettings"
97 label="&imgSettings.label;"
98 oncommand="imgSettings();"/>
3fd66836 99 </toolbar>
37b05b56 100 </toolbox>
60e048b2
RK
101 <panel id="imgSettingsPanel"
102 onpopupshowing="initImgSettings();"
103 onpopuphiding="saveImgSettings();">
104 <!-- |titlebar="normal" noautohide="true" close="true" label="&imageSettings.title;"|
105 doesn't seem to work on the panel, so work around with a <titlebar> instead -->
106 <titlebar><label value="&imageSettings.title;"/></titlebar>
107 <groupbox>
108 <caption label="&coord.title;"/>
109 <description value="&coord.real.label;" class="coord-caption"/>
110 <hbox align="center">
111 <label value="&coord.min.label;" control="is_Cr_min"/>
112 <textbox id="is_Cr_min" size="10"
113 onchange="checkISValue(this, 'coord'); recalcCoord('Cr', 'scale');"/>
114 <label value="&coord.max.label;" control="is_Cr_max"/>
115 <textbox id="is_Cr_max" size="10"
116 onchange="checkISValue(this, 'coord'); recalcCoord('Cr', 'scale');"/>
117 <label value="&coord.scale.label;" control="is_Cr_scale"/>
118 <textbox id="is_Cr_scale" size="10"
119 onchange="checkISValue(this, 'coord'); recalcCoord('Cr', 'max');"/>
120 </hbox>
121 <separator class="thin"/>
122 <description value="&coord.imag.label;" class="coord-caption"/>
123 <hbox align="center">
124 <label value="&coord.min.label;" control="is_Ci_min"/>
125 <textbox id="is_Ci_min" size="10"
126 onchange="checkISValue(this, 'coord'); recalcCoord('Ci', 'scale');"/>
127 <label value="&coord.max.label;" control="is_Ci_max"/>
128 <textbox id="is_Ci_max" size="10"
129 onchange="checkISValue(this, 'coord'); recalcCoord('Ci', 'scale');"/>
130 <label value="&coord.scale.label;" control="is_Ci_scale"/>
131 <textbox id="is_Ci_scale" size="10"
132 onchange="checkISValue(this, 'coord'); recalcCoord('Ci', 'max');"/>
133 </hbox>
134 </groupbox>
135
136 <hbox flex="1">
137 <groupbox>
138 <caption label="&img.size.title;"/>
139 <hbox align="center">
140 <label value="&img.width.label;" control="is_img_width"/>
141 <textbox id="is_img_width" size="4"
142 onchange="checkISValue(this, 'dim'); recalcCoord('Ci', 'scale');"/>
143 </hbox>
144 <hbox align="center">
145 <label value="&img.height.label;" control="is_img_height"/>
146 <textbox id="is_img_height" size="4"
147 onchange="checkISValue(this, 'dim'); recalcCoord('Cr', 'scale');"/>
148 </hbox>
149 </groupbox>
150
151 <groupbox>
152 <caption label="&preview.title;"/>
153 <hbox flex="1" pack="center" align="center">
154 <html:canvas id="is_mbrotPreview" width="50" height="50"></html:canvas>
155 </hbox>
156 <button id="is_previewButton" label="&previewDraw.label;" oncommand="drawPreview();"/>
157 </groupbox>
158
159 <groupbox>
160 <caption label="&options.title;"/>
5fb4a082
RK
161 <hbox>
162 <vbox>
163 <label value="&colorList.label;" control="colorList"/>
164 <menulist id="colorList">
165 <menupopup oncommand="setPalette(event.target.value);">
166 <menuitem value="bw" label="&colorBW.label;"/>
167 <menuitem value="kairo" label="&colorKairo.label;"/>
168 <menuitem value="rainbow-linear1" label="&colorRBLin1.label;"/>
169 <menuitem value="rainbow-squared1" label="&colorRBSq1.label;"/>
170 <menuitem value="rainbow-linear2" label="&colorRBLin2.label;"/>
171 <menuitem value="rainbow-squared2" label="&colorRBSq2.label;"/>
172 </menupopup>
173 </menulist>
174 <label value="&algoList.label;" control="algoList"/>
175 <menulist id="algoList">
176 <menupopup oncommand="setAlgorithm(event.target.value);">
177 <menuitem value="numeric" label="&algoNumeric.label;"/>
178 <menuitem value="oo" label="&algoOO.label;"/>
179 </menupopup>
180 </menulist>
181 </vbox>
182 <vbox>
183 <label value="&iterList.label;" control="iterList"/>
184 <menulist id="iterList">
185 <menupopup oncommand="setIter(event.target.value);">
186 <menuitem value="50" label="&iter50.label;"/>
187 <menuitem value="100" label="&iter100.label;"/>
188 <menuitem value="500" label="&iter500.label;"/>
189 <menuitem value="1000" label="&iter1000.label;"/>
190 </menupopup>
191 </menulist>
192 <hbox align="center">
193 <checkbox id="is_syncProp"
194 label="&syncProp.label;"
195 onclick="checkProportions();"/>
196 </hbox>
197 </vbox>
60e048b2
RK
198 </hbox>
199 </groupbox>
200 </hbox>
201 <hbox>
202 <button id="is_closeButton" label="&closeSettings.label;" oncommand="closeImgSettings();"/>
203 <spacer flex="1"/>
204 <button id="is_drawButton" label="&drawImageButton.label;" oncommand="closeImgSettings(); drawImage();"/>
205 </hbox>
206 </panel>
37b05b56 207 <hbox flex="1" pack="center" align="center">
5366c7d6 208 <stack>
3fd66836 209 <html:canvas id="mbrotImage" width="300" height="300">
4d8e7dcb 210 </html:canvas>
5fb4a082 211 <button id="drawButton" label="&buttonDraw.label;" oncommand="drawImage();"/>
5366c7d6 212 </stack>
37b05b56 213 </hbox>
6e98af87
RK
214 <hbox pack="end" align="end">
215 <description id="statusLabel"/>
216 </hbox>
3fd66836 217</page>