Le Sat, Jun 08, 2002, à 12:52:42PM +0200, Hans Breuer a écrit:
> Hi all,
> below you'll find some kind of 'plan' what more or less
> needs to be done to make Dia a first class Gtk2 citizen.
>
> The first step just landed in cvs. [Beware: it will _not_
> build as is on Linux and other *nix cause the auto/configure
> stuff needs some love first.]
I'll take care of that this week-end, using James' work as a basis.
I'll be out of state next week (taking off from BSL tomorrow morning), so if
it breaks, someone else's gotta fix it :-)
> My GTK2 fixmes are FIXME? or GTKBUG?
>
> app/interface.c:123 /*static*/
> app/interface.c:839 static void fill_sheet_menu
> app/render_libart.c probably broken on X11
Actually, obsolete. We'll get rid of it.
> app/sheet.c:207 move message_notice out of loop
> app/ps_utf8.c : not yet build on win32
What's wrong with it ?
> app/render_eps.c : some further utf8 cleaning needed
>
> The current plan is:
> - merge all Gtk2 specific changes done on TARGET_GTK2_0 into HEAD.
> (it would be much simpler if I haven't tried to keep both trunks
> in sync, see the other ChangeLog.)
> - merge in utf8-ness (my branch apperas to be almost clean)
> - do one large commit, which allows to build with GTK2
> (some of Akira's changes probably will vanish by this, at least
> the reformatting which IMHO should never had happen [Dia's tab
> size is 8 not 2!] and some of the XIM stuff which I neither can
> test nor does it seem to be not applicable with GTK2)
tabs are evil. XIM still seems applicable, where GTK2 doesn't already take
care of it !
> - add a file 'todo.gtk2' which is an extract from the todo.hb
> with some additional steps to be taken. Post it to the
> mailing list.
> [the following tasks could easy be shared]
> - let someone else do the auto-break stuff
I'm on it.
> - no more: libunicode, separte gdk-pixbuf, charconv.[hc], HAVE_DIRENT
charconv is still needed, at least to recover the pre 0.90 dia files (damn
libxml1). Has libunicode's functionality been swallowed by gtk or glib ? We
still need stuff to extract a single unichar out of an utf8 string,
iterators, etc...
> - require: gtk2, libxml2
at long last.
> - convert Renderer interface to GObject
> - change init_*_*ops() to *_class_init, virtual function support
> (should be done by/with the help of GObject)
> - lib/render.c includes most of the base DiaRenderer
> plug-ins/renderer.inc has code to approximate ellipse by arcs
> app/renderer_gdk.c : has a bezier by line approximation
> - try to involve original plug-in authors (to at least
> take a look if something got broken during the transition)
> - make PlugInInfo opaque again in the good tradition of information
> hiding and clean-up some other global vars which where intoduced
> by the shape editor patch
> - try to move object_types_detect_nosheet() etc out of object.h ...
> - (see fixmes above)
> - split out HAVE_FREETYPE stuff in own files *_ft2.c to keep
> the know-how for later possible reintegration
Yep.
> - remove the font name trough gettext hack
> - do basic GdkFont -> Pango conversion
These are to be done in the same step. Pango will do the font matching. I
plan to do that during the end of week 25, perhaps in coordination with
Lars (beer, pizza, irc).
> - remove the scrolling menu hack (Gtk2 does handle such)
> - make it compile without GTK_ENABLE_BROKEN
what's it ?
> - make it compile with GTK_DISABLE_DEPRECATED
> - maybe split in parts by un-defining it in single files,
> which need more work (diagram_tree.c, ...)
>
> - simplify render_pixmap.c : by inheritance from DiaGdkRenderer
> - fix Arrow widget to properly scale and make thicker lines
> again (they IMHO looked much prettier)
>
> - remove LIBXML1 #hell
Can be done now.
> - remove as much as obvious not needed anymore GNOME #hell
> - do some gui tweaking to try to conform to new HIG (at
> least button ordering)
> - try to involve the Gnome Useability Group
> - maybe add hooks for online help, cause any widget
> probably needs to be touched anyway
> - try again to get a 'complete' hotkey/accelerator
> specification
> - common default object properties load/save implementation
> to be merged
> - remove all object implementation specifc
>
> - make a plan about further GObject-ification
> Some thoughts on this at http://hans.breuer.org/dia/dia-todo.htm
>
> Future:
>
> - Make printing backends runtime configurable plug-in
What's the status of the UTF8 #hell (UNICODE_WORK_IN_PROGRESS and
GTK_TALKS_UTF8) ?
-- Cyrille
--
Grumpf.