make mandelbrot build and roughly work as an extension
authorRobert Kaiser <kairo@kairo.at>
Thu, 27 May 2010 12:24:49 +0000 (14:24 +0200)
committerRobert Kaiser <kairo@kairo.at>
Thu, 27 May 2010 12:24:49 +0000 (14:24 +0200)
14 files changed:
Makefile.in [new file with mode: 0644]
extension/fxOverlay.xul [new file with mode: 0644]
extension/install.rdf [new file with mode: 0644]
extension/mobileOverlay.xul [new file with mode: 0644]
extension/smOverlay.xul [new file with mode: 0644]
jar.mn [new file with mode: 0644]
mandelbrot
xulapp/chrome/branding/locales/en-US/brand.dtd
xulapp/chrome/icons/default/mandelbrotWindow.ico [new file with mode: 0755]
xulapp/chrome/icons/default/mandelbrotWindow.png [new file with mode: 0644]
xulapp/chrome/mandelbrot/content/mandelbrot.js
xulapp/chrome/mandelbrot/content/mandelbrot.xul
xulapp/chrome/mandelbrot/locales/en-US/mandelbrot-overlay.dtd [new file with mode: 0644]
xulapp/chrome/mandelbrot/locales/en-US/mandelbrot.dtd

diff --git a/Makefile.in b/Makefile.in
new file mode 100644 (file)
index 0000000..51a4f0d
--- /dev/null
@@ -0,0 +1,71 @@
+# ***** 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-Mandelbrot.
+#
+# The Initial Developer of the Original Code is
+# Robert Kaiser.
+# Portions created by the Initial Developer are Copyright (C) 2010
+# 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 GPL or the LGPL. 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 *****
+
+DEPTH          = ../..
+topsrcdir      = @top_srcdir@
+srcdir         = @srcdir@
+VPATH          = @srcdir@
+relativesrcdir = extensions/mandelbrot
+
+include $(DEPTH)/config/autoconf.mk
+
+MODULE       = mandelbrot
+
+EXTENSION_VERSION      = 4.0b1
+
+XPI_NAME               = mandelbrot
+USE_EXTENSION_MANIFEST = 1
+NO_JAR_AUTO_REG        = 1
+INSTALL_EXTENSION_ID   = mandelbrot@kairo.at
+XPI_PKGNAME            = mandelbrot-$(EXTENSION_VERSION)
+
+DIST_FILES = extension/install.rdf
+
+PREF_JS_EXPORTS = $(srcdir)/xulapp/defaults/preferences/prefs.js
+
+# include config.mk before using the AB_CD var
+include $(topsrcdir)/config/config.mk
+
+DEFINES += -DAB_CD=en-US \
+           -DINSTALL_EXTENSION_ID=$(INSTALL_EXTENSION_ID) \
+           -DEXTENSION_VERSION=$(EXTENSION_VERSION)
+
+include $(topsrcdir)/config/rules.mk
+
+export::
+       $(NSINSTALL) -D $(FINAL_TARGET)/chrome/icons/default
+       $(INSTALL) $(srcdir)/xulapp/chrome/icons/default/mandelbrotWindow* $(FINAL_TARGET)/chrome/icons/default
diff --git a/extension/fxOverlay.xul b/extension/fxOverlay.xul
new file mode 100644 (file)
index 0000000..8d1c8b6
--- /dev/null
@@ -0,0 +1 @@
diff --git a/extension/install.rdf b/extension/install.rdf
new file mode 100644 (file)
index 0000000..a09bdef
--- /dev/null
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+#filter substitution
+<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
+  <Description about="urn:mozilla:install-manifest">
+    <em:id>@INSTALL_EXTENSION_ID@</em:id>
+    <em:version>@EXTENSION_VERSION@</em:version>
+    <em:name>KaiRo-Mandelbrot</em:name>
+    <em:description>Mandelbrot browser, based on highschool final thesis work of Robert Kaiser, but completely rewritten</em:description>
+    <em:creator>Robert Kaiser</em:creator>
+    <!-- Firefox -->
+    <em:targetApplication>
+      <Description>
+        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
+        <em:minVersion>3.0</em:minVersion>
+        <em:maxVersion>3.7a5pre</em:maxVersion>
+      </Description>
+    </em:targetApplication>
+    <!-- SeaMonkey -->
+    <em:targetApplication>
+      <Description>
+        <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
+        <em:minVersion>2.0a1pre</em:minVersion>
+        <em:maxVersion>2.1a2</em:maxVersion>
+      </Description>
+    </em:targetApplication>
+    <!-- Fennec -->
+    <em:targetApplication>
+      <Description>
+        <em:id>{a23983c0-fd0e-11dc-95ff-0800200c9a66}</em:id>
+        <em:minVersion>0.1</em:minVersion>
+        <em:maxVersion>1.1a1</em:maxVersion>
+      </Description>
+    </em:targetApplication>
+    <!-- toolkit -->
+    <em:targetApplication>
+      <Description>
+        <em:id>toolkit@mozilla.org</em:id>
+        <em:minVersion>1.9.0</em:minVersion>
+        <em:maxVersion>1.9.3.*</em:maxVersion>
+      </Description>
+    </em:targetApplication>
+  </Description>
+</RDF>
\ No newline at end of file
diff --git a/extension/mobileOverlay.xul b/extension/mobileOverlay.xul
new file mode 100644 (file)
index 0000000..8d1c8b6
--- /dev/null
@@ -0,0 +1 @@
diff --git a/extension/smOverlay.xul b/extension/smOverlay.xul
new file mode 100644 (file)
index 0000000..623e9a7
--- /dev/null
@@ -0,0 +1,56 @@
+<?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) 2010
+   - the Initial Developer. All Rights Reserved.
+   -
+   - Contributor(s):
+   -   Robert Kaiser <kairo@kairo.at> (original author)
+   -
+   - 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 ***** -->
+
+<!DOCTYPE overlay SYSTEM "chrome://mandelbrot/locale/mandelbrot-overlay.dtd" >
+
+<overlay id="mandelbrotOverlay"
+         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+  <commandset id="tasksCommands">
+    <command id="Tasks:Mandelbrot"
+             oncommand="window.openDialog('chrome://mandelbrot/content/mandelbrot.xul', '_blank', 'all,dialog=no');"/>
+  </commandset>
+
+  <menupopup id="windowPopup">
+    <menuitem id="tasksMenuMandelbrot" class="menuitem-iconic"
+              label="&mandelbrotCmd.label;" accesskey="&mandelbrotCmd.accesskey;"
+              command="Tasks:Mandelbrot"
+              insertbefore="sep-window-list"/>
+  </menupopup>
+
+</overlay>
diff --git a/jar.mn b/jar.mn
new file mode 100644 (file)
index 0000000..4a64683
--- /dev/null
+++ b/jar.mn
@@ -0,0 +1,22 @@
+#filter substitution
+
+mandelbrot.jar:
+% content mandelbrot               %content/mandelbrot/
+% skin    mandelbrot  classic/1.0  %skin/classic/mandelbrot/
+% locale  mandelbrot  @AB_CD@      %locale/@AB_CD@/mandelbrot/
+% overlay chrome://browser/content/browser.xul chrome://mandelbrot/content/fxOverlay.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
+% overlay chrome://browser/content/browser.xul chrome://mandelbrot/content/mobileOverlay.xul application={a23983c0-fd0e-11dc-95ff-0800200c9a66}
+% overlay chrome://communicator/content/tasksOverlay.xul chrome://mandelbrot/content/smOverlay.xul application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
+  content/mandelbrot/mandelbrot.js                 (xulapp/chrome/mandelbrot/content/mandelbrot.js)
+  content/mandelbrot/mandelbrot.xul                (xulapp/chrome/mandelbrot/content/mandelbrot.xul)
+  content/mandelbrot/image-settings.js             (xulapp/chrome/mandelbrot/content/image-settings.js)
+  content/mandelbrot/image-settings.xul            (xulapp/chrome/mandelbrot/content/image-settings.xul)
+  content/mandelbrot/fxOverlay.xul                 (extension/fxOverlay.xul)
+  content/mandelbrot/mobileOverlay.xul             (extension/mobileOverlay.xul)
+  content/mandelbrot/smOverlay.xul                 (extension/smOverlay.xul)
+  skin/classic/mandelbrot/mandelbrot.css           (xulapp/chrome/mandelbrot/skin/classic/mandelbrot.css)
+  skin/classic/mandelbrot/image-settings.css       (xulapp/chrome/mandelbrot/skin/classic/image-settings.css)
+  locale/@AB_CD@/mandelbrot/mandelbrot.dtd         (xulapp/chrome/mandelbrot/locales/@AB_CD@/mandelbrot.dtd)
+  locale/@AB_CD@/mandelbrot/mandelbrot.properties  (xulapp/chrome/mandelbrot/locales/@AB_CD@/mandelbrot.properties)
+  locale/@AB_CD@/mandelbrot/mandelbrot-overlay.dtd (xulapp/chrome/mandelbrot/locales/@AB_CD@/mandelbrot-overlay.dtd)
+  locale/@AB_CD@/mandelbrot/image-settings.dtd     (xulapp/chrome/mandelbrot/locales/@AB_CD@/image-settings.dtd)
index 3a58794..f332251 100755 (executable)
@@ -58,6 +58,14 @@ if test -z "$xulrunner"; then
     fi
   done
 fi
