[Mozile] mozile 0.8 - help offered
James A. Overton
james at overton.ca
Wed May 3 09:04:05 EDT 2006
Ok!
First an update. Since I posted the RNG code I've been working on
actual editing code. It makes a lot of use of the DOM Range and
Selection objects. David gave me some code that converts IE's wacky
TextRange and Selection code into W3C standard and Mozilla-like
interfaces. That has saved a huge amount of time. Opera has good
Range and Selection support, with a few quirks, but I've put off
supporting it for the time being while I figure things out. Safari
(even the nighty version) doesn't have sufficient Selection support
for what we need. Hopefully that will come soon.
So the current target platforms are Firefox 1.5 and IE 6. I try to
make things work first for Firefox, then fix them for IE. Support for
all the other browsers will come after that.
I have basic text insertion with solid undo/redo support working on
both FF and IE. On FF I have proper deletion (always tricky) with
solid undo/redo support. The plan for today is to make that work
under IE, and then start on a few other primitive operations: move
nodes, split and merge nodes, wrap a selection with a new element.
All of these have to be flawlessly undoable, and so they take some work.
Things that need work:
- The RNG system will need support for name classes and datatype
checking eventually:
- I'm not sure yet how the name classes should be implemented.
- Datatypes could be done using regular expressions. The XML
Schema datatypes would be the first target, but unfortunately there
are a lot of them.
- David's IE Range and Selection are missing a few features like
deleteContents and compareBoundaryPoints, which will eventually be
needed.
- The new loading system could use some features, like waiting for
the page to load before loading heavy schemas in the background.
(Unfortunately, it's not as simple as using asynchronous
XMLHTTPRequests...)
- I haven't started on the interface/toolbar code, although I have
some ideas for how it should work.
In answer to David's other points:
- There isn't much that can be copied from 0.7 into 0.8, because of
cross-platform differences and architectural changes. On the other
hand, there's a lot of problems solved in 0.7 that will need to be
solved in 0.8, and so the old code will be helpful.
- The OASIS examples in the RNGLibrary aren't needed, but are
included for completeness. Yes, the file is too big, and it would be
better if it got broken up.
I'll start posting what I've got into CVS. Keep an eye on <http://
mozile.mozdev.org/source.html>. No impressive demos at this point,
and a lot of half-finished code, but at least you can all see how
things are shaping up.
I'll be hanging out in IRC at http://freenode.net #mozile If you'd
prefer some other method of communication, ask.
James
On 2006-May-03, at 6:47 AM, david wrote:
> Hi James, hi all,
> I've got some time free and would like to put it into some mozile
> stuff and I've taken a brief look at the 0.8 stuff. Relax NG is
> very nice and it looks like a workable solution. How do we go about
> bringing the stuff that's in CVS today towards a (more) complete
> editor?
>
> The stub methods in mozile core (mozile.createEditor() etc) are
> maybe to be filled in with stuff from the 0.7 releases? Or are we
> talking a complete re-write here? (Hope not...).
>
> Are all the OASIS examples really necessary in the RNGLibrary.xml
> file (after a cursory look it seemed to be a big file already...)?
>
> What can I do to help?
>
> --
> "Notre malheur n'atteint son plus haut point que lorsque a été
> envisagée, suffisamment proche, la possibilité pratique du bonheur."
> _______________________________________________
> Mozile mailing list
> Mozile at mozdev.org
> http://mozdev.org/mailman/listinfo/mozile
More information about the Mozile
mailing list