add a first set of code to support bookmarking places
[mandelbrot.git] / xulapp / chrome / mandelbrot / content / image-settings.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/image-settings.css" type="text/css"?>
42
43 <!DOCTYPE prefwindow SYSTEM "chrome://mandelbrot/locale/image-settings.dtd">
44
45 <prefwindow id="imgSettingsDlg"
46             xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
47             xmlns:html="http://www.w3.org/1999/xhtml"
48             title="&imageSettings.title;"
49             buttons="accept,cancel,extra1"
50             ondialogextra1="callDrawImage();"
51             buttonlabelextra1="&DrawImageButton.label;">
52
53   <prefpane id="imgSettingsPane" onpaneload="initSettings();">
54     <script type="application/x-javascript"
55             src="chrome://mandelbrot/content/mandelbrot.js"/>
56     <script type="application/x-javascript"
57             src="chrome://mandelbrot/content/image-settings.js"/>
58
59     <preferences id="mandelbrotPreferences">
60       <preference id="mandelbrot.image.width" name="mandelbrot.image.width"
61                   type="int"/>
62       <preference id="mandelbrot.image.height" name="mandelbrot.image.height"
63                   type="int"/>
64       <preference id="mandelbrot.last_image.Cr_min" name="mandelbrot.last_image.Cr_min"
65                   type="string"/>
66       <preference id="mandelbrot.last_image.Cr_max" name="mandelbrot.last_image.Cr_max"
67                   type="string"/>
68       <preference id="mandelbrot.last_image.Ci_min" name="mandelbrot.last_image.Ci_min"
69                   type="string"/>
70       <preference id="mandelbrot.last_image.Ci_max" name="mandelbrot.last_image.Ci_max"
71                   type="string"/>
72       <preference id="mandelbrot.syncProportions" name="mandelbrot.syncProportions"
73                   type="bool"/>
74     </preferences>
75
76     <groupbox>
77       <caption label="&coord.title;"/>
78       <description value="&coord.real.label;"/>
79       <hbox align="center">
80         <label value="&coord.min.label;" control="Cr_min"/>
81         <textbox id="Cr_min" size="10"
82                  preference="mandelbrot.last_image.Cr_min"
83                  onchange="recalcCoord('Cr', 'scale');"/>
84         <label value="&coord.max.label;" control="Cr_max"/>
85         <textbox id="Cr_max" size="10"
86                  preference="mandelbrot.last_image.Cr_max"
87                  onchange="recalcCoord('Cr', 'scale');"/>
88         <label value="&coord.scale.label;" control="Cr_scale"/>
89         <textbox id="Cr_scale" size="10"
90                  onchange="recalcCoord('Cr', 'max');"/>
91       </hbox>
92       <description value="&coord.imag.label;"/>
93       <hbox align="center">
94         <label value="&coord.min.label;" control="Ci_min"/>
95         <textbox id="Ci_min" size="10"
96                  preference="mandelbrot.last_image.Ci_min"
97                  onchange="recalcCoord('Ci', 'scale');"/>
98         <label value="&coord.max.label;" control="Ci_max"/>
99         <textbox id="Ci_max" size="10"
100                  preference="mandelbrot.last_image.Ci_max"
101                  onchange="recalcCoord('Ci', 'scale');"/>
102         <label value="&coord.scale.label;" control="Ci_scale"/>
103         <textbox id="Ci_scale" size="10"
104                  onchange="recalcCoord('Ci', 'max');"/>
105       </hbox>
106     </groupbox>
107
108     <hbox flex="1">
109       <groupbox>
110         <caption label="&img.size.title;"/>
111         <hbox align="center">
112           <label value="&img.width.label;" control="imgWidth"/>
113           <textbox id="imgWidth" size="4"
114                    preference="mandelbrot.image.width"
115                    onchange="recalcCoord('Ci', 'scale');"/>
116         </hbox>
117         <hbox align="center">
118           <label value="&img.height.label;" control="imgHeight"/>
119           <textbox id="imgHeight" size="4"
120                    preference="mandelbrot.image.height"
121                    onchange="recalcCoord('Cr', 'scale');"/>
122         </hbox>
123       </groupbox>
124
125       <groupbox>
126         <caption label="&preview.title;"/>
127         <hbox flex="1" pack="center" align="center">
128           <html:canvas id="mbrotPreview" width="50" height="50"></html:canvas>
129         </hbox>
130         <button id="previewButton" label="&previewDraw.label;" oncommand="drawPreview();"/>
131       </groupbox>
132
133       <groupbox>
134         <caption label="&options.title;"/>
135         <hbox align="center">
136           <checkbox id="syncProp"
137                     preference="mandelbrot.syncProportions"
138                     onclick="checkProportions();"/>
139           <label value="&syncProp.label;" control="syncProp"/>
140         </hbox>
141       </groupbox>
142     </hbox>
143   </prefpane>
144 </prefwindow>