Re: Commit: abiwidget stuff

From: Dominic Lachowicz <domlachowicz_at_gmail.com>
Date: Tue Dec 12 2006 - 18:26:58 CET

Extending this thread even further...

A synopsis of remaining work includes:

1) We need a more reliable way of binding/unbinding the GTK+ signal
listener to/from the Frame's view. Right now, this only works when you
load a file. In a blank document, it'll misbehave.

Difficulty: Moderate. Requires someone to dig around the AP_Frame
class and nail down exactly when frames get updated.

2) We need to implement more signals. Right now, I implemented a bunch
of character level properties as well as can-undo/can-redo.

Difficulty: Easy. Someone with a little experience with GTK+ and
AbiWord can add a lot of meaningful character, paragraph, and section
properties in a day or so. Look at the code in abiwidget.cpp and in
ap_Toolbar_Functions.cpp/ap_Menu_Functions.cpp for guidance.

3) Figure out why Dom's test program crashes when the window is
closed. I figured out that the widget gets its destroy() method called
twice, but I don't know why that is.

Difficulty: Moderate. Someone with some GTK+ foo could probably track
this down fairly easily.

4) Clean up the public API, which is currently just a bunch of edit
methods, a create function, and a way to load a document. Maybe look
at QT's richtext widget for inspiration, or GtkTextView, or Windows'
RichText control.

Difficulty: Moderate. The hard part here is thinking about what makes sense.

5) Implement a "contents" read/write property. The "write" property
should accept byte data in any format that AbiWord does, and pass that
data as a GsfMemoryInput. The "read" property should have some sort of
well-defined semantic, such as "Always Return in the format the write
method used" or "Always return OpenDocument".

Difficulty: Easy. Someone with knowledge of GTK+ could do this in an hour or so.

6) Run the view listener once the listener is attached to the view.
Right now, we won't get the character property signals until you move
the cursor, which means that the UI will be out of sync with the
document until the user does something.

Difficulty: Easy.

These are all interesting little projects that need to get done sooner
or later. Feel free to lend a hand. I'm on IRC and email if you need
some help.

Best,
Dom

-- 
Counting bodies like sheep to the rhythm of the war drums.
Received on Tue Dec 12 18:27:47 2006

This archive was generated by hypermail 2.1.8 : Tue Dec 12 2006 - 18:27:48 CET