-<?xml version="1.0"?>
-
-<!-- ***** BEGIN LICENSE BLOCK *****
- - Version: MPL 1.1/GPL 2.0/LGPL 2.1
- -
- - The contents of this file are subject to the Mozilla Public License Version
- - 1.1 (the "License"); you may not use this file except in compliance with
- - the License. You may obtain a copy of the License at
- - http://www.mozilla.org/MPL/
- -
- - Software distributed under the License is distributed on an "AS IS" basis,
- - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- - for the specific language governing rights and limitations under the
- - License.
- -
- - The Original Code is KaiRo.at Mandelbrot, XULRunner version.
- -
- - The Initial Developer of the Original Code is
- - Robert Kaiser <kairo@kairo.at>.
- - Portions created by the Initial Developer are Copyright (C) 2008-2011
- - the Initial Developer. All Rights Reserved.
- -
- - Contributor(s):
- - Robert Kaiser <kairo@kairo.at>
- -
- - Alternatively, the contents of this file may be used under the terms of
- - either the GNU General Public License Version 2 or later (the "GPL"), or
- - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- - in which case the provisions of the GPL or the LGPL are applicable instead
- - of those above. If you wish to allow use of your version of this file only
- - under the terms of either the GPL or the LGPL, and not to allow others to
- - use your version of this file under the terms of the MPL, indicate your
- - decision by deleting the provisions above and replace them with the notice
- - and other provisions required by the LGPL or the GPL. If you do not delete
- - the provisions above, a recipient may use your version of this file under
- - the terms of any one of the MPL, the GPL or the LGPL.
- -
- - ***** END LICENSE BLOCK ***** -->
-
-<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
-<?xml-stylesheet href="chrome://mandelbrot/skin/" type="text/css"?>
-
-<!DOCTYPE page [
- <!ENTITY % mandelOverlayDTD SYSTEM "chrome://mandelbrot/locale/mandelbrot-overlay.dtd">
- %mandelOverlayDTD;
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
- %brandDTD;
- <!ENTITY % mandelbrotDTD SYSTEM "chrome://mandelbrot/locale/mandelbrot.dtd">
- %mandelbrotDTD;
-]>
-
-<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- xmlns:html="http://www.w3.org/1999/xhtml"
- id="mandelbrotWindow" title="&windowTitle;"
- disablefastfind="true"
- onload="Startup();">
-
- <html:link rel="shortcut icon"
- href="chrome://mandelbrot/skin/mandelbrotIcon16.png"/>
-
- <script type="application/x-javascript"
- src="chrome://mandelbrot/content/mandelbrot.js"/>
-
- <stringbundleset id="stringbundleset">
- <stringbundle id="mbrotBundle" src="chrome://mandelbrot/locale/mandelbrot.properties"/>
- </stringbundleset>
-
- <commandset id="mainCommands">
- </commandset>
-
- <toolbox>
- <toolbar class="chromeclass-toolbar"
- id="mandelbrotToolbar"
- align="center">
- <toolbarbutton id="fileMenu"
- type="menu"
- class="tabbable"
- label="&fileMenu.label;">
- <menupopup id="menu_filePopup">
- <menuitem id="fileDraw" label="&fileDraw.label;" oncommand="drawImage();"/>
- <menuitem id="fileSave" label="&fileSave.label;" oncommand="saveImage();"/>
- </menupopup>
- </toolbarbutton>
- <toolbarbutton id="bookmarkMenu"
- type="menu"
- class="tabbable"
- label="&bookmarkMenu.label;">
- <menupopup id="menu_bookmarkPopup"
- onpopupshowing="updateBookmarkMenu(event.target);"
- oncommand="callBookmark(event.target);">
- <menuitem id="bookmarkOverview" label="&bookmarkOverview.label;"/>
- <menuitem id="bookmarkSave" label="&bookmarkSave.label;" oncommand="saveBookmark();"/>
- <menuseparator id="bookmarkSeparator"/>
- </menupopup>
- </toolbarbutton>
- <toolbarbutton id="prefMenu"
- type="menu"
- class="tabbable"
- label="&prefMenu.label;">
- <menupopup id="menu_prefPopup">
- <menu id="iterMenu" label="&iterMenu.label;">
- <menupopup id="menu_iterPopup" onpopupshowing="updateIterMenu();" oncommand="setIter(event.target.value);">
- <menuitem type="radio" name="iter" value="50" label="&iter50.label;"/>
- <menuitem type="radio" name="iter" value="100" label="&iter100.label;"/>
- <menuitem type="radio" name="iter" value="500" label="&iter500.label;"/>
- <menuitem type="radio" name="iter" value="1000" label="&iter1000.label;"/>
- </menupopup>
- </menu>
- <menu id="colorMenu" label="&colorMenu.label;">
- <menupopup id="menu_palettePopup" onpopupshowing="updatePaletteMenu();" oncommand="setPalette(event.target.value);">
- <menuitem type="radio" name="palette" value="bw" label="&colorBW.label;"/>
- <menuitem type="radio" name="palette" value="kairo" label="&colorKairo.label;"/>
- <menuitem type="radio" name="palette" value="rainbow-linear1" label="&colorRBLin1.label;"/>
- <menuitem type="radio" name="palette" value="rainbow-squared1" label="&colorRBSq1.label;"/>
- <menuitem type="radio" name="palette" value="rainbow-linear2" label="&colorRBLin2.label;"/>
- <menuitem type="radio" name="palette" value="rainbow-squared2" label="&colorRBSq2.label;"/>
- </menupopup>
- </menu>
- <menuitem id="imgSettings" label="&imgSettings.label;" oncommand="imgSettings();"/>
- </menupopup>
- </toolbarbutton>
- <toolbarbutton id="debugMenu"
- type="menu"
- class="tabbable"
- label="&debugMenu.label;">
- <menupopup id="menu_debugPopup" onpopupshowing="updateDebugMenu();">
- <menuitem type="checkbox" id="jitEnabled" label="&tracejitEnabled.label;" oncommand="toggleJITState(event.target, '');" hidden="true"/>
- <menuitem type="checkbox" id="tracejitEnabled" label="&tracejitEnabled.label;" oncommand="toggleJITState(event.target, 'trace');"/>
- <menuitem type="checkbox" id="methodjitEnabled" label="&methodjitEnabled.label;" oncommand="toggleJITState(event.target, 'method');"/>
- <menu id="algoMenu" label="&algoMenu.label;">
- <menupopup id="menu_algoPopup" onpopupshowing="updateAlgoMenu();" oncommand="setAlgorithm(event.target.value);">
- <menuitem type="radio" name="algorithm" value="numeric" label="&algoNumeric.label;"/>
- <menuitem type="radio" name="algorithm" value="oo" label="&algoOO.label;"/>
- </menupopup>
- </menu>
- </menupopup>
- </toolbarbutton>
- </toolbar>
- </toolbox>
- <panel id="imgSettingsPanel"
- onpopupshowing="initImgSettings();"
- onpopuphiding="saveImgSettings();">
- <!-- |titlebar="normal" noautohide="true" close="true" label="&imageSettings.title;"|
- doesn't seem to work on the panel, so work around with a <titlebar> instead -->
- <titlebar><label value="&imageSettings.title;"/></titlebar>
- <groupbox>
- <caption label="&coord.title;"/>
- <description value="&coord.real.label;" class="coord-caption"/>
- <hbox align="center">
- <label value="&coord.min.label;" control="is_Cr_min"/>
- <textbox id="is_Cr_min" size="10"
- onchange="checkISValue(this, 'coord'); recalcCoord('Cr', 'scale');"/>
- <label value="&coord.max.label;" control="is_Cr_max"/>
- <textbox id="is_Cr_max" size="10"
- onchange="checkISValue(this, 'coord'); recalcCoord('Cr', 'scale');"/>
- <label value="&coord.scale.label;" control="is_Cr_scale"/>
- <textbox id="is_Cr_scale" size="10"
- onchange="checkISValue(this, 'coord'); recalcCoord('Cr', 'max');"/>
- </hbox>
- <separator class="thin"/>
- <description value="&coord.imag.label;" class="coord-caption"/>
- <hbox align="center">
- <label value="&coord.min.label;" control="is_Ci_min"/>
- <textbox id="is_Ci_min" size="10"
- onchange="checkISValue(this, 'coord'); recalcCoord('Ci', 'scale');"/>
- <label value="&coord.max.label;" control="is_Ci_max"/>
- <textbox id="is_Ci_max" size="10"
- onchange="checkISValue(this, 'coord'); recalcCoord('Ci', 'scale');"/>
- <label value="&coord.scale.label;" control="is_Ci_scale"/>
- <textbox id="is_Ci_scale" size="10"
- onchange="checkISValue(this, 'coord'); recalcCoord('Ci', 'max');"/>
- </hbox>
- </groupbox>
-
- <hbox flex="1">
- <groupbox>
- <caption label="&img.size.title;"/>
- <hbox align="center">
- <label value="&img.width.label;" control="is_img_width"/>
- <textbox id="is_img_width" size="4"
- onchange="checkISValue(this, 'dim'); recalcCoord('Ci', 'scale');"/>
- </hbox>
- <hbox align="center">
- <label value="&img.height.label;" control="is_img_height"/>
- <textbox id="is_img_height" size="4"
- onchange="checkISValue(this, 'dim'); recalcCoord('Cr', 'scale');"/>
- </hbox>
- </groupbox>
-
- <groupbox>
- <caption label="&preview.title;"/>
- <hbox flex="1" pack="center" align="center">
- <html:canvas id="is_mbrotPreview" width="50" height="50"></html:canvas>
- </hbox>
- <button id="is_previewButton" label="&previewDraw.label;" oncommand="drawPreview();"/>
- </groupbox>
-
- <groupbox>
- <caption label="&options.title;"/>
- <hbox align="center">
- <checkbox id="is_syncProp"
- label="&syncProp.label;"
- onclick="checkProportions();"/>
- </hbox>
- </groupbox>
- </hbox>
- <hbox>
- <button id="is_closeButton" label="&closeSettings.label;" oncommand="closeImgSettings();"/>
- <spacer flex="1"/>
- <button id="is_drawButton" label="&drawImageButton.label;" oncommand="closeImgSettings(); drawImage();"/>
- </hbox>
- </panel>
- <hbox flex="1" pack="center" align="center">
- <stack>
- <html:canvas id="mbrotImage" width="300" height="300"
- onmousedown="mouseevent('down', event);"
- onmouseup="mouseevent('up', event);"
- onmousemove="mouseevent('move', event);">
- </html:canvas>
- <button id="drawButton" label="&fileDraw.label;" oncommand="drawImage();"/>
- </stack>
- </hbox>
- <hbox pack="end" align="end">
- <description id="statusLabel"/>
- </hbox>
-</page>