+if test -z "$xulrunner"; then
+  # catch the last one of those in versioned directories
+  for xrbin in /opt/mozilla/xulrunner-*/xulrunner; do
+    if test -e "$xrbin"; then
+      xulrunner="$xrbin"
+    fi
+  done
+fi
 if test -z "$xulrunner"; then
   xulrunner=`which xulrunner`
 fi
index 65ef1c9..9833e08 100644 (file)
    -
    - ***** END LICENSE BLOCK ***** -->
 
-<!ENTITY  brandFullName         "Mandelbrot">
-<!ENTITY  brandShortName        "Mandelbrot">
-<!ENTITY  brandVersion          "4pre">
-<!ENTITY  vendorShortName       "KaiRo.at">
+<!-- import actual branding names from app for addon compat -->
+<!ENTITY % mandelOverlayDTD SYSTEM "chrome://mandelbrot/locale/mandelbrot-overlay.dtd">
+%mandelOverlayDTD;
+
+<!ENTITY  brandFullName         "&mbBrandFullName;">
+<!ENTITY  brandShortName        "&mbBrandShortName;">
+<!ENTITY  brandVersion          "&mbVersion;">
+<!ENTITY  vendorShortName       "&mbVendorShortName;">
 <!ENTITY  copyright.string      "Copyright &copy; 2008 KaiRo.at - Robert Kaiser IT-Services.">
