This page demonstrates only the modified Jade applet. The interaction area and the wrapper to translate high level ("show conflict") calls into
low-level API calls into Jade will be put on a separate page.
Some notes on the demo (including data formats, etc.) are listed here
Beneath the applet are some HTML controls for making calls into Jade to test the APIs.
At the foot of the page is a description of some of the changes I have made to Jade.
Note:The combined JARs are about 700kB, so it could take a while to download at first
Recent changes:
(Several of these were normally being worked on at once)
-
23 Sept 2003
I have linked in the notes page for the demo.
-
19 Sept 2003
I have implemented the SetAttribute API. It should be noted that SetValue cannot set an attribute that does not yet exist in the document (since the xpath
cannot resolve to it). SetAttribute can.
-
15 Sept 2003
I have added name attributes to InstanceObject and InstanceTerminal (these previously did not have an attribute axis).
This allows for much shorter xpaths.
-
13 Sept 2003
I have refactored the applet code. The current CVS version of Jade did not work as an applet (it failed due to security exceptions). Amir Hirsch made
some initial investigations involving commenting out chunks of code until it would run as an applet. However Amir's commentings-out naturally broke some
of the functionality in the application version of Jade, and he didn't get as far as making Jade work as both an application and an applet.
So, I've gone through and refactored bits of Jade so that it can be run as an application and as an applet.
Changes included ensuring the Jython interpreter is loaded on-demand rather than as part of class initialisation, writing new constructors for Jade, JadePane and
JadePanel, and a new function in the library manager for loading from a premade URL.
-
11 Sept 2003
I have implemented XPath navigation of the Schematic Aspect structure, using Jaxen.
Jade does not use an XML document structure for its internal data, so this required writing a custom implementation of the DocumentNavigator
interface to work around this. Several internal structures in Jade needed modifications to provide the required axis iterators. At the moment, only the
ChildAxis and AttributeAxis are supported, but this seems to allow the kinds of XPath expressions we need.
-
11 Sept 2003
I have added some Attribute classes. Properties now naturally have two attributes: name and value. Other attributes can be added as required.
-
30 July 2003
I altered Jade's internal structures to allow properties to be added to Wires and Terminals. This invoved refactoring a lot of the terminal code so that
terminals could be uniquely distinguished between instances of the same module. Some of the terminal drawing code had to be changed too, and the code for
identifying what part receives a mouse-click.