To continue the public TODO list...

I'm currently working on a bunch of things:

- Moving all files from the app/ level to subdirectories. This involves
  core/ui chopping them first, so often one file ends up in several
  smaller ones.
- Namespace cleanup while moving the stuff, so gimp_foo_bar_wargl()
  lives in gimpfoobar.[ch].
- Core/UI separation so core/ and the subsystems below and parallel
  to it (base/, paint-funcs/, pdb/ ...) can be used without initializing
- Continue on core/ui separation so we can link a second app on the
  toplevel that does not even *link* against gtk+ (gimp-console-1.3).
- Getting GdkEvents and display coordinates out of tools/ (almost finished).
- Further abstract the way tools communicate with the display, for
  example when drawing lines and stuff (partly done with the new
  gimpdrawtool.[ch] functions).
- Stripping core functionality out of tools (as done with
  core/gimpimage-mask-select.[ch] or core/gimpdrawable-transform.[ch]).
  The next step will be to create core/gimpdrawable-paint.[ch] as a central
  registry for paint methods, thus getting rid of the ugly non_gui_foobar
  stuff in the paint tools and thus getting their PDB interface back in
  a more elegant way.
- Getting rid of any pdb/ --> tools/ dependency, which involves
  coppping image_map.[ch] into core/ui parts.
- Changing all tools again so they don't touch gtk+ stuff on
  registration, so paint tools can register their generic paint methods
  for the non gtk-dependant "gimp-console" app.
- More work on widgets/, esp. making GimpPreview a GtkImage subclass,
  not deprecated GtkPreview. More work on the generic views, maybe
  implements a third GimpContainerView subclass using GtkTreeView
  and then porting the existing GimpContainerListView stuff to it
  (would give us a layers dialog that just kicks ass...)
- Moving more generally useful stuff from gui/ to widgets/ or even
  from gui/ or widgets/ to libgimpwidgets/.
- Changing the GtkItemFactory/accelerator stuff in a way that we have
  a *global* set of accelerators which is active on all toplevel
  windows (i.e. the docks) but not on dialogs.
  (Involves re-thinking of all keyboard shortcuts, will post a
  proposal here later...).
- And of course indentation and stuff I forgot :-)

happy GIMPing,
Gimp-developer mailing list

Reply via email to