2001-05-21 Michael Natterer <mitch@gimp.org>
* Makefile.am
* configure.in
* gimptool-1.4.in: added new directory libgimpbase/
* app/Makefile.am: link against the new lib.
* app/appenums.h: removed the PDB enums which are in
libgimpbase/gimpbasetypes.h now. They are all "Gimp" prefixed.
* app/apptypes.h: #include "libgimpbase/gimpbasetypes.h"
* app/[lots]
* app/core/[of]
* app/gui/[files]
* app/tools/: changed includes and all PDB types.
* app/pdb/*: regenerated.
* libgimp/Makefile.am: don't build libgimpi.a uglyness any more.
* libgimp/gimpenv.[ch]
* libgimp/gimplimits.[hh]
* libgimp/gimpparasite.[ch]
* libgimp/gimpparasiteio.[ch]
* libgimp/gimpprotocol.[ch]
* libgimp/gimpsignal.[ch]
* libgimp/gimpunit.h
* libgimp/gimputils.[ch]
* libgimp/gimpwire.[ch]: removed...
* libgimpbase/*: ...and added here as new library.
* libgimp/gimp.[ch]
* libgimp/gimpdrawable.[ch]
* libgimp/gimpenums.h
* libgimp/gimpimage.[ch]
* libgimp/gimptile.c
* libgimp/gimptypes.h
* libgimp/gimpunit.c: changed accordingly. Added the
gimp_*_add_new_parasite to gimp.[ch], gimpdrawable.[ch] and
gimpimage.[ch].
* libgimpwidgets/gimppatheditor.c
* libgimpwidgets/gimpquerybox.c
* libgimpwidgets/gimpsizeentry.c
* libgimpwidgets/gimpunitmenu.c
* libgimpwidgets/gimpwidgets.c
* libgimpwidgets/gimpwidgetstypes.h: changed includes accordingly.
* plug-ins/*/Makefile.am
* plug-ins/common/mkgen.pl: link against libgimpbase.
* tools/pdbgen/Makefile.am: scan libgimpbase/gimpbasetypes.h, so
the enums are known to pdbgen...
* tools/pdbgen/enumcode.pl: ...but don't write them out to
libgimp/gimpenums.h
* tools/pdbgen/app.pl: include libgimp/gimpbase.h in all *_cmds.c
files. Added GIMP_ to the type names ganerated in app/.
* tools/pdbgen/enums.pl: regenerated.
* tools/pdbgen/pdb.pl
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/procedural_db.pdb
* tools/pdbgen/pdb/unit.pdb: changed includes.
2001-05-15 Michael Natterer <mitch@gimp.org>
* configure.in: new directory app/base/
* app/Makefile.am
* app/boundary.[ch]
* app/brush_scale.[ch]
* app/gimpchecks.h
* app/gimplut.[ch]
* app/pixel_processor.[ch]
* app/pixel_region.[ch]
* app/pixel_surround.[ch]
* app/temp_buf.[ch]
* app/tile.[ch]
* app/tile_cache.[ch]
* app/tile_manager.[ch]
* app/tile_manager_pvt.h
* app/tile_pvt.h
* app/tile_swap.[ch]: moved to base/
* app/base/Makefile.am
* app/base/base-types.h
* app/base/*: new directory for the sub-object pixel maniplation
and storage stuff. Does not include Gtk+ or anything outside
base/. Did some cleanup in all files.
* app/appenums.h
* app/apptypes.h
* app/core/gimpimage.h: removed types which are now in
base/base-types.h.
* app/base/base-config.[ch]
* app/gimprc.[ch]: put the config variables for base/ to their own
file so base/ doesn not have to include gimprc.h (does not yet
work, i.e. the variables are un-configurable right now)
* app/main.c: set a log handler for "Gimp-Base".
* app/paint-funcs/Makefile.am
* app/paint-funcs/paint-funcs.[ch]: removed the color hash which
maps RGB to color indices because it's a totally standalone system
which has nothing to do with the paint-funcs and introduced a
GimpImage dependency.
paint-funcs/ should be considered on the same sub-object
(glib-only) level as base/, only in a different directory.
* app/core/Makefile.am
* app/core/gimpimage-colorhash.[ch]: put the color hash here.
* app/gimage.c: don't invalidate the color hash here...
* app/core/gimpimage.c: ... but in the colormap_changed() default
inplementation. Initialize the hash in class_init().
* tools/pdbgen/Makefile.am: scan app/base/base-types.h for enums.
* tools/pdbgen/enums.pl: regenerated.
* app/[lots]
* app/core/[of]
* app/gui/[files]
* app/pdb/[all]
* app/tools/[over]
* app/widgets/[the]
* tools/pdbgen/pdb/[place]: changed #includes accordingly. And use
base_config->value instead of the stuff from gimprc.h.
2001-05-11 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/lc_dialog.[ch]: taken behind the curtain and shot.
(famous words of Seth Burgess on #gimp)
* app/app_procs.c
* app/gdisplay.c
* app/gimage.c
* app/gui/commands.c
* app/gui/gui.c
* app/gui/menus.c
* app/gui/preferences-dialog.c: don't #include it or call it's
functions any more.
* app/gui/dialogs-commands.[ch]: added a constructor for a dock
which looks like the old L&C dialog (taken from test-commands.*)
* app/gui/test-commands.[ch]: removed here.
* app/gui/dialogs-constructors.[ch]: wrapped the old
paths-dialog.* stuff in a dockable which can be created only
once. Will go away as soon as the new path stuff is there.
* app/gui/dialogs.c: added the paths dockable, removed lc_dialog.
* app/gui/paths-dialog.c: some changes to make it work without the
lc_dialog around it. Will probably crash randomly and refuse to
update it's contents properly (scheduled for removal).
2001-05-08 Michael Natterer <mitch@gimp.org>
* app/appenums.h: added ChannelType.
* app/gimpimage.h: removed ChannelType.
* tools/pdbgen/enums.pl: regenerated.
* app/apptypes.h: don't include libgimpwidgets/gimpwidgetstypes.h
and widgets/widgets-types.h any more.
* app/devices.c
* app/gimpdnd.c
* app/gimprc.c
* app/lc_dialog.c
* app/gui/[many].c: include widgets/widgets-types.h
* app/tools/histogram_tool.h: include widgets/widgets-types.h here
because of an ugly dependency from pdb/color_cmds.c
* app/tools/tool_options_dialog.c
* app/widgets/widgets-types.h: include
libgimpwidgets/gimpwidgetstypes.h and apptypes.h so files in
widgets/ only have to include this file.
* app/widgets/*.c: include widgets-types.h instead of apptypes.h
* app/gimpdrawable-preview.c
* app/gui/gradient-editor.c: removed useless #includes.
2001-05-07 Michael Natterer <mitch@gimp.org>
* app/gimpimage.[hc]: new signal "floating_selection_changed",
removed ancient declaration of _GimpImageRepaintArg.
* app/floating_sel.c
* app/undo.c: emit "floating_selection_changed" where approptiate.
* app/gimage_mask.c: s/"Floated Layer"/"Floating Selection"/
because we view this layer directly now (not some thing with an
"L" icon).
* app/gui/layers-commands.c: don't use confusing boolean variables
which indicate that something is not true (reversed their logic).
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpchannellistitem.[ch]: new widget. Does nothing yet.
* app/widgets/gimpchannellistview.c: set the button box
insensitive when there is a floating selection.
* app/widgets/gimpdrawablelistitem.c: made channel DND work again.
Very ugly btw.
* app/widgets/gimpdrawablelistview.c: connect to
"floating_selection_changed". Fake a change of the active drawable
so the button boxes get updated correctly.
* app/widgets/gimplayerlistview.c: set the sensitivity of the
buttons correctly.
* app/widgets/gimplistitem.c: create GimpChannelListItems for
channels. Some very ugly code to work around broken
GTK_STATE_INSENSITIVE propagation in list items.
2001-04-29 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerview.[ch]: added virtual method
context_item() which works like select_item() and activate_item()
and a function to trigger the signal from subclasses (marked as
"protected").
* app/widgets/gimpcontainerlistview.c: invoke context_item() on
right click.
* app/widgets/gimpdrawablelistview.[ch]: implement context_item()
and show a context menu. The functions to show the menu as well as
functions to create a new drawable and to edit it's attriutes must
be passed to the constructor now.
* app/gui/channels-commands.[ch]
* app/gui/layers-commands.[ch]: added functions which show the
layers and channels context menus. No accelerators supported yet.
Auto-destroy all dialogs when their drawable is removed from the
image.
* app/gui/dialogs-constructors.c: changed the calls to
gimp_drawable_list_view_new() accordingly.
* app/gui/menus.c
* app/gui/test-commands.[ch]: removed some test dialogs.
2001-04-23 Michael Natterer <mitch@gimp.org>
* app/gimpcontext.[ch]: some minor fixes / cleanup.
* app/gimpdata.c: forgot to gtk_object_class_add_signals() in
class_init().
* app/gui/dialogs-constructors.[ch]: added a tool_tab_func() so
the notebook tab shows a tool preview, pass a GimpContext to all
dialog constructors and added set_context() functions for all
dockable based dialogs so they can be configured to use the
context of the destination dock when dragging them around.
* app/widgets/gimpcontainermenuimpl.c: removed debugging output.
* app/widgets/gimpdialogfactory.[ch]: add a method to create
dockables (which gets passed the dock the dockable will be added
to) so the dockables can be created in the right context.
* app/widgets/gimpdock.[ch]: added a GimpContext attribute, remove
the dockbooks explicitely in destroy().
* app/widgets/gimpdockable.[ch]: dockables now know about their
set_context_func() and can thus be dragged between different
contexts.
* app/widgets/gimpdockbook.c: gimp_dockbook_add(): refuse to add
dockables to dockbooks which are not part of a dock, set the
dockable's context after adding it.
* app/widgets/gimpimagedock.[ch]: image docks now keep a pointer
to the global image list which is passed to them on construction
so they don't need to know about the global "image_context"
variable, added an "Auto" button like in L&C.
* app/gui/dialogs-commands.c: changed accordingly.
2001-04-21 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/lc_dialogP.h
* app/paths_dialogP.h: removed stuff that will go away anyway (put
the declarations to the public headers).
* app/gimpui.[ch]: new function gimp_widget_get_callback_context()
which may only be called from a *_cmd_callback() and returns the
data we attached with weird methods.
* app/gui/Makefile.am
* app/gui/channels-commands.[ch]: callbacks independent from the
channels dialog and the "new" and "edit channel" dialogs.
* app/gui/channels-dialog.[ch]
* app/gui/layers-commands.c
* app/gui/layers-dialog.[ch]
* app/lc_dialog.[ch]
* app/gui/menus.c
* app/gui/paths-dialog.[ch]
* app/tools/gimpbezierselecttool.c
* po/POTFILES.in: changed accordingly.
2001-04-20 Michael Natterer <mitch@gimp.org>
* app/gimpui.[ch]: new functions gimp_window_add_accel_group() and
gimp_window_remove_accel_group() which do the ugly accel context
hack described below.
* app/interface.c
* app/gui/layers-dialog.c: use the new functions.
* app/disp_callbacks.c
* app/gui/layers-commands.c: removed stuff which is now done
automatically.
2001-04-20 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/layers_dialogP.h: removed.
* app/gimpui.[ch]: new function gimp_menu_position().
* app/disp_callbacks.c
* app/interface.c
* app/gui/layers-dialog.c: popup the image and layers menu with
gtk_item_factory_popup_with_data() instead of gtk_menu_popup()
and pass the GimpImage we're operating on as data.
For accelerators, which are invoked without context, we catch key
press events and attach the context to the GtkItemFactory.
* app/gui/Makefile.am
* app/gui/layers-commands.[ch]: common layer callbacks (instead of
separate ones in commands.c and layers-dialog.c
* app/gui/commands.[ch]
* app/gui/layers-dialog.[ch]: removed the menu callbacks here.
* app/gdisplay.h
* app/lc_dialog.c
* app/gui/channels-dialog.c
* app/gui/layer-select.c
* app/gui/menus.c
* po/POTFILES.in: changed accordingly.
2001-04-19 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/brush_header.h
* app/pattern_header.h
* app/desaturate.[ch]
* app/equalize.[ch]
* app/invert.[ch]: removed.
* app/gimpbrush-header.h
* app/gimppattern-header.h
* app/gimpdrawable-desaturate.[ch]
* app/gimpdrawable-equalize.[ch]
* app/gimpdrawable-invert.[ch]: new files.
* app/gui/commands.c: put some stuff from desaturate, equalize and
invert here. While it's ok to check the drawable type in the
callback, this is the wrong place for PDB wrappers.
* app/gimpbrush.c
* app/gimpbrushpipe.c
* app/gimplayer.c
* app/gimppattern.c
* app/pdb/color_cmds.c
* plug-ins/common/gbr.c
* plug-ins/common/gih.c
* plug-ins/common/pat.c
* po/POTFILES.in
* tools/pdbgen/pdb/color.pdb: changed accordingly.
2001-04-18 Michael Natterer <mitch@gimp.org>
* app/devices.[ch]
* app/gui/about-dialog.[ch]
* app/gui/preferences-dialog.[ch]
* app/gui/tips-dialog.[ch]: return a GtkWidget from the constructor.
* app/gui/dialogs.c
* app/gui/dialogs-constructors.[ch]: register them with the dialog
factory.
* app/gui/commands.[ch]
* app/gui/menus.c: removed their old callbacks.
* app/gui/brush-select.c
* app/gui/gradient-select.c
* app/gui/palette-editor.[ch]: no need to show or raise the shell
(that's done by the dialog factory now).
* app/widgets/gimpdialogfactory.c: actually do what the
"singleton" and "session_managed" flags say.
2001-04-17 Michael Natterer <mitch@gimp.org>
* app/session.[ch]
* app/gimprc.c: removed the old dialog session management code...
* app/widgets/gimpdialogfactory.[ch]: ...and manage all dialogs here.
* app/gui/dialogs-constructors.[ch]: dialog factory compliant
constructors for all session managed toplevel dialogs.
* app/brush_select.[ch]
* app/devices.[ch]
* app/docindex.[ch]
* app/errorconsole.[ch]
* app/gradient_select.[ch]
* app/info_dialog.c
* app/lc_dialog.[ch]
* app/palette.[ch]
* app/pattern_select.[ch]
* app/toolbox.[ch]
* app/tools/tool_options_dialog.[ch]: all dialog constructors have
to return the dialog now (even the legacy ones that will go away).
Removed the session management code as this is now done for the
dialogs, not by them.
* app/app_procs.c
* app/color_select.c
* app/commands.[ch]
* app/indicator_area.c
* app/menus.c
* app/palette_select.c
* app/preferences_dialog.c
* app/gui/dialogs.c
* app/gui/dialogs-commands.[ch]
* app/gui/gui.c
* app/tools/gimptool.c
* app/widgets/gimpdock.c: changed accordingly.
2001-04-16 Michael Natterer <mitch@gimp.org>
First attempt to get the docks session managed:
* app/gimprc.c: new gimprc type "new-session-info" which will soon
replace the original one.
* app/menus.c
* app/gui/dialogs.c: s/_/-/g in all dialog identifier strings.
* app/session.[ch]: call the dialog factory's session functions.
* app/test_commands.c: use the dialog factory to create the tabs.
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.[ch]: the constructors return widgets,
not dockables now.
* app/widgets/gimpdialogfactory.[ch]: maintain a list of dialog
factories in the class struct. Added ugly code to do the GimpDock
session management.
* app/gui/gui.c
* app/widgets/gimpdock.c: changed accordingly.
2001-04-14 Michael Natterer <mitch@gimp.org>
* app/menus.c: added some more dialog types.
* app/gui/Makefile.am
* app/gui/gimpdialogfactory.[ch]: removed again...
* app/widgets/Makefile.am
* app/widgets/gimpdialogfactory.[ch]: ...and added where it belongs.
* app/gui/dialogs.c
* app/widgets/gimpdock.c: changed #include's
* app/gui/dialogs-commands.c: dialogs can be removed via the menu
now.
* app/widgets/gimpdockbook.c: ref the dockbook while the item
factory is active because an item factory callback may destroy it
(we need to add the hijacked GtkNotebook menu back to the
notebook).
2001-04-14 Michael Natterer <mitch@gimp.org>
* configure.in
* app/Makefile.am
* app/gui/Makefile.am: new directory which will contain all gui code
except widgets (I was tired off adding new files to app/).
* app/apptypes.h
* app/gui/gimpdialogfactory.[ch]: factory which produces dialogs
from string descriptions. Should maybe go to widgets/.
* app/gui/dialogs-commands.[ch]: callbacks for the new menu
factory below.
* app/gui/dialogs-constructors.[ch]: dialog constructors which are
registered with the dialog factory.
* app/gui/dialogs.[ch]: register the dialogs with the factory.
* app/app_procs.c: call dialogs_register().
* app/menus.[ch]: a new item factory for creating dialogs.
* app/test_commands.c
* app/widgets/gimpdock.[ch]: added a dialog factory pointer to the
GimpDock struct.
* app/widgets/gimpdockbook.[ch]: badly (badly!) fiddle around with
GtkNotebook's menu to get it integrated in the GtkItemFactory
which produces new dialogs.
2001-04-13 Michael Natterer <mitch@gimp.org>
* app/pdb/procedural_db.[ch]: removed the ID system from the pdb/
subdir...
* app/gimpimage.[ch]: ...and temporarily added it back to GimpImage.
The ID stuff is not only used by the PDB but is a more general
type of service which is needed for the PDB, DND and some parts of
the GUI. Finally, a GimpFactory class with subclasses for data
objects, images etc. will maintain the ID spaces.
* app/colormap_dialog.c
* app/file-open.c
* app/file-save.c
* app/gdisplay.c
* app/gimpdnd.c
* app/gimpdrawable.c
* app/info_window.c
* app/lc_dialog.c
* app/nav_window.c
* app/palette_import.c
* app/paths_dialog.c
* app/plug_in.c
* app/xcf.c
* app/tools/gimptexttool.c
* tools/pdbgen/pdb.pl
* tools/pdbgen/pdb/image.pdb: use GimpImage's ID functions.
* app/pdb/channel_cmds.c
* app/pdb/channel_ops_cmds.c
* app/pdb/convert_cmds.c
* app/pdb/display_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/fileops_cmds.c
* app/pdb/guides_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/parasite_cmds.c
* app/pdb/paths_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/text_tool_cmds.c
* app/pdb/tools_cmds.c
* app/pdb/undo_cmds.c: regenerated.
2001-03-11 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimplayerlistview.[ch]: new subclass of GimpDrawableListView
(the upcoming replacement of the layers dialog). Connects to the
new GimpLayer signals using the layer container as signal proxy
(see below).
* app/gimpcontainerview.[ch]: made "set_container" a virtual
function. This is needed by the GimpLayerListView to
connect/disconnect signals. Subclasses implementing this method
MUST obey the following order of instructions:
1. disconnect from signals related to GimpContainerView->container
2. chain up (!!!)
3. connect to signals related to GimpContainerView->container
And yes, I will add DocBook files for all those new objects :)
* app/gimppreview.[ch]: made "border_color" a GimpRGB instead of
guchar[3]. Added gimp_preview_set_border_color().
* app/gimpcontainergridview.c
* app/gimplayerlistitem.c: use gimp_preview_set_border_color().
* app/gimpcontainerlistview.c
* app/gimpdrawablelistview.c: cleanup.
* app/gimpdrawablelistitem.c: we can safely asume that our parent
widget is a GimpDrawableListView and use it's "reorder_drawable"
function pointer (after checking that it's there).
* app/gimplistitem.c: connect the correct DND type when changing
the container of a list item with "reorderable" enabled.
* app/gimplayer.[ch]: added accessors and "*_changed" signals for
layer->mode, layer->opacity and layer->preserve_trans.
* app/disp_callbacks.c: fixed a FIXME: use the correct bucket fill
tool context again.
* app/tools/paint_options.[ch]: paint_mode_menu_new(): added a
boolean which toggles the "Behind" item on/off to the same
constructor can be used for all paint mode menus.
* app/tools/gimptoolinfo.c: rect. select is the standard tool again.
* app/brush_select.c
* app/floating_sel.c
* app/gimpimage.c
* app/layers_dialog.c
* app/pdb/layer_cmds.c
* app/tools/gimpeditselectiontool.c
* tools/pdbgen/pdb/layer.pdb: use the new layer accessors and the
paint_mode_menu constructor.
* app/commands.c
* app/gdisplay.c
* app/menus.c
* app/undo.c
* app/tools/gimppainttool.c
* app/tools/gimptool.c
* app/tools/paint_options.c
* app/tools/tool_manager.c: put the #warning's back inside
#ifdef __GNUC__
* app/Makefile.am
Inclusion of David's MMX code into Makefile now
depends on prior definition of HAVE_ASM_MMX.
* app/pdb/procedural_db.c
Line 276 cast of va_args to type GimpRGB seems
very problematical on SGI, as the va_args macro
expands to Extreme Ugliness and
(GimpRGB)(Extreme Ugliness) does not compile.
RH Linux seems indifferent and accepts either.
* app/commands.c
* app/gdisplay.c
* app/menus.c
* app/plug_in_cmds.c
* app/undo.c
* app/tools/gimppainttool.c
* app/tools/gimptool.c
* app/tools/paint_options.c
* app/tools/tool_manager.c
s|#<remark about extreme buggedness>|
/* #<remark about extreme buggedness> */|
Not all compilers are at peace with non-standard
pre-compiler directives. SGI MIPs compilers are
among the latter species.
2001-03-06 Michael Natterer <mitch@gimp.org>
* app/gimage.[ch]: removed the layer mask functions.
* app/gimpchannel.[ch]: added a boolean "dummy" parameter to
gimp_channel_copy() so it has the same signature as
gimp_layer_copy() and can be used by the GimpDrawableListView to
generically duplicate drawables.
* app/gimpcontainerview.c: call "select_item" with a NULL item
before changing the underlying GimpContainer so subclasses have
a chance to update (e.g. set button sensitivity).
* app/gimpdnd.c: folded all the GtkType comparing code into a
utility function (much more readable now).
* app/gimpdrawablelistview.[ch]: activated the "raise", "lower",
"duplicate" and "delete". I'm not really happy with all those
function pointers passed to the constructor (and the dummy
parameters I've added to some GimpChannel functions) -- OTOH the
generic view maybe worth the "gboolean dummy" cruft hanging around
in the channel class.
* app/gimplayer.[ch]: removed the "apply_mask", "edit_mask" and
"show_mask" booleans ...
* app/gimplayermask.[ch]: .. and added them here together with
proper accessors and "*_changed" signals.
This also makes the layer mask undo code much clearer as we don't
have to store the booleans separately.
* app/gimplayerlistitem.c: badly hacked to acheive the correct
indicator being drawn around the active drawable. This needs
a new GimpPreview function for setting the border color.
* app/gimplistitem.c: smaller horizontal spacing.
* app/gimppreview.[ch]: added the "border_width" parameter also to
gimp_preview_set_size() so we can modify all previews the same way
after creation.
* app/layers_dialog.c: no need to push an undo group around
the "duplicate layer" code. Was this an artefact or did I miss
something here ???
* app/channel_ops.c
* app/channels_dialog.c
* app/gimage_mask.c
* app/gimpcontainergridview.c
* app/gimpcontainerlistview.c
* app/gimpdrawablelistitem.c
* app/gimpimage.[ch]
* app/qmask.c
* app/test_commands.c
* app/undo.c
* app/xcf.c
* app/pdb/channel_cmds.c
* tools/pdbgen/pdb/channel.pdb
* app/pdb/selection_cmds.c
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/internal_procs.c
* app/pdb/layer_cmds.c
* libgimp/gimplayer_pdb.[ch]
* tools/pdbgen/pdb/layer.pdb: commented out the layer mask accessors
from the perl code, so the functions temporarily disappeared all
over the place.
* plug-ins/Makefile.am: don't build XJT until the layer mask stuff
is back.
* pixmaps/eye.xpm: cropped it to it's minimal size.
2001-03-03 Michael Natterer <mitch@gimp.org>
* app/appenums.h: renamed ZoomType to GimpZoomZype and added it
here.
* app/commands.c
* app/disp_callbacks.c
* app/nav_window.c
* app/scale.[ch]: changed accordingly.
* app/tools/Makefile.am
* app/tools/magnify.[ch]: back as object.
* app/tools/tool.c: removed the old ToolInfo entry.
* app/tools/tools.c: register it.
2001-02-27 Michael Natterer <mitch@gimp.org>
* app/apptypes.h
* app/Makefile.am
* app/gimpdrawablelistview.[ch]: new widget. The upcoming replacement
for the layers and channels dialogs.
* app/test_commands.[ch]: put the test dialogs here...
* app/commands.[ch]: ... and made this one clean again.
* app/gimpcontainergridview.c
* app/gimpcontainerlistview.c
* app/gimpcontainerview.[ch]: some signal handling fine tuning.
* app/gimpimage.[ch]: emits "active_layer_changed" and
"active_channel_changed" signals now. The semantics of
gimage->active_layer and gimage->active_channel have changed a bit.
We now have either an active layer _or_ and active channel (there
is no active layer any more if a channel is active).
* app/channel_ops.c
* app/floating_sel.c
* app/gdisplay.c
* app/layers_dialog.c
* app/menus.c: changed accordingly.
* app/tools/gimpcolorpickertool.c: actually assign the draw_class
vraiable in the class_init function.
* app/tools/gimpdrawtool.[ch]
* app/tools/tool.c: removed the _new() functions because these
objects are abstract superclasses. Did some cleanup.
Nathan, please configure you editor to _not_ produce any tabs
in the source code.
* app/tools/gimppaintbrushtool.[ch]: "blurb" and "help" are tagged
with _(), not N_(). Put the register function to the header.
* po/POTFILES.in: made it compile again.
2001-02-25 Michael Natterer <mitch@gimp.org>
* app/channel_ops.c
* app/channels_dialog.c
* app/commands.c
* app/floating_sel.c
* app/gdisplay.c
* app/gimpimage.[ch]
* app/layer_select.c
* app/layers_dialog.c
* app/undo.c
* app/xcf.c
* app/tools/move.c: remove direct access of gimage->active_layer and
gimage->active_channel. Reading access is of course harmless, but
gimp_image_set_active_blah() will trigger a signal emission soon.
It will probably be neccessary to change the functions to accept
NULL layers and channels to acheive exactly what weird places like
floating_sel.c did before by setting it directly.
* gimptool-1.4.in
* libgimp/Makefile.am
* libgimpcolor/Makefile.am
* libgimpmath/Makefile.am
* libgimpwidgets/Makefile.am
* plug-ins/libgck/gck/Makefile.am: made linking against stable
GIMP installed in the same prefix work again by renaming all our
libraries explicitly to libgimp<foo>-1.3.* (not as part of the
libtool revision but as part of the library name). Removed the
libtool revision to avoid double versioning. This has to be
hardcoded in the libraries' Makefile.am ...
* app/Makefile.am
* plug-ins/FractalExplorer/Makefile.am
* plug-ins/Lighting/Makefile.am
* plug-ins/MapObject/Makefile.am
* plug-ins/bmp/Makefile.am
* plug-ins/common/Makefile.am
* plug-ins/common/mkgen.pl
* plug-ins/dbbrowser/Makefile.am
* plug-ins/faxg3/Makefile.am
* plug-ins/fits/Makefile.am
* plug-ins/flame/Makefile.am
* plug-ins/fp/Makefile.am
* plug-ins/gap/Makefile.am
* plug-ins/gdyntext/Makefile.am
* plug-ins/gfig/Makefile.am
* plug-ins/gflare/Makefile.am
* plug-ins/gfli/Makefile.am
* plug-ins/gimpressionist/Makefile.am
* plug-ins/helpbrowser/Makefile.am
* plug-ins/ifscompose/Makefile.am
* plug-ins/imagemap/Makefile.am
* plug-ins/maze/Makefile.am
* plug-ins/mosaic/Makefile.am
* plug-ins/pagecurl/Makefile.am
* plug-ins/plugin-helper/Makefile.am
* plug-ins/print/Makefile.am
* plug-ins/rcm/Makefile.am
* plug-ins/script-fu/Makefile.am
* plug-ins/sel2path/Makefile.am
* plug-ins/sgi/Makefile.am
* plug-ins/webbrowser/Makefile.am
* plug-ins/xjt/Makefile.am: ... while all other Makefiles can simply
link against "libgimp<foo>-$(LT_REVISION).la"
2001-02-24 Michael Natterer <mitch@gimp.org>
* app/commands.[ch]: added cmd_callbacks for the toolbox and
the preferences dialog.
* app/context_manager.c: cleanup.
* app/gimppreview.[ch]: made gimp_preview_render() public.
* app/gimptoolinfopreview.c
* app/tools/gimptoolinfo.c: the tool previews look nice now but
are still ugly implemented (it renders tons of temp_bufs on each
state change).
* app/indicator_area.[ch]: pass a context to the constructor.
* app/menus.c: don't call the toolbox and the prefs dialog
directly but dispatch via commands.[ch]
* app/preferences_dialog.[ch]
* app/toolbox.[ch]: renamed the constructor / raise function, cleanup.
* app/tools/color_picker.c: tried to get the shortcut working again.
* app/tools/paint_options.c: the brush dialog's paint options
are shown/hidden from the context manager now.
2001-02-23 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimptoolinfopreview.[ch]: new widget.
* app/gimppreview.c
* app/tools/gimptoolinfo.c
* app/gimpdnd.c: changed for the tool info preview. Still buggy
and looks a bit funny at the moment :-)
* app/commands.[ch]
* app/menus.c: small new feature: shift-X toggles the whole context.
2001-02-21 Michael Natterer <mitch@gimp.org>
Made the tool system work again and integrated it back with the
GimpContext. It's a hack between old, new and freshly hacked
stuff. There are still lots of warnings but at least we can switch
tools again.
* app/tools/Makefile.am
* app/tools/gimptoolinfo.[ch]: resurrected as real object.
The GimpToolInfo objects are derived from GimpData, which gives
us the tool icon stuff for free. Also, we need a list of _objects_
which is allocated all the time. All tools are required to have
a "register" function which registers themselves with the list
of GimpToolInfo objects which is maintained by the tool manager.
* app/tools/tool.[ch]: made a real GtkObject with properly named
functions out of it. The former "active_tool_control" is of
course not the default implementation of the tool's "control"
method but a hack _around_ it, so it went to the tool manager.
* app/tools/color_picker.[ch]
* app/tools/measure.[ch]: ditto. Added "register" functions and
"destroy" implementations so the tools go away after use.
* app/tools/tool_manager.[ch]: badly hacked at the moment to keep
both the list of class structures _and_ the tool info list.
* app/tools/tools.c: call the tools' register functions.
* app/gimpcontext.[ch]: store a pointer to a GimpToolInfo object
as "active_tool" in the context, so we're independent of tools
being allocated or not. It's treated just like a brush or pattern
now.
* app/gimpdnd.[ch]: made tool DND work like all other DND types.
* app/devices.[ch]: also here: the tool is just a normal data object
now, resulting in removal of lots of code.
* app/commands.c
* app/context_manager.c: updated the tool select and context stuff
to work again.
* app/toolbox.c: removed the old pixmap buttons and put GimpPreviews
inside the tool buttons. Still needs an own preview type to
look nice.
* app/disp_callbacks.c
* app/about_dialog.c
* app/app_procs.c
* app/appenums.h
* app/apptypes.h
* app/gimage.c
* app/gimppalette.c
* app/gimppreview.c
* app/gimprc.c
* app/info_window.c
* app/menus.c
* app/palette_select.h
* app/scale.c
* app/scroll.c: lots of changes to make it work again.
2001-02-19 Michael Natterer <mitch@gimp.org>
* app/commands.[ch]
* app/menus.c: first version of the new layers and channels dialogs.
* app/gimpcontainergridview.c
* app/gimpcontainerlistview.c: allow creation with a NULL container.
* app/gimpdnd.[ch]: added generic DND functions for all drawable
types (not just setting the DND icon). Started to remove code
duplication.
* app/gimpdrawablepreview.c: with some magic calculations and ugly
assumptions the drawable previews now look exactly like in the old
L&C dialog.
* app/gimpimagepreview.c: no need to say "return" at the end of a
void function.
* app/gimppreview.[ch]: added the "is_popup" boolean also to the
default constructor. Call gimp_preview_set_viewable() before
calculating the preview size.
2001-02-18 Michael Natterer <mitch@gimp.org>
* app/gimpdnd.[ch]: added DND source functions which work by
GtkType.
* app/commands.c
* app/brush_select.c
* app/gradient_select.[ch]
* app/pattern_select.c: removed the DND code here because it's all
done by the GimpContainerView now.
* app/gimpbrushpreview.c
* app/gimpgradientpreview.c
* app/gimppalettepreview.c
* app/gimppatternpreview.c: use the DND by-type connect functions.
* app/gimpbrushgenerated.c: implemented "duplicate", cleanup.
* app/gimpcontainergridview.c
* app/gimpcontainerlistview.c
* app/gimpcontainerview.[ch]: added a "activate_item" signal
method which is emitted by the subclasses to indicate double click.
* app/gimpdatafactoryview.c: connect to "activate_item" and show
the editor.
* app/convert.c
* app/gimppalette.[ch]
* app/palette.c
* app/paletteP.h
* app/palette_import.c
* app/palette_select.[ch]: major cleanup: Behaves like the other
datatypes now: DND, context stuff, GimpContainerListViews in
the dialogs etc. Mostly just removal of code.
* app/gradient_editor.c: fixed signal blocking/unblocking.
* plug-ins/script-fu/scripts/Makefile.am: install the "Test Sphere"
script again.
* plug-ins/plugin-helper/*: prototype for an extension that allows
gmodules as plugins. Known bug: crashes on gmodules with a static "query" function
* app/tools/tool.c
* app/tools/tool.h: created new GimpTool object. Did away with ToolInfo.
Most tools still need to be ported over to the new api.
* plug-ins/script-fu/script-fu-scripts.c: fixed typo in comment. Pathetic, huh?
2001-02-13 Michael Natterer <mitch@gimp.org>
* gimprc.in
* user_install
* user_install.bat
* app/gimprc.[ch]
* app/preferences_dialog.c: removed the "brush_vbr_path" variable,
because all data types will be editable and saveable soon.
* app/Makefile.am
* app/apptypes.h
* app/gimpdatafactory.[ch]: new object which holds a data list and
knows how to create, edit, duplicate etc. the items in it. Will
completely replace the brushes.[ch], patterns.[ch], ... files soon.
* po/POTFILES.in
* app/gimpdatacontainerview.[ch]: removed.
* app/gimpdatafactoryview.[ch]: added.
A view on the GimpDataFactory with a GUI for creating, editing,
deleting etc. items (mostly unimplemented).
* app/context_manager.[ch]: replaced the global data lists by global
data factories.
* app/brush_select.c
* app/brushes.[ch]
* app/commands.c
* app/convert.c
* app/devices.c
* app/gimpbrush.[ch]
* app/gimpbrushgenerated.c
* app/gimpcontext.c
* app/gimpdata.[ch]
* app/gimpdatalist.[ch]
* app/gimpdnd.c
* app/gimpgradient.[ch]
* app/gimppalette.[ch]
* app/gimppattern.[ch]
* app/gradient_editor.c
* app/gradient_select.c
* app/gradients.[ch]
* app/indicator_area.c
* app/palette.c
* app/palette_import.c
* app/palette_select.c
* app/palettes.[ch]
* app/pattern_select.c
* app/patterns.[ch]
* app/pdb/brush_select_cmds.c
* app/pdb/brushes_cmds.c
* app/pdb/convert_cmds.c
* app/pdb/gradient_select_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/pattern_select_cmds.c
* app/pdb/patterns_cmds.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/patterns.pdb: changed accordingly.
2001-02-13 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* po/POTFILES.in
* app/gimpdatacontainerview.[ch]: new widget which will replace the
current brush, pattern, ... selections. To really use it, there
needs to be a GimpDataFactory object (coming soon...)
* app/commands.[ch]
* app/menus.c: added test data container views.
* app/paint_funcs_simd.S: #include the implementation with "", not <>
2001-02-13 Michael Natterer <mitch@gimp.org>
* app/gradient_editor.[ch]
* app/gradient_select.[ch]: use GimpContainerListView instead of
cooking an own list.
* app/gimpgradient.[ch]: removed the GdkPixmap from the gradient.
* app/gimpcontainerlistview.c: connect the viewable's "name_changed"
signal to the label.
* app/gimpmarshal.[ch]
* app/gimppreview.[ch]: new virtual function "get_size",
* app/gimpgradientpreview.c: implement "get_size" and return a 3:1
aspect ratio.
* app/gradients.c
* app/palette_select.[ch]
* app/palettes.c: removed the dialog freeze/thaw functions.
* app/brush_select.c
* app/pattern_select.c
* app/plug_in.c: stuff.
2001-02-12 Michael Natterer <mitch@gimp.org>
* app/brush_select.[ch]
* app/pattern_select.[ch]: removed almost all code by using
the GimpContainerGridView.
* app/brushes.c
* app/patterns.c: brush|pattern_select_freeze|thaw_all() don't
exist any more.
* app/devices.c: made it work again.
* app/gimpgradientpreview.c: the gradient popup is 128 x 32 again.
* app/plug_in.c: follow the brush and pattern dialog function
renaming.
* app/gimppalette.[ch]
* app/gimppalettepreview.c: added a "Columns" attribute and show
the popups accordingly.
The palette file format has changed again. It now can have an
optional "Columns: <n>" line after the palette's name.
* data/palettes/Bgold.gpl
* data/palettes/Borders.gpl
* data/palettes/Cascade.gpl
* data/palettes/China.gpl
* data/palettes/Coldfire.gpl
* data/palettes/Dark_pastels.gpl
* data/palettes/Ega.gpl
* data/palettes/Gold.gpl
* data/palettes/Grayblue.gpl
* data/palettes/Hilite.gpl
* data/palettes/Kahki.gpl
* data/palettes/Named_Colors.gpl
* data/palettes/News3.gpl
* data/palettes/Op2.gpl
* data/palettes/Plasma.gpl
* data/palettes/Visibone.gpl
* data/palettes/Visibone_2.gpl
* data/palettes/Web.gpl: added the "Columns" parameter where it
makes sense and remove those ugly black colors which were hanging
around as first color of may palettes.
2001-02-11 Michael Natterer <mitch@gimp.org>
Made a GimpContainer out of the palette list:
* app/Makefile.am
* app/palettes.[ch]: new files for the global palette list.
* app/gimpgradientpreview.[ch]
* app/gimppalettepreview.[ch]: new widgets.
* app/gimppalette.[ch]: derive it from GimpData to get all the
preview etc. stuff.
* app/datafiles.[ch]: new function datafiles_check_extension(),
added a "loader_data" parameter to datafiles_read_directories()
and pass it to the loader function.
* app/gimpcontext.[ch]: added the palette (not really used yet
except by the test dialogs).
* app/gimpdatalist.[ch]: new function gimp_data_list_save_and_clear()
which does everything needed for patterns_free(), brushes_free() ...
* app/gimpdnd.c: added palette DND.
* app/app_procs.c
* app/brushes.c
* app/color_notebook.h
* app/commands.c
* app/convert.c
* app/gimpbrush.h
* app/gimpbrushpipe.h
* app/gimpgradient.c
* app/gimppattern.h
* app/gimppreview.c
* app/gradients.c
* app/module_db.c
* app/palette.[ch]
* app/paletteP.h
* app/palette_import.c
* app/palette_select.[ch]
* app/patterns.c
* app/plug_in.c
* app/pdb/convert_cmds.c
* app/pdb/palette_cmds.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/palette.pdb: lotsa stuff: changed due to the above
API changes, #define the file extensions in the GimpData subclasses'
header files instead of hardcoding them in several places, ...
* data/palettes/*: The same file format change as for the gradient
files:
- Save the palette name in a parsable form (as part of the file
format, not in a comment.
- Removed unserscores from the palette names.
- Added an extension (Gimp PaLettes are ".gpl" files now ;-)