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-20 Michael Natterer <mitch@gimp.org>
* app/base/Makefile.am
* app/base/base.[ch]: new files for base_init() and base_exit()
which initialize/shutdown the paint_funcs and the tile_cache.
* app/app_procs.c: removed the stuff here.
* app/widgets/gimpchannellistitem.c: commented out unused code.
2001-05-18 Michael Natterer <mitch@gimp.org>
* app/gui/menus.c: use the correct callback for opening L&C.
* app/widgets/gimpdock.c: set the window title, the WM name/class
and the icon.
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-13 Michael Natterer <mitch@gimp.org>
* app/appenums.h
* app/core/core-types.h
* app/tools/tools-types.h: moved some more types to core-types.h
and tools-types.h. Removed AUXILLARY_CHANNEL from the ChannelType
enum.
* app/gdisplay.[ch]: removed the "depth" and "color_type" fields
from the struct. Cleaned up the header.
* app/selection.c
* app/gui/info-window.c: use g_visual->depth instead of
gdisp->depth.
* app/gimphelp.c: #include "core/core-types.h"
* tools/pdbgen/Makefile.am: added app/core/core-types.h to the
list of files to be scanned for enums.
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c: regenerated.
2001-05-13 Michael Natterer <mitch@gimp.org>
* TODO.xml: some percentage updates.
* autogen.sh: correctly parse latest autoconf's broken "--version"
string.
* app/widgets/Makefile.am
* app/widgets/gimpcontainerview-utils.[ch]: new files which
provide a set of built-in get_name_func()s for GimpContainerView
and GimpContainerMenu.
* app/widgets/gimpcontainermenu.c
* app/widgets/gimpcontainerview.c: use them.
* app/widgets/gimpimagedock.c
* app/gui/dialogs-constructors.c: removed the get_name_func()s here.
2001-05-13 Michael Natterer <mitch@gimp.org>
* app/apptypes.h: removed some forgotten tools types.
* app/tools/tools-types.h: and added them here.
* app/interface.c
* app/disp_callbacks.[ch]: ported dropping of drawables to the
new DND system.
* app/app_procs.c
* app/core/gimpdatafactory.c
* app/core/gimpimage-duplicate.c
* app/core/gimptoolinfo.h
* app/gui/gui.c
* app/tools/tool_options.c
* app/widgets/gimpchannellistview.c
* app/widgets/gimplayerlistview.c: removed/fixed includes.
* app/gui/brush-select.[ch]
* app/gui/pattern-select.[ch]: removed the display of the current
name (done by the grid view now).
* app/gui/palette-select.c: fixed palette preview size.
* app/gui/dialogs-constructors.c: added get_name() functions for
brushes, patterns, images and palettes.
* app/widgets/gimpcontainergridview.[ch]: added a label for the
name of the active item.
* app/widgets/gimpdnd.[ch]: removed the old drawable DND preview
icon code.
* tools/pdbgen/app.pl: braino: the $tool_eek hack has to be
initialized to 0 at the beginning of each file, otherwise we end
up including "tools/tools-types.h" everywhere.
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/text_tool.pdb
* tools/pdbgen/pdb/tools.pdb: add "tools/tools-types.h" where needed.
* app/pdb/color_cmds.c
* app/pdb/pattern_select_cmds.c
* app/pdb/patterns_cmds.c
* app/pdb/plug_in_cmds.c
* app/pdb/procedural_db_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/undo_cmds.c
* app/pdb/unit_cmds.c: regenerated.
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-11 Michael Natterer <mitch@gimp.org>
* app/gui/Makefile.am
* app/gui/channels-dialog.[ch]
* app/gui/layers-dialog.[ch]: at the end of their epoch, the
dinosaurs were wiped out by a "cvs remove" impact from space.
* app/lc_dialog.c: changed accordingly.
* app/gui/layer-select.c: use the new preview system (mostly code
removal).
* app/gui/menus.c: reorder the dialog factory menu.
2001-05-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpchannellistview.c: fixed button sensitivity.
* app/widgets/gimpdialogfactory.c: write out newlines to
.sessionrc at the right places.
* app/widgets/gimpdock.c: s/gimp_dockable/gimp-dockable/ makes DND
re-arranging of dialogs work again.
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-05-06 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpchannellistview.c: enabled setting component
activity. Connect an "extended_clicked" callback to the "To
Selection" button for add/sub/intersect.
* app/widgets/gimpcomponentlistitem.c: removed some commented out
code.
* app/widgets/gimpdrawablelistview.c: stuff.
* app/widgets/gimplayerlistview.c: set "Raise" to insensitive if
the active layer has no alpha.
* libgimpwidgets/gimpbutton.c: fiddle around correctly with
GtkButton's internals.
2001-05-06 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpbutton.[ch]: new widget derived from
GtkButton. It adds an "extended_clicked" signal which is emitted
instead of "clicked" if a modifier was pressed.
* libgimpwidgets/gimpchainbutton.[ch]
* libgimpwidgets/gimppixmap.[ch]: removed the opaque typedefs.
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h: and added them here. Added
GimpButton.
* app/widgets/gimpdrawablelistview.c: use GimpButtons for "Raise"
and "Lower" and raise/lower to top/bottom on shift-click.
2001-05-06 Michael Natterer <mitch@gimp.org>
* app/gimpimage.[ch]: renamed "restructure" to "alpha_changed" and
only emit it in flatten(), not in merge_layers().
* app/gimage.c
* app/gimplayer.c: changed accordingly.
* app/widgets/gimpcontainerlistview.c: set both scrollbar policies
to automatic.
2001-05-06 Michael Natterer <mitch@gimp.org>
* app/gimpimage.[ch]: renamed the "resize" signal to "size_changed".
* app/gimage.c: changed accordingly.
* app/undo.c: renamed the "shrink_wrap" to "size_changed", call
gimp_image_size_changed() and let the handlers do the work.
* app/widgets/gimplistitem.[ch]: added a virtual set_preview_size()
method and a default implementation.
* app/widgets/gimplayerlistitem.c: added an inplementation of
set_preview_size() which set's the size of the mask preview.
* app/widgets/gimpchannellistview.c: implement set_preview_size()
and set the size of the component previews.
* app/widgets/gimpcontainerlistview.c: call
gimp_list_item_set_preview_size() instead of resizing the preview
manually.
* app/widgets/gimpcontainerview.c: emit "set_preview_size" even if
the size has not changed so we can use it to re-calculate the
preview size on image size change.
* app/widgets/gimpdrawablelistview.c: connect to the image's
"size_changed" signal and trigger preview size re-calculation in
the callback.
2001-05-06 Michael Natterer <mitch@gimp.org>
* app/appenums.h: added GimpDropMode...
* app/gimpdnd.h: ...removed from here.
* app/gimpimage.[ch]:
- New signal "mode_changed".
- removed "const GimpImage*" from gimp_image_colormap_changed()
because a signal emission is never "const" for the object
which emits the signal.
- Fixed gimp_image_[set|get]_component_[active|visible]():
ALPHA_CHANNEL maps to ALPHA_PIX only in RGB mode, use
ALPHA_G_PIX/ALPHA_I_PIX in GRAY/INDEXED mode.
* app/gimpimage-convert.c
* app/undo.c: call gimp_image_mode_changed().
* app/gimpviewable.c: added an implementation of
"invalidate_preview" which frees the preview temp_buf which may be
attached to the viewable. Subclasses need to chain up now.
* app/gimpdrawable.c
* app/gimpimage.c: chain up in invalidate_preview().
* app/widgets/gimpchannellistview.c: connect to the image's
"mode_changed" signal and rebuild the channel list in the
callback.
* app/widgets/gimpcontainerview.h: indentation.
* app/widgets/gimpdockbook.c: set the dockable's context to NULL
in gimp_dockbook_remove()
* app/widgets/gimpimagedock.c: forgot to actually set the dock's
image in gimp_image_dock_new().
* app/gui/dialogs-constructors.c: added a get_name_func() for tool
views which returns the tool's "blurb". It's safe to assume now
that a dockable's context will exist as long as the dockable
exists unless it's explicitely set to NULL, so remove ugly hacks
handling context destruction.
* app/tools/gimptool.c: removed COMPAT_CRUFT and useless #include's.
2001-05-03 Michael Natterer <mitch@gimp.org>
* app/apptypes.h: removed typedefs from the widgets/ subdir.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h: new file.
* app/widgets/gimpcontainermenu.[ch]
* app/widgets/gimpcontainerview.[ch]: synced them again and added a
"get_name_func"
* app/widgets/gimplistitem.[ch]
* app/widgets/gimpmenuitem.[ch]: add a "get_name_func" and use it
to get the item's name.
* app/widgets/gimpcontainerlistview.c
* app/widgets/gimpcontainermenuimpl.c: pass the get_name_func to
the created items.
* app/widgets/gimpchannellistview.c: gtk_widget_queue_resize() the
component frame after changing the image.
* app/widgets/gimpcomponentlistitem.c: set a custom
get_name_func() so the components are named Red, Green, ... again.
* app/widgets/gimpimagedock.c: set a custom get_name_func() which
returns names like in the old L&C dialog's image menu.
* tools/pdbgen/Makefile.am: don't scan apptypes.h for enums.
2001-05-03 Michael Natterer <mitch@gimp.org>
* app/app_procs.c: don't #include "gui/color-select.h"
* app/disp_callbacks.[ch]: renamed gdisplay_drop_viewable() to
gdisplay_drop_pattern().
* app/gimpimage.[ch]: added new signals
"component_visibility_changed" and "component_active_changed" and
emit them in the resp. accessors.
* app/interface.c: removed old GimpPreview test code.
* app/widgets/Makefile.am
* app/apptypes.h
* app/widgets/gimpchannellistview.[ch]
* app/widgets/gimpcomponentlistitem.[ch]: new (unfinished) widgets.
* app/widgets/gimpdockbook.c: switch to the right-clicked notebook
page before showing the menu.
* app/widgets/gimpdrawablelistitem.[ch]: removed the protected
functions which make the toggle buttons look nicer...
* app/widgets/gimplistitem.[ch]: ...and added them here.
* app/widgets/gimpdrawablelistview.[ch]: virtualized set_image()
so subclasses can properly (dis)connect on image change.
* app/widgets/gimpdrawablepreview.c
* app/widgets/gimpimagepreview.[ch]: removed the calc_size()
functions which calculate the preview's aspect ratio...
* app/widgets/gimppreview.[ch]: ...and added then here as
protected functions.
* app/widgets/gimplayerlistitem.c: flush displays after changing
the layer mask's "apply" or "show" state.
2001-05-01 Michael Natterer <mitch@gimp.org>
* app/gimpimage.h: removed prototype of function which doesn't
exist.
* app/widgets/gimppreview.[ch]: new signal "extended_clicked"
which is emitted instead of "clicked" if the user pressed shift,
control or mod1 on button_press.
* app/widgets/gimplayerlistitem.c: use the "extended_clicked"
signal to toggle the layer mask's "show" and "apply" states.
2001-05-01 Michael Natterer <mitch@gimp.org>
* app/gimpdnd.[ch]: Made file/url DND work like the other DND types.
The drop callback gets passed a GList of filenames.
Provide a default callback which calls file_open_with_display()
for each filename.
* app/docindex.c: changed accordingly.
* app/gui/toolbox.c: same file DND changes and made dropping
drawables work again with the new DND system.
* app/widgets/gimpdrawablelistview.c: properly disconnect from the
image in "destroy".
* app/widgets/gimplayerlistitem.c: gtk_signal_connect_while_alive()
to the layer's "mask_changed" signal.
2001-05-01 Michael Natterer <mitch@gimp.org>
* app/app_procs.c: removed more GUI initialisation code.
* app/color_transfer.c: removed useless includes.
* app/gui/brush-editor.[ch]
* app/gui/dialogs-constructors.c:
s/BrushEditGeneratedWindow/BrushEditor/, s/begw/brush_editor/, made
the brush preview of the editor autoresizing.
* app/gui/dialogs.h: removed "extern" declaration of non-existant
variable.
* app/gui/gui.[ch]: new function gui_post_init() which shows the
tips dialog.
* app/gui/tips-dialog.c: made signal handling nicer (clean up in a
"destroy" handler).
* app/gui/toolbox.[ch]: removed toolbox_raise(), removed the help
system (de)initialisation code which is now in gui.c, cleanup.
2001-04-29 Michael Natterer <mitch@gimp.org>
* app/gimplayer.[ch]: added a "linked_changed" signal and emit it
in gimp_layer_set_linked().
* app/gui/layers-dialog.c: use the accessor when setting "linked".
* app/widgets/gimpdrawablelistitem.[ch]: made the hacks which make
the buttons look nice inside list items available to subclasses.
* app/widgets/gimplayerlistitem.[ch]: added a "linked" button.
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-26 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainermenuimpl.c: only work around option
menu reference problems if the removed item was the active one.
* app/widgets/gimpimagedock.c: don't try to avoid a recursive
signal emission in gimp_image_dock_image_changed() but work around
it. This makes the image menu work finally.
* app/gui/dialogs-constructors.c: removed debugging output.
2001-04-24 Michael Natterer <mitch@gimp.org>
* app/authors.h: regenerated.
* app/gui/dialogs-constructors.c: call the drawable views's
set_context() function once explicitly after creation.
* app/gui/dialogs.c
* app/widgets/gimpdialogfactory.[ch]: session management correctly
remembers the dialogs' sizes again.
* app/widgets/gimpcontainermenuimpl.c: set the options menu's
history to "0" after removing a menu item (temp hack because
GtkOptionMenu doesn't handle the removal of the currently active
item correctly).
* app/widgets/gimpimagedock.c: another try to get dock->context's
signals handled correctly. Debugging output will disappear soon.
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-22 Michael Natterer <mitch@gimp.org>
* app/Makefile.am: cleanup.
* app/interface.c: #include "gimpui.h"
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/menus.c
* app/gui/test-commands.[ch]: changes for the image menu below.
* app/apptypes.h
* app/widgets/Makefile.am
* app/widgets/gimpcontainermenu.[ch]
* app/widgets/gimpcontainermenuimpl.[ch]: new widgets. The actual
implemtation lives in a separate file because
gimpcontainermenu.c's code is identical to gimpcontainerview.c's
except for the base class. This will become an interface with Gtk 2.0.
* app/widgets/gimpimagedock.[ch]: a dock with an image menu. The
pages still don't follow the context correctly.
* app/widgets/gimpmenuitem.[ch]: a menu item with a preview.
* app/widgets/gimpdialogfactory.[ch]: pass a dock constructor to
the constructor and provide a method to create a new dock within
this factory's context.
* app/widgets/gimpdock.[ch]: removed the constructor because we
create only image docks now. Put the vbox into a main_vbox (which
also contains the image menu).
* app/widgets/gimpdockbook.[ch]: create new docks with the dialog
factory.
* app/gimpcontainer.[ch]
* app/gimpdata.[ch]
* app/gimpdatafactory.[ch]
* app/gimpdatalist.[ch]
* app/gimplist.[ch]
* app/gimpviewable.[ch]
* app/widgets/gimpbrushpreview.[ch]
* app/widgets/gimpcontainergridview.[ch]
* app/widgets/gimpcontainerlistview.[ch]
* app/widgets/gimpcontainerview.[ch]
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdrawablelistitem.[ch]
* app/widgets/gimpdrawablelistview.[ch]
* app/widgets/gimpdrawablepreview.[ch]
* app/widgets/gimplayerlistitem.[ch]
* app/widgets/gimplayerlistview.[ch]
* app/widgets/gimplistitem.[ch]
* app/widgets/gimppalettepreview.[ch]
* app/widgets/gimppatternpreview.[ch]
* app/widgets/gimppreview.[ch]: ass-sign some copyrights.
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-20 Michael Natterer <mitch@gimp.org>
* app/main.c: set the message handler for all app log domains, not
only for "Gimp".
* app/gui/brush-select.c
* app/gui/gradient-select.c
* app/gui/palette-select.c: removed the "edit" callbacks.
* app/gui/dialogs-constructors.[ch]: Added the callbacks
here. Added layer and channel lists.
* app/gui/dialogs.c: register the new lists.
* app/gui/menus.c: their menu entries.
* app/widgets/gimpdock.c: set a minimal width of 280 pixels.
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-15 Michael Natterer <mitch@gimp.org>
* app/menus.[ch]: changed all menus_get_*() functions to return
the GtkItemFactory, not separate widget, and accel_group
pointers. Disabled automatic tearoff item creation for all
factories axcept the toolbox and image factory.
* app/channels_dialog.c
* app/file-open.c
* app/file-save.c
* app/interface.c
* app/layers_dialog.c
* app/paths_dialog.c
* app/toolbox.c: changed accordingly.
2001-04-15 Michael Natterer <mitch@gimp.org>
* app/Makefile.am: grouped the files together which will go to gui/.
* app/widgets/gimpdialogfactory.[ch]: maintain a list of open
GimpDocks for session management.
* app/widgets/gimpdock.c: register open docks with the dialog
factory.
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdockbook.c: pass a pointer to the GimpDockbook
to the GimpDockable's "get_tab" function because the function is
called before the dockable is added to the dockbook.
* app/test_commands.c
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.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.