Re: Hello?
- From: Martin Sevior <msevior seviorpc ph unimelb edu au>
- To: Colin JN Breame <c j n breame durham ac uk>
- Cc: msevior physics unimelb edu au, gnome-office-list gnome org
- Subject: Re: Hello?
- Date: Wed, 28 Apr 2004 13:59:39 +1000
On Wed, 2004-04-28 at 06:18, Colin JN Breame wrote:
> On Tue, 2004-04-27 at 14:19 +1000, Martin Sevior wrote:
> [snip]
> >
> > So my advice is...
> >
> > 1. You need a genuine Model-View-Controller paradim or you have no hope.
> > This means you must have a good document model like a AbiWord's
> > piecetable.
>
> I've looked at the abiword source a while back and I am familar with
> bits of it. Is the piecetable a design pattern or is it something
> specific to abiword?
>
It's a design pattern. The idea is to have a logical model of your
document. You build different views from the model as needed.
eg.
1. You build the view of the slide as you edit it.
2. You build a view of the slide as you present it (including the
animations.)
3. You build a multi-slide view. (Show lots of little slide thumb nails
that can be dragged around and hidden or exposed.)
4. You build little previews of your slide with animations.
5. You import a file-format into your model.
6. You export your model to a file-format.
In abiword this is all done via opaque listener classes that derive from
an abstract base class. The model does know or care what it's listener's
does. It just broadcasts itself over the listeners.
The Model needs to be able handle arbitrary collections segments of your
document with different text properties (What font, what size font,
whether the text is Bolded, superscripted, what indent margin is...) and
to be rich enough to handle document structures (like text boxes and
tables) as well as describing different animation sequences and which
sequence applies to which pieces of text.
The model also needs a way of undo/redo-ing itself. Undo is a really
useful feature and is absolutely neceessary in an Power Point clone
You also need to be able to group together properties into what we would
call "styles". These are arbitrary collections of properties. For
example you could use a style to define a slide template, so that every
time you "insert New slide" the basic template is inserted. The user can
then overide the properties as needed.
All this functionality currently resides in AbiWord and maybe my own
knowledge of how AbiWord works and why it works has biassed me into
thinking the above things are needed.
On the other hand both OO.o and I'm pretty sure MS have gone a similar
route so I suspect that this is truely the right way to a program like
this.
By all means do you own thorough investigation. Please learn fromt he
mistakes of the past.
Good Luck!
Martin
> >
> > 2. You need a genuine rich text, multi-view editor like AbiWord or you
> > have no hope.
> >
> > 3. You need to able to invest a minimum of 2 solid man-years plus have
> > numerous helpers and leverage as much as possible from what is already
> > written to have any hope.
>
> I have no illusions about the scale of the project.
>
> >
> > Good Luck!
>
> Thanks!
>
> >
> > Martin
> >
> >
> > > _______________________________________________
> > > gnome-office-list mailing list
> > > gnome-office-list gnome org
> > > http://mail.gnome.org/mailman/listinfo/gnome-office-list
> >
>
> _______________________________________________
> gnome-office-list mailing list
> gnome-office-list gnome org
> http://mail.gnome.org/mailman/listinfo/gnome-office-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]