+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/dialog_colors.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/dialog_colors.js Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,168 @@
+/*
+Copyright (C) 2003 WTWG, Uni Bern
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+Author: Christian Luginbuehl, 01.05.2003 , Version Alcatraz 0.3
+*/
+
+function markCurrentColors() {
+
+ var add = opener.content.getParameter('rgba');
+ var mult = opener.content.getParameter('rgbm');
+
+ if ( add == '' ) {
+ add = "0/0/0";
+ }
+
+ if ( mult == '' ) {
+ mult = "0/0/0";
+ }
+
+ add = add.split("/");
+ mult = mult.split("/");
+
+ var items = document.getElementById('add_red_popup').childNodes;
+
+ for ( i = 0; i < items.length; i++ ) {
+ if ( parseFloat(items[i].getAttribute('value')) == parseFloat(add[0]) ) {
+ document.getElementById('add_red_list').selectedItem = items[i];
+ }
+ }
+
+ items = document.getElementById('add_green_popup').childNodes;
+
+ for ( i = 0; i < items.length; i++ ) {
+ if ( parseFloat(items[i].getAttribute('value')) == parseFloat(add[1]) ) {
+ document.getElementById('add_green_list').selectedItem = items[i];
+ }
+ }
+
+ items = document.getElementById('add_blue_popup').childNodes;
+
+ for ( i = 0; i < items.length; i++ ) {
+ if ( parseFloat(items[i].getAttribute('value')) == parseFloat(add[2]) ) {
+ document.getElementById('add_blue_list').selectedItem = items[i];
+ }
+ }
+
+ items = document.getElementById('mult_red_popup').childNodes;
+
+ for ( i = 0; i < items.length; i++ ) {
+ if ( parseFloat(items[i].getAttribute('value')) == parseFloat(mult[0]) ) {
+ document.getElementById('mult_red_list').selectedItem = items[i];
+ }
+ }
+
+ items = document.getElementById('mult_green_popup').childNodes;
+
+ for ( i = 0; i < items.length; i++ ) {
+ if ( parseFloat(items[i].getAttribute('value')) == parseFloat(mult[1]) ) {
+ document.getElementById('mult_green_list').selectedItem = items[i];
+ }
+ }
+
+ items = document.getElementById('mult_blue_popup').childNodes;
+
+ for ( i = 0; i < items.length; i++ ) {
+ if ( parseFloat(items[i].getAttribute('value')) == parseFloat(mult[2]) ) {
+ document.getElementById('mult_blue_list').selectedItem = items[i];
+ }
+ }
+
+
+}
+
+
+function change() {
+
+ var old_add = opener.content.getParameter('rgba');
+ var old_mult = opener.content.getParameter('rgbm');
+
+ var add = new Array();
+ var mult = new Array();
+
+ if ( old_add == '' ) {
+ old_add = "0/0/0";
+ }
+
+ if ( old_mult == '' ) {
+ old_mult = "0/0/0";
+ }
+
+
+ var items = document.getElementById('add_red_popup').childNodes;
+
+ for ( i = 0; i
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/dialog_options.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/dialog_options.js Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,71 @@
+/*
+Copyright (C) 2003 WTWG, Uni Bern
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+Author: Christian Luginbuehl, 23.01.2004 , Version Alcatraz 0.5
+*/
+
+
+function getCurrentOptions() {
+
+ var keeparea = getSetting('keeparea');
+
+ if (keeparea != '') {
+ document.getElementById('keeparea_check').setAttribute('checked', keeparea);
+ }
+
+ var items = document.getElementById('zoom_popup').childNodes;
+ var zoomkind = getSetting('zoomkind');
+
+ for ( i = 0; i
+
+
+
+
+
+
+
+
+
+
+
+ Change the default behaviour of your sidebar
+
+
+
+ Choose eighter 'zoom area' or 'zoom point' as the behaviour of the
+ zooming functionality.
+
+
+
+
+
+
+
+
+
+
+
+
+ Choose 'keep area' in order to keep the zoomed part when
+ jumping to another page.
+
+
+
+
+
+
+
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/dialog_originalsize.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/dialog_originalsize.js Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,108 @@
+/*
+Copyright (C) 2003 WTWG, Uni Bern
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+Author: Christian Luginbuehl, 01.05.2003 , Version Alcatraz 0.3
+*/
+
+var VERTICAL_PIXELS = 500;
+var HORIZONTAL_PIXELS = 500;
+
+function getCurrentOriginalSize() {
+
+ var v_value = getSetting('originalsize_v_value');
+ var v_unit = getSetting('originalsize_v_unit');
+ var h_value = getSetting('originalsize_h_value');
+ var h_unit = getSetting('originalsize_h_unit');
+
+ document.getElementById('vertical_value').setAttribute('value', v_value);
+ document.getElementById('horizontal_value').setAttribute('value', h_value);
+
+ var items = document.getElementById('vertical_unit_popup').childNodes;
+
+ for ( i = 0; i
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ In order to see the images in original size, measure the bars and enter its values.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/dialog_page.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/dialog_page.js Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,80 @@
+/*
+Copyright (C) 2003 WTWG, Uni Bern
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+Author: Christian Luginbuehl, 01.05.2003 , Version Alcatraz 0.3
+*/
+
+function markCurrentPage() {
+
+ var current_page = opener.content.getParameter('pn');
+ var total_pages = opener.content.getParameter('pt');
+
+ if ( total_pages ) {
+ document.getElementById('dialog_desc').setAttribute('value', "Choose the page to go (1 - " + total_pages + ") :");
+ }
+
+ document.getElementById('page_value').setAttribute('value', current_page);
+
+}
+
+
+function go() {
+
+ var old_current_page = opener.content.getParameter('pn');
+ var total_pages = opener.content.getParameter('pt');
+
+ var page = document.getElementById('page_value').value;
+
+ if ( parseInt(page) != page ) {
+ alert ("Illegal value!");
+ } else if ( parseInt(page) < 1 ) {
+ alert ("Illegal value!");
+ } else if ( total_pages && parseInt(page) > total_pages ) {
+ alert ("Illegal value!");
+ } else {
+ var allcookies = opener.content.document.cookie;
+
+ var pos = allcookies.indexOf('keeparea=');
+
+ if ( pos > -1 ) {
+ var start = pos + 9;
+ var end = allcookies.indexOf(';', start);
+ if ( end == -1 ) {
+ end = allcookies.length;
+ }
+
+ if ( allcookies.slice(start, end) == 'true' ) {
+ opener.content.page(page, 2);
+ } else {
+ opener.content.page(page, 1);
+ }
+ } else {
+ // default
+ opener.content.page(page, 2);
+ }
+
+ close();
+ }
+
+}
+
+
+function cancel() {
+
+ close();
+
+}
\ No newline at end of file
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/dialog_page.xul
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/dialog_page.xul Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+ Choose the page to go :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/dialog_rotate.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/dialog_rotate.js Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,73 @@
+/*
+Copyright (C) 2003 WTWG, Uni Bern
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+Author: Christian Luginbuehl, 01.05.2003 , Version Alcatraz 0.3
+*/
+
+function markCurrentRotation() {
+
+ var angle = opener.content.getParameter('rot');
+
+ if ( angle && (angle == 0.0 || angle == 90.0 || angle == 180.0 || angle == 270.0) ) {
+ var item = "rotation_" + parseInt(angle);
+ document.getElementById(item).setAttribute('selected', 'true');
+ } else if ( angle && angle == parseFloat(angle) ) {
+ document.getElementById('rotation_custom').setAttribute('selected', 'true');
+ document.getElementById('rotation_custom_value').setAttribute('value', angle);
+ }
+
+}
+
+
+function input() {
+
+ document.getElementById('rotation_custom').setAttribute('selected', 'true');
+
+}
+
+function rotate() {
+
+ var angle = 0.0;
+
+ var items = document.getElementById('rotation_group').childNodes;
+
+ if ( document.getElementById('rotation_custom').getAttribute('selected') == 'true' ) {
+ angle = document.getElementById('rotation_custom_value').value;
+ } else {
+ for ( i = 0; i
+
+
+
+
+
+
+
+
+
+ Choose the rotation angle (clockwise orientation) :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/imago.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/imago.js Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,81 @@
+/*
+Copyright (C) 2003 WTWG, Uni Bern
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+Author: Christian Luginbuehl, 26.02.2004 , Version Alcatraz 0.6
+*/
+
+
+function markCurrentScale() {
+
+ var menuitems = document.getElementById('scale_popup').childNodes;
+
+ for ( i = 0; i < menuitems.length; i++ ) {
+ menuitems[i].setAttribute('checked', 'false');
+ }
+
+ if ( window.content.getParameter('mo').indexOf('clip') > -1 ) {
+ document.getElementById('scale_pbp').setAttribute('checked', 'true');
+ } else if ( window.content.getParameter('mo').indexOf('osize') > -1 ) {
+ document.getElementById('scale_os').setAttribute('checked', 'true');
+ } else {
+ var item = "scale_" + window.content.getParameter('ws').replace(/\./, "");
+
+ if ( document.getElementById(item) ) {
+ document.getElementById(item).setAttribute('checked', 'true');
+ }
+ }
+
+}
+
+
+function markCurrentMirror() {
+
+ var menuitems = document.getElementById('mirror_popup').childNodes;
+
+ for ( i = 0; i < menuitems.length; i++ ) {
+ menuitems[i].setAttribute('checked', 'false');
+ }
+
+ if ( window.content.getParameter('mo').indexOf('hmir') > -1 ) {
+ document.getElementById('mirror_h').setAttribute('checked', 'true');
+ }
+
+ if ( window.content.getParameter('mo').indexOf('vmir') > -1 ) {
+ document.getElementById('mirror_v').setAttribute('checked', 'true');
+ }
+
+}
+
+
+function dialog_originalsize() {
+ window.openDialog("chrome://alcatraz/content/dialog_originalsize.xul", "dialog_originalsize", "chrome,dialog,resizable=no", "");
+}
+
+
+function dialog_rotate() {
+ window.openDialog("chrome://alcatraz/content/dialog_rotate.xul", "dialog_rotate", "chrome,dialog,resizable=no", "");
+}
+
+
+function dialog_brightnesscontrast() {
+ window.openDialog("chrome://alcatraz/content/dialog_brightnesscontrast.xul", "dialog_brightnesscontrast", "chrome,dialog,resizable=no", "");
+}
+
+
+function dialog_colors() {
+ window.openDialog("chrome://alcatraz/content/dialog_colors.xul", "dialog_colors", "chrome,dialog,resizable=no", "");
+}
\ No newline at end of file
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/imago.xul
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/imago.xul Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/navigio.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/navigio.js Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,32 @@
+/*
+Copyright (C) 2003 WTWG, Uni Bern
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+Author: Christian Luginbuehl, 01.05.2003 , Version Alcatraz 0.5
+*/
+
+function set_project(search,result){
+ var navigio_frame=document.getElementById('navigio_frame');
+ var navigio_result_frame=document.getElementById('resultframe');
+ var navigio_splitter=document.getElementById('navigio_splitter');
+ navigio_frame.setAttribute('src',search);
+ navigio_frame.setAttribute('flex','1');
+ navigio_result_frame.setAttribute('src',result);
+ navigio_result_frame.setAttribute('flex','1');
+ navigio_splitter.setAttribute('state','open');
+ navigio_splitter.setAttribute('collapse','before');
+
+}
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/navigio.xul
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/navigio.xul Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/navigio_tree.xul
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/navigio_tree.xul Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/rdfds.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/rdfds.js Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,760 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+ * 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 rdfds
+ *
+ * The Initial Developer of the Original Code is Neil Deakin
+ * Portions created by Neil Deakin are Copyright (C) 2002 Neil Deakin.
+ * All Rights Reserved.
+ *
+ * Contributor(s):
+ */
+
+/* This is a library for easier access to RDF datasources and resources.
+ * It contains four objects, RDFDataSource, RDFNode, RDFLiteral. and
+ * RDFEnumerator.
+ *
+ * An RDF DataSource is a graph of nodes and literals. The constructor
+ * for RDFDataSource takes one argument, a URI of an RDF file to use.
+ * If the URI exists, the contents of the RDF file are loaded. If it
+ * does not exist, resources can be added to it and then written using
+ * this save method. If the URL argument is null, a blank datasource
+ * is created.
+ *
+ * This library is designed for convenience not for efficiency.
+ *
+ * The API is documented at:
+ * http://www.xulplanet.com/tutorials/xultu/rdfds/
+ *
+ * Example:
+ *
+ * var ds=new RDFDataSource("file:///main/mozilla/mimtest.rdf");
+ * var node=ds.getNode("urn:xpimaker:packlist");
+ * var child=ds.getNode("urn:xpimaker:packlist:appinfo");
+ * child=node.addChild(child);
+ * child.addTarget("http://www.xulplanet.com/rdf/xpimaker#appname","Find Files");
+ * ds.save();
+ *
+ */
+
+var RDFService = "@mozilla.org/rdf/rdf-service;1";
+RDFService = Components.classes[RDFService].getService();
+RDFService = RDFService.QueryInterface(Components.interfaces.nsIRDFService);
+
+var RDFContainerUtilsService = "@mozilla.org/rdf/container-utils;1";
+RDFContainerUtilsService = Components.classes[RDFContainerUtilsService].getService();
+RDFContainerUtilsService = RDFContainerUtilsService.QueryInterface(Components.interfaces.nsIRDFContainerUtils);
+
+/* RDFLoadObserver
+ * this object is necessary to listen to RDF files being loaded. The Init
+ * function should be called to initialize the callback when the RDF file is
+ * loaded.
+ */
+function RDFLoadObserver(){}
+
+RDFLoadObserver.prototype =
+{
+ callback: null,
+ callbackDataSource: null,
+
+ Init: function(c,cDS){
+ this.callback=c;
+ this.callbackDataSource=cDS;
+ },
+
+ QueryInterface: function(iid){
+ if (iid.equals(Components.interfaces.nsIRDFXMLSinkObserver)) return this;
+ else throw Components.results.NS_ERROR_NO_INTERFACE;
+ },
+
+ onBeginLoad : function(sink){},
+ onInterrupt : function(sink){},
+ onResume : function(sink){},
+ onError : function(sink,status,msg){},
+
+ onEndLoad : function(sink){
+ if (this.callback!=null) this.callback(this.callbackDataSource);
+ }
+};
+
+function RDFDataSource(uri,callbackFn)
+{
+ if (uri==null) this.datasource=null;
+ else this.load(uri,callbackFn);
+}
+
+RDFDataSource.prototype.load=
+ function(uri,callbackFn)
+{
+ if (uri.indexOf(":") == -1){
+ var docurl=document.location.href;
+ if (document.location.pathname == null) uri=docurl+"/"+uri;
+ else uri=docurl.substring(0,docurl.lastIndexOf("/")+1)+uri;
+ }
+
+ if (callbackFn == null){
+ this.datasource=RDFService.GetDataSourceBlocking(uri);
+ }
+ else {
+ this.datasource=RDFService.GetDataSource(uri);
+ var ds;
+ try {
+ var ds=this.datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ }
+ catch (ex){
+ callbackFn(this);
+ return;
+ }
+ if (ds.loaded){
+ callbackFn(this);
+ return;
+ }
+
+ var packObserver=new RDFLoadObserver();
+ packObserver.Init(callbackFn,this);
+
+ var rawsource=this.datasource;
+ rawsource=rawsource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ rawsource.addXMLSinkObserver(packObserver);
+ }
+}
+
+RDFDataSource.prototype.Init=
+ function (dsource)
+{
+ this.datasource=dsource;
+}
+
+RDFDataSource.prototype.parseFromString=
+ function (str,baseUri)
+{
+ if (this.datasource==null) this.makeemptyds();
+ var ios=Components.classes["@mozilla.org/network/io-service;1"]
+ .getService(Components.interfaces.nsIIOService);
+ baseUri=ios.newURI(baseUri,null,null);
+ var xmlParser=Components.classes["@mozilla.org/rdf/xml-parser;1"]
+ .createInstance(Components.interfaces.nsIRDFXMLParser);
+ xmlParser.parseString(this.datasource,baseUri,str);
+}
+
+RDFDataSource.prototype.serializeToString=
+ function ()
+{
+ var outputStream = {
+ data: "",
+ close : function(){},
+ flush : function(){},
+ write : function (buffer,count){
+ this.data += buffer;
+ return count;
+ },
+ writeFrom : function (stream,count){},
+ isNonBlocking: false
+ }
+ this.serializeToStream(outputStream);
+ return outputStream.data;
+}
+
+RDFDataSource.prototype.serializeToStream=
+ function (outputStream)
+{
+ var ser=Components.classes["@mozilla.org/rdf/xml-serializer;1"]
+ .createInstance(Components.interfaces.nsIRDFXMLSerializer);
+ ser.init(this.datasource);
+ ser.QueryInterface(Components.interfaces.nsIRDFXMLSource).Serialize(outputStream);
+}
+
+RDFDataSource.prototype.makeemptyds=
+ function (uri)
+{
+ this.datasource=Components.classes["@mozilla.org/rdf/datasource;1?name=in-memory-datasource"]
+ .createInstance(Components.interfaces.nsIRDFDataSource);
+}
+
+RDFDataSource.prototype.getAllResources=
+ function ()
+{
+ if (this.datasource==null) return null;
+ return new RDFEnumerator(this.datasource.GetAllResources(),this.datasource);
+}
+
+RDFDataSource.prototype.getRawDataSource=
+ function ()
+{
+ if (this.datasource==null) this.makeemptyds();
+ return this.datasource;
+}
+
+RDFDataSource.prototype.getNode=
+ function (uri)
+{
+ if (this.datasource==null) this.makeemptyds();
+ var node=new RDFNode(uri,this);
+ return node;
+}
+
+RDFDataSource.prototype.getAnonymousNode=
+ function ()
+{
+ if (this.datasource==null) this.makeemptyds();
+
+ var anon=RDFService.GetAnonymousResource();
+ var node=new RDFNode();
+ node.Init(anon,this.datasource);
+ return node;
+}
+
+RDFDataSource.prototype.getLiteral=
+ function (uri)
+{
+ if (this.datasource==null) this.makeemptyds();
+
+ return new RDFLiteral(uri,this);
+}
+
+RDFDataSource.prototype.refresh=
+ function (sync)
+{
+ try {
+ var ds=this.datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ ds.Refresh(sync);
+ return true;
+ }
+ catch (ex){
+ return false;
+ }
+}
+
+RDFDataSource.prototype.save=
+ function ()
+{
+ try {
+ var ds=this.datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ ds.Flush();
+ return true;
+ }
+ catch (ex){
+ return false;
+ }
+}
+
+RDFDataSource.prototype.copyAllToDataSource=
+ function (dsource2)
+{
+ if (this.datasource==null) this.makeemptyds();
+ if (dsource2.datasource==null) dsource2.makeemptyds();
+
+ var dsource1=this.datasource;
+ dsource2=dsource2.datasource;
+
+ var sourcelist=dsource1.GetAllResources();
+ while(sourcelist.hasMoreElements()){
+ var source=sourcelist.getNext();
+ var props=dsource1.ArcLabelsOut(source);
+ while(props.hasMoreElements()){
+ var prop=props.getNext();
+ prop=prop.QueryInterface(Components.interfaces.nsIRDFResource);
+ var target=dsource1.GetTarget(source,prop,true);
+ if (target!=null) dsource2.Assert(source,prop,target,true);
+ }
+ }
+}
+
+RDFDataSource.prototype.deleteRecursive=
+ function (val)
+{
+ var node;
+ var dsource=this.datasource;
+
+ if (dsource==null) return;
+
+ if (typeof val == "string") node=RDFService.GetResource(val);
+ else node=val.source;
+
+ this.deleteRecursiveH(dsource,node); // remove descendants
+
+ // remove the node itself
+ var props=dsource.ArcLabelsIn(node);
+ while(props.hasMoreElements()){
+ var prop=props.getNext();
+ var source=dsource.GetSource(prop,node,true);
+ dsource.Unassert(source,prop,node);
+ }
+}
+
+RDFDataSource.prototype.deleteRecursiveH=
+ function (dsource,node)
+{
+ var props=dsource.ArcLabelsOut(node);
+ while(props.hasMoreElements()){
+ var prop=props.getNext();
+ var target=dsource.GetTarget(node,prop,true);
+ try {
+ target=target.QueryInterface(Components.interfaces.nsIRDFResource);
+ this.deleteRecursiveH(dsource,target);
+ }
+ catch (e){}
+ dsource.Unassert(node,prop,target)
+ }
+}
+
+function RDFNode(uri,dsource)
+{
+ if (uri==null) this.source=null;
+ else this.source=RDFService.GetResource(uri);
+
+ if (dsource==null) this.datasource=null;
+ else this.datasource=dsource.datasource;
+
+ this.container=null;
+}
+
+RDFNode.prototype.Init=
+ function (source,dsource)
+{
+ this.source=source;
+ this.datasource=dsource;
+ this.container=null;
+}
+
+RDFNode.prototype.getValue=
+ function ()
+{
+ return this.source.Value;
+}
+
+RDFNode.prototype.rlify=
+ function (val)
+{
+ var res=null;
+
+ if (val!=null){
+ try {
+ val=val.QueryInterface(Components.interfaces.nsIRDFResource);
+ res=new RDFNode();
+ res.Init(val,this.datasource);
+ }
+ catch (ex){
+ try {
+ val=val.QueryInterface(Components.interfaces.nsIRDFLiteral);
+ res=new RDFLiteral();
+ res.Init(val,this.datasource);
+ }
+ catch (ex2){
+ }
+ }
+ }
+ return res;
+}
+
+RDFNode.prototype.makeres=
+ function (val)
+{
+ if (typeof val == "string") return RDFService.GetResource(val);
+ else return val.source;
+}
+
+RDFNode.prototype.makelit=
+ function (val)
+{
+ if (typeof val == "string") return RDFService.GetLiteral(val);
+ else return val.source;
+}
+
+RDFNode.prototype.makecontain=
+ function ()
+{
+ if (this.container!=null) return true;
+
+ var RDFContainer = '@mozilla.org/rdf/container;1';
+ RDFContainer = Components.classes[RDFContainer].createInstance();
+ RDFContainer = RDFContainer.QueryInterface(Components.interfaces.nsIRDFContainer);
+
+ try {
+ RDFContainer.Init(this.datasource,this.source);
+ this.container=RDFContainer;
+ return true;
+ }
+ catch (ex){
+ return false;
+ }
+}
+
+RDFNode.prototype.addTarget=
+ function (prop,target)
+{
+ prop=this.makeres(prop);
+ target=this.makelit(target);
+ this.datasource.Assert(this.source,prop,target,true);
+}
+
+RDFNode.prototype.addTargetOnce=
+ function (prop,target)
+{
+ prop=this.makeres(prop);
+ target=this.makelit(target);
+
+ var oldtarget=this.datasource.GetTarget(this.source,prop,true);
+ if (oldtarget!=null){
+ this.datasource.Change(this.source,prop,oldtarget,target);
+ }
+ else {
+ this.datasource.Assert(this.source,prop,target,true);
+ }
+}
+
+RDFNode.prototype.modifyTarget=
+ function (prop,oldtarget,newtarget)
+{
+ prop=this.makeres(prop);
+ oldtarget=this.makelit(oldtarget);
+ newtarget=this.makelit(newtarget);
+ this.datasource.Change(this.source,prop,oldtarget,newtarget);
+}
+
+RDFNode.prototype.modifySource=
+ function (prop,oldsource,newsource)
+{
+ prop=this.makeres(prop);
+ oldsource=this.makeres(oldsource);
+ newsource=this.makeres(newsource);
+ this.datasource.Move(oldsource,newsource,prop,this.source);
+}
+
+RDFNode.prototype.targetExists=
+ function (prop,target)
+{
+ prop=this.makeres(prop);
+ target=this.makelit(target);
+ return this.datasource.HasAssertion(this.source,prop,target,true);
+}
+
+RDFNode.prototype.removeTarget=
+ function (prop,target)
+{
+ prop=this.makeres(prop);
+ target=this.makelit(target);
+ this.datasource.Unassert(this.source,prop,target);
+}
+
+RDFNode.prototype.getProperties=
+ function ()
+{
+ return new RDFEnumerator(this.datasource.ArcLabelsOut(this.source),this.datasource);
+}
+
+RDFNode.prototype.getInProperties=
+ function ()
+{
+ return new RDFEnumerator(this.datasource.ArcLabelsIn(this.source),this.datasource);
+}
+
+RDFNode.prototype.propertyExists=
+ function (prop)
+{
+ prop=this.makeres(prop);
+ return this.datasource.hasArcOut(this.source,prop);
+}
+
+RDFNode.prototype.inPropertyExists=
+ function (prop)
+{
+ prop=this.makeres(prop);
+ return this.datasource.hasArcIn(this.source,prop);
+}
+
+RDFNode.prototype.getTarget=
+ function (prop)
+{
+ prop=this.makeres(prop);
+ return this.rlify(this.datasource.GetTarget(this.source,prop,true));
+}
+
+RDFNode.prototype.getSource=
+ function (prop)
+{
+ prop=this.makeres(prop);
+ var src=this.datasource.GetSource(prop,this.source,true);
+ if (src==null) return null;
+ var res=new RDFNode();
+ res.Init(src,this.datasource);
+ return res;
+}
+
+RDFNode.prototype.getTargets=
+ function (prop)
+{
+ prop=this.makeres(prop);
+ return new RDFEnumerator(
+ this.datasource.GetTargets(this.source,prop,true),this.datasource);
+}
+
+RDFNode.prototype.getSources=
+ function (prop)
+{
+ prop=this.makeres(prop);
+ return new RDFEnumerator(
+ this.datasource.GetSources(prop,this.source,true),this.datasource);
+}
+
+RDFNode.prototype.makeBag=
+ function ()
+{
+ this.container=RDFContainerUtilsService.MakeBag(this.datasource,this.source);
+}
+
+RDFNode.prototype.makeSeq=
+ function ()
+{
+ this.container=RDFContainerUtilsService.MakeSeq(this.datasource,this.source);
+}
+
+RDFNode.prototype.makeAlt=
+ function ()
+{
+ this.container=RDFContainerUtilsService.MakeAlt(this.datasource,this.source);
+}
+
+RDFNode.prototype.isBag=
+ function ()
+{
+ return RDFContainerUtilsService.isBag(this.datasource,this.source);
+}
+
+RDFNode.prototype.isSeq=
+ function ()
+{
+ return RDFContainerUtilsService.isSeq(this.datasource,this.source);
+}
+
+RDFNode.prototype.isAlt=
+ function ()
+{
+ return RDFContainerUtilsService.isAlt(dsource,this.source);
+}
+
+RDFNode.prototype.isContainer=
+ function ()
+{
+ return RDFContainerUtilsService.IsContainer(this.datasource,this.source);
+}
+
+RDFNode.prototype.getChildCount=
+ function ()
+{
+ if (this.makecontain()){
+ return this.container.GetCount();
+ }
+ return -1;
+}
+
+RDFNode.prototype.getChildren=
+ function ()
+{
+ if (this.makecontain()){
+ return new RDFEnumerator(this.container.GetElements(),this.datasource);
+ }
+ else return null;
+}
+
+RDFNode.prototype.addChild=
+ function (child,exists)
+{
+ if (this.makecontain()){
+ var childres=null;
+ if (typeof child == "string"){
+ childres=RDFService.GetResource(child);
+ child=new RDFNode();
+ child.Init(childres,this.datasource);
+ }
+ else childres=child.source;
+
+ if (!exists && this.container.IndexOf(childres)>=0) return child;
+
+ this.container.AppendElement(childres);
+ return child;
+ }
+ else return null;
+}
+
+RDFNode.prototype.addChildAt=
+ function (child,idx)
+{
+ if (this.makecontain()){
+ var childres=null;
+ if (typeof child == "string"){
+ childres=RDFService.GetResource(child);
+ child=new RDFNode();
+ child.Init(childres,this.datasource);
+ }
+ else childres=child.source;
+ this.container.InsertElementAt(childres,idx,true);
+ return child;
+ }
+ else return null;
+}
+
+RDFNode.prototype.removeChild=
+ function (child)
+{
+ if (this.makecontain()){
+ var childres=null;
+ if (typeof child == "string"){
+ childres=RDFService.GetResource(child);
+ child=new RDFNode();
+ child.Init(childres,this.datasource);
+ }
+ else childres=child.source;
+ this.container.RemoveElement(childres,true);
+ return child;
+ }
+ else return null;
+}
+
+RDFNode.prototype.removeChildAt=
+ function (idx)
+{
+ if (this.makecontain()){
+ var childres=this.container.RemoveElementAt(idx,true);
+ return this.rlify(childres);
+ }
+ else return null;
+}
+
+RDFNode.prototype.getChildIndex=
+ function (child)
+{
+ if (this.makecontain()){
+ return this.container.IndexOf(child.source);
+ }
+ else return -1;
+}
+
+RDFNode.prototype.type="Node";
+
+
+function RDFLiteral(val,dsource)
+{
+ if (val==null) this.source=null;
+ else this.source=RDFService.GetLiteral(val);
+
+ if (dsource==null) this.datasource=null;
+ else this.datasource=dsource.datasource;
+}
+
+RDFLiteral.prototype.Init=
+ function (source,dsource)
+{
+ this.source=source;
+ this.datasource=dsource;
+}
+
+RDFLiteral.prototype.getValue=
+ function ()
+{
+ return this.source.Value;
+}
+
+RDFLiteral.prototype.makeres=
+ function (val)
+{
+ if (typeof val == "string") return RDFService.GetResource(val);
+ else return val.source;
+}
+
+RDFLiteral.prototype.makelit=
+ function (val)
+{
+ if (typeof val == "string") return RDFService.GetLiteral(val);
+ else return val.source;
+}
+
+RDFLiteral.prototype.modifySource=
+ function (prop,oldsource,newsource)
+{
+ prop=this.makeres(prop);
+ oldsource=this.makeres(oldsource);
+ newsource=this.makeres(newsource);
+ this.datasource.Move(oldsource,newsource,prop,this.source);
+}
+
+RDFLiteral.prototype.getInProperties=
+ function (prop)
+{
+ return new RDFEnumerator(this.datasource.ArcLabelsIn(this.source),this.datasource);
+}
+
+RDFLiteral.prototype.inPropertyExists=
+ function (prop)
+{
+ prop=this.makeres(prop);
+ return this.datasource.hasArcIn(this.source,prop);
+}
+
+RDFLiteral.prototype.getSource=
+ function (prop)
+{
+ prop=this.makeres(prop);
+ var src=this.datasource.GetSource(prop,this.source,true);
+ if (src==null) return null;
+ var res=new RDFNode();
+ res.Init(src,this.datasource);
+ return res;
+}
+
+RDFLiteral.prototype.getSources=
+ function (prop)
+{
+ prop=this.makeres(prop);
+ return new RDFEnumerator(
+ this.datasource.GetSources(prop,this.source,true),this.datasource);
+}
+
+RDFLiteral.prototype.type="Literal";
+
+
+function RDFEnumerator(enumeration,dsource)
+{
+ this.enumeration=enumeration;
+ this.datasource=dsource;
+}
+
+RDFEnumerator.prototype.hasMoreElements=
+ function ()
+{
+ return this.enumeration.hasMoreElements();
+}
+
+RDFEnumerator.prototype.getNext=
+ function ()
+{
+ var res=null;
+ var val=this.enumeration.getNext();
+
+ if (val!=null){
+ try {
+ val=val.QueryInterface(Components.interfaces.nsIRDFResource);
+ res=new RDFNode();
+ res.Init(val,this.datasource);
+ }
+ catch (ex){
+ try {
+ val=val.QueryInterface(Components.interfaces.nsIRDFLiteral);
+ res=new RDFLiteral();
+ res.Init(val,this.datasource);
+ }
+ catch (ex2){
+ }
+ }
+ }
+ return res;
+}
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/search.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/search.js Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,52 @@
+var key='';
+
+function start_search(){
+ var search_string=document.getElementById("search_value").value;
+ var search_category=document.getElementById("category").selectedItem.label;
+ var target_iframe=parent.document.getElementById('result_frame');
+ if (search_string!='' || search_category=='none'){
+ var level1=document.getElementById("level1");
+ var level2=document.getElementById("level2");
+ var level3=document.getElementById("level3");
+ target_iframe.setAttribute('src','http://hera.unibe.ch:8080/alcatraz/xul/digilib_search.jsp?key='+key+'&cat='+search_category+'&str='+search_string);
+ //target_iframe.setAttribute('src','result.htm');
+ }else{
+ alert("Fehler: Kein Suchstring definiert!");
+ }
+}
+
+
+function changeMenuList(){
+ if (document.getElementById("category").selectedItem.label !='none'){
+ document.getElementById("search_value").disabled=false;
+ document.getElementById("search_value").value='';
+ }else{
+ document.getElementById("search_value").disabled=true;
+ document.getElementById("search_value").value='';
+ }
+}
+
+
+function changeCollection(sel){
+ key=sel.value;
+ var levels=sel.label.split(";");
+ var level1=document.getElementById("level1");
+ var level2=document.getElementById("level2");
+ var level3=document.getElementById("level3");
+ if (levels.length>0){
+ level1.setAttribute('value',levels[0]);
+ }else{
+ level1.setAttribute('value','');
+ }
+ if (levels.length>1){
+ level2.setAttribute('value',' '+levels[1]);
+ } else{
+ level2.setAttribute('value','');
+ }
+ if (levels.length>2){
+ level3.setAttribute('value',' '+levels[2]);
+ }else{
+ level3.setAttribute('value','');
+ }
+
+}
\ No newline at end of file
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/search.xul
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/search.xul Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/settings.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/settings.js Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,77 @@
+/*
+Copyright (C) 2003 WTWG, Uni Bern
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+Author: Christian Luginbuehl, 24.01.2004 , Version Alcatraz 0.5
+*/
+
+
+include(jslib_dirutils);
+include(jslib_file);
+
+var du = new DirUtils();
+var f = new File('alcatraz.pref');
+
+f.initPath(du.getPrefsDir());
+f.append('alcatraz.pref');
+
+function getSetting(name) {
+
+ if (f.exists()) {
+
+ f.open();
+ var content = f.read();
+ f.close();
+
+ var lines = content.split(/\n/);
+
+ for (i = 0; i
+
+
+
+
+
+
+
+
+
+ Click the button to install the Alcatraz-Sidebar panel
+
+ Alcatraz uses Mozilla Java Script Library:
+ jslib http://jslib.mozdev.org/installation.html
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/sidebar/installer.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/sidebar/installer.js Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,173 @@
+//@@@@@@@@@@@@@@@@
+function MOZ_SidebarInstaller //publicMozilla Sidebar installer class
+(
+_title, //
setOutput&
+/*
+Use either console or window alert output
+*/
+
+
+
+this.MOZ_SidebarInstaller(_title, _url, _customize);
+}//
MOZ_SidebarInstaller
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/tools_dialog.xul
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/tools_dialog.xul Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,29 @@
+
+
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/tree.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/tree.js Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,16 @@
+function open_link()
+{
+var t=document.getElementById("menu_tree"); //baum in variable t holen
+var l=t.view.getItemAtIndex(t.currentIndex); //aus baum treeitem herausholen mit dem selected index (currentIndex)
+var d=l.firstChild.firstChild.getAttribute("link"); //aus treeitem treecell (mit firstChild.firstChild) und dann dort wert von id herausholen (mit getAttribute)
+if (d!=""){
+ //alert(d);
+ var isHera=d.search(/pythia2\.unibe\.ch/);
+ if (isHera!=-1){
+ window.content.location.href=d;
+ }else{
+ // window.content.location.href="http://hera.unibe.ch:8080/alcatraz/xul/"+d;
+ window.content.location.href="http://pythia2.unibe.ch:8080/docuserver/digitallibrary/"+d;
+ }
+}
+}
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/tree.xul
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/tree.xul Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/tree_nav.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/tree_nav.js Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,12 @@
+function open_link()
+{
+var t=document.getElementById("menu_tree"); //baum in variable t holen
+var l=t.view.getItemAtIndex(t.currentIndex); //aus baum treeitem herausholen mit dem selected index (currentIndex)
+var d=l.firstChild.firstChild.getAttribute("link"); //aus treeitem treecell (mit firstChild.firstChild) und dann dort wert von id herausholen (mit getAttribute)
+if (d!=""){
+ //alert(d);
+
+ window.content.location.href="http://pythia2.unibe.ch:8080/docuserver/digitallibrary/digilib.jsp?lv=1&fn="+d;
+
+}
+}
diff -r 7501034e54e1 -r bf945fcf9105 xul/content/wtwg_bern.xul
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/content/wtwg_bern.xul Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 7501034e54e1 -r bf945fcf9105 xul/install.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xul/install.html Fri Feb 27 11:24:53 2004 +0100
@@ -0,0 +1,52 @@
+
+
+
+Install Alcatraz
+
+
+
+
+
+
+
Alcatraz XUL Package
+
contains a sidebar and beta-verion of a toolbar
+
Installation:
+
(maybe it is a good idea to print this side or to set a bookmark because you will have to close the browser during the installation)
+
+ press the "install alcatraz" button
+
+
+
+
restart mozilla (and you will find the new toolbar installed)
+
+
enter chrome://alcatraz/content/sidebar/install.xul in the input field of the URL bar
+
+
a dialog is asking you to install the Alcatraz-Sidebar, open the Sidebar (F9) and press the button
+
+
+
+
Beware : Due to the very early stage of the toolbar and the missing tools to
+easily remove it, the installation with toolbar is primarily for developers. If you
+still installed the toolbar-version and now want to get rid of it, you have to delete the lines
+in