Required DOM Renderer API Needed for Editing Layer
This document describes API which is needed from generic DOM renderer implementation, e.g. embedded browser , in order to be able implement editing layer on top of it providing user experience at least at or similar level as is the current designer user experience.
Basic Requirements
These requirements are the minimal requirements to be able to provide the current designer user experience.
There is needed to have a Swing type component in order to be able to integrate it into current IDE, which is Swing based, smoothly.
- Model represented by DOM document
Currently the org.w3c.dom.Document implementation is used. The model is needed in order to fully control the source updates over it.
- Mapping of the model DOM document to the component coordinates and vice versa
This is the model to view and view to model mapping, needed in order to be to process user interaction and model updates efficiently, and component support.
- Interception of user interaction with the component
In order to fully control the designtime behavior of the component.
- Additional visual feedback over the component
It is needed in order to be able to provide additional designtime feedback to the user, like selection, resizing, other special marks, etc. Ideally the glass pane or other transparent component would be the best solution in worse case a possibility of subclassing of painting methods.
Advanced Requirements
These requirement might be needed in the future once the basics are fulfilled. But it is important to have them in the mind.
- Control processing of scripting elements
This is especially targeted to javascript. It is anticipated that during development it will be desirable to control this processing.
- Control of plugin processing
- Control of image loading