Hi Cameron,

I have been working on creating those pop - ups, updating the view in
the Viewer when the document changes and editing the tree, the table
and the text area.
Here are some issues so far:

1. Allowing the "don't live track" option might cause the Viewer to
become incompatibile with the document - for example some nodes or
attributes might have been removed from the document, but are still
shown in the Viewer, etc.
If so, there wouldn't be much sense to allow editing. But anyway there
are few possibilities here:
a) Allow the "don't live track" option anyway. In this case
compatibility of the document shown in the Viewer and the document
itself has to be determined
when the Viewer is used for editing the document. If incompatibile -
send some notification that document cannot be edited due
incompatibility with the Viewer...
b) Set the Viewer to be "always_dynamic" and always live - track
the document.
c) An addition to b) is implementation of command pattern to allow
undo and redo actions for the changes on the document.
I think of c) as the most useful.

2. If the document is shown on JSVGCanvas, then the updates of the DOM
should be called using the UpdateManager. Adding a method
setCanvas(JSVGCanvas canvas) instead of setDocument(...) would allow
the Viewer to get the canvas anytime and perform the update using the
canvas's UpdateManager. This way there would be no need of calling the
setDocument(...) method explicitly outside of the Viewer.
a) But still setDocument(...)  would remain public to handle the
existing code...
b) New method setCanvas(...) would be available for tracking the
changes on the canvas where the document is displayed.


Ivan

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to