resources: | Home RoadMap Installation Mailing List Source Code Bugs Screenshots Contributors |
---|---|
subprojects: | XUL Schema and XPath Evaluator |
Installation - xulmaker version 0.40
Installation of xulmaker
, just like any XUL product, requires a XUL based platform.
Mozilla, Netscape 6+ are XUL based platforms. xulmaker version 0.40
requires
at least a version 1.0.1 of Mozilla, or a version 7.0 of Netscape.
The prerequisite to installing xulmaker version 0.40
is to install the jslib
library. If you have not already installed a recent copy of jslib
you may do so from here.
20 December 2002 - Please Note that only the XPI INSTALL's, and not the XPI and JAR DOWNLOAD's, work at the moment.
Installation of the book "Creating Applications with Mozilla" and the "XUL Planet" resources are separate and optional installs.
XULMaker includes links to a number of tools which must also be installed separately if they are to be accesable from XULMaker. Currently this only includes the DOM Inspector.
1. Installation of jslib
(prerequisite)
After you install the package, you can get a simple window by running:
./mozilla -chrome chrome://jslib/content/
2. Installation of xulmaker version 0.40
To register the package, add the following three lines to the "installed-chrome.txt
" file in the chrome directory,
and re-start the browser. (No need to do this if you executed the xpi
file.)
If you copied the jar file to the browser's chrome directory:
content,install,url,jar:resource:/chrome/xulmaker.jar!/content/
skin,install,url,jar:resource:/chrome/xulmaker.jar!/skin/modern/
locale,install,url,jar:resource:/chrome/xulmaker.jar!/locale/en-US/
If you unzipped the jar file to somewhere in your local file system (if not in the chrome directory) follow this example:
content,install,url,file:/c:/Project%20Files/mozilla/xulmaker/content/ skin,install,url,file:/c:/Project%20Files/mozilla/xulmaker/skin/modern/ locale,install,url,file:/c:/Project%20Files/mozilla/xulmaker/locale/en-US/
3. Installation of mozilla_book
(optional)
-OR- MOZILLA_BOOK XPI DOWNLOAD
-OR- MOZILLA_BOOK JAR DOWNLOAD
4. Installation of xulplanet
(optional)
5. Restart the browser
To see the results of the overlays to your browser (e.g. menuitems added), you will need to restart your browser. (In Win32, to ensure that you have
truelly restarted from scratch, kill any mozilla.exe
process that may still be running.)
Release Notes - xulmaker version 0.40
The following are the known issues with xulmaker version 0.40
:
Save File on Dirty Flag
Currently when you do a File | New
, a File | Open
, a File | Close
,
or a File | Exit
, we do so without saving the current document. We need to set
a dirty flag whenever a change has occured and check this for each of these commands.
Browser View
We currently can't interactively display the XUL document in the browser. Currently you are required to save the XUL document so that the browser is able to view it by reading the file.
The <browser> element can display either HTML or XML/XUL code - using the "src" attribute in the
<browser>
element, or by using loadURI()
method in script.
It can also display HTML code - using a document.write()
.
But it is NOT able to display XML/XUL code - using a document.write()
.
The documentType
by default is "text/html" and I have not yet found a way of being
able to change this. (There is extensive scaffolding code in place in trying to solve this issue.)
Tree and <treeitem> Selection
This has been a real struggle. It's been difficult to dynamically make a selection
in a tree. (see ElementTree.selectElement()
in ElementExplorer.js
.)
There doesn't seem to be an easy way of doing this. We need to do this as a response
to selecting the "active" element in some other view.
Currently we identify the selected item using tree.view.getCellText()
and
set the currentIndex
by calling tree.view.selection.select(index)
.
(How easy was that to figure out!) This is a kludge, however. It doesn't identify the
"active" element if it is hidden in the tree and then we open the tree and make it visible.
Code View - Serialization
The code view does not properly represent the XUL document. Unfortunately, what you see in the code view is also what actually gets saved in a file when you save. The following are some of the known issues.
- All elements have a "a0" namespace.[*]
- All attributes in the
<window>
element, except thexmlns
attribute, have been stripped.[*] (Thedebug
attribute on the<window>
element should be stripped.) - All event attributes have been stripped.[*]
- Document contains xulmaker artifacts -
xm:active
attribute,id
attribute values unique to xulmaker,etc.
(* See Mozilla Issues - Serialization)
Code View - Parsing
The "update model" button doesn't do anything at this point. The code behind this is in place but doesn't work just yet.
XML Schema
XML Schema is used to define all XUL elements and attributes. Most of the code to do this is in place.
The code currently can only read an XML Schema file with an absolute address. We also haven't been able
to get evaluate()
to work. In the meantime, we have
turned off the code. We have left the completion of this for the next version - 0.50
Immutable Element Id
You can change the id of an element in the Attributes Inspector but that then corrupts the application. Any changes to an element's id needs to be communicated to all views containing the XUL document
Tree View Open States
The open/close states of each tree item's grippy isn't remembered and re-instated with each refresh.
(The ElementTree::update()
method needs to re-instate the open states. The remembering code
for this is there but the re-instate code has become broken).
Cosmetics
The following are some cosmetic issues which have not yet been resolved
- design view expands with content - should be constant and use scrollbars as necessary
- Need icons, both large and small, for many elements (graphic artists please contribute!)
- Need an appropriate anchor image in the Element toolbar. HTML - BODY is only a place holder for now. (graphic artists please contribute!)
- Hourglass pointer appears over the Support frame (It's waiting for trace
document.close()
)