<?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
+ - 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"?>
<window id="mandelbrotWindow" title="&windowTitle;"
width="350" height="450"
+ onload="Startup()"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml">
+
<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>
<menubar>
- <menu id="fileMenu" label="&fileMenu;">
- <menupopup id="filePopup">
- <menuitem id="fileDraw" label="&fileDraw;" oncommand="drawImage();"/>
- <menuitem id="fileSave" label="&fileSave;" oncommand="saveImage();"/>
+ <menu id="fileMenu" label="&fileMenu.label;">
+ <menupopup id="menu_filePopup">
+ <menuitem id="fileDraw" label="&fileDraw.label;" oncommand="drawImage();"/>
+ <menuitem id="fileSave" label="&fileSave.label;" oncommand="saveImage();"/>
<menuseparator/>
- <menuitem id="fileQuit" label="&fileQuit;" oncommand="quitApp(false);"/>
+ <menuitem id="fileQuit" label="&fileQuit.label;" oncommand="quitApp(false);"/>
+ </menupopup>
+ </menu>
+ <menu id="bookmarkMenu" 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>
</menu>
- <menu id="prefMenu" label="&prefMenu;">
- <menupopup id="prefPopup">
- <menu id="iterMenu" label="&iterMenu;">
- <menupopup id="iterPopup" oncommand="setIter();">
- <menuitem type="radio" id="iter50" label="&iter50;"/>
- <menuitem type="radio" id="iter100" label="&iter100;"/>
- <menuitem type="radio" id="iter500" label="&iter500;"/>
- <menuitem type="radio" id="iter1000" label="&iter1000;"/>
+ <menu id="prefMenu" 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;">
- <menupopup id="colorPopup" oncommand="setPalette();">
- <menuitem type="radio" id="colorBW" label="&colorBW;"/>
- <menuitem type="radio" id="colorKairo" label="&colorKairo;"/>
+ <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>
+ </menu>
+ <menu id="debugMenu" label="&debugMenu.label;">
+ <menupopup id="menu_debugPopup" onpopupshowing="updateDebugMenu();">
+ <menuitem type="checkbox" id="jitEnabled" label="&jitEnabled.label;" oncommand="toggleJITState(event.target);"/>
+ <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>
+ <menuitem id="errorConsole" label="&errorConsole.label;"
+ oncommand="errorConsole();"/>
+ <menuitem id="addonsMgr" label="&addonsManager.label;"
+ oncommand="addonsManager();"/>
</menupopup>
</menu>
</menubar>
</toolbox>
- <button id="drawButton" label="&fileDraw;" oncommand="drawImage();"/>
<hbox flex="1" pack="center" align="center">
- <html:canvas id="mbrotImage" width="300" height="300"></html:canvas>
+ <stack>
+ <html:canvas id="mbrotImage" width="300" height="300"
+ onmousedown="mouseevent('down', event);"
+ onmouseup="mouseevent('up',event);">
+ </html:canvas>
+ <button id="drawButton" label="&fileDraw.label;" oncommand="drawImage();"/>
+ </stack>
+ </hbox>
+ <hbox pack="end" align="end">
+ <description id="statusLabel"/>
</hbox>
-
</window>