diff --git a/xulapp/chrome/icons/default/mandelbrotWindow.ico b/xulapp/chrome/icons/default/mandelbrotWindow.ico
new file mode 100755 (executable)
index 0000000..568aeaf
Binary files /dev/null and b/xulapp/chrome/icons/default/mandelbrotWindow.ico differ
diff --git a/xulapp/chrome/icons/default/mandelbrotWindow.png b/xulapp/chrome/icons/default/mandelbrotWindow.png
new file mode 100644 (file)
index 0000000..3cfd60b
Binary files /dev/null and b/xulapp/chrome/icons/default/mandelbrotWindow.png differ
index e4c7d9a..212e188 100644 (file)
@@ -45,6 +45,7 @@ var gCurrentImageData;
 
 function Startup() {
   updateIterMenu();
+  updateAlgoMenu();
   updatePaletteMenu();
   gMbrotBundle = document.getElementById("mbrotBundle");
   document.getElementById("statusLabel").value = gMbrotBundle.getString("statusEmpty");
index 5115ed0..936bf3d 100644 (file)
@@ -41,6 +41,8 @@
 <?xml-stylesheet href="chrome://mandelbrot/skin/" type="text/css"?>
 
 <!DOCTYPE window [
+  <!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">
diff --git a/xulapp/chrome/mandelbrot/locales/en-US/mandelbrot-overlay.dtd b/xulapp/chrome/mandelbrot/locales/en-US/mandelbrot-overlay.dtd
new file mode 100644 (file)
index 0000000..422a623
--- /dev/null
@@ -0,0 +1,44 @@
+<!-- ***** 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) 2010
+   - 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 ***** -->
+
+<!ENTITY mbBrandFullName "Mandelbrot">
+<!ENTITY mbBrandShortName "Mandelbrot">
+<!ENTITY mbBrandVersion "4.0 Beta 1">
+<!ENTITY mbVendorShortName "KaiRo.at">
+
+<!ENTITY mandelbrotCmd.label "&mbVendorShortName; &mbBrandShortName;">
+<!ENTITY mandelbrotCmd.accesskey "K">
index 1a9ff9f..2147523 100644 (file)
@@ -35,7 +35,7 @@
    -
    - ***** END LICENSE BLOCK ***** -->
 
-<!ENTITY windowTitle      "&vendorShortName; &brandShortName; &brandVersion;">
+<!ENTITY windowTitle      "&mbVendorShortName; &mbBrandShortName; &mbBrandVersion;">
 
 <!ENTITY fileMenu.label   "File">
 <!ENTITY fileDraw.label   "Draw Image">