Commit Graph

2303 Commits

Author SHA1 Message Date
Michael Natterer 8985b107c3 configure.in added new directory app/core/ for the core object system.
2001-05-09  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/Makefile.am: added new directory app/core/ for the core
	object system.

	* app/gimage_mask.[ch]
	* app/gimpbrush-header.h
	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpchannel.[ch]
	* app/gimpcontainer.[ch]
	* app/gimpcontext.[ch]
	* app/gimpdata.[ch]
	* app/gimpdatafactory.[ch]
	* app/gimpdatalist.h
	* app/gimpdrawable-desaturate.[ch]
	* app/gimpdrawable-equalize.[ch]
	* app/gimpdrawable-invert.[ch]
	* app/gimpdrawable-offset.[ch]
	* app/gimpdrawable-preview.[ch]
	* app/gimpdrawable.[ch]
	* app/gimpgradient.[ch]
	* app/gimpimage-convert.[ch]
	* app/gimpimage-duplicate.[ch]
	* app/gimpimage-undo.[ch]
	* app/gimpimage.[ch]
	* app/gimplayer.[ch]
	* app/gimplayermask.[ch]
	* app/gimplist.[ch]
	* app/gimpmarshal.[ch]
	* app/gimpobject.[ch]
	* app/gimppalette-import.[ch]
	* app/gimppalette.[ch]
	* app/gimppattern-header.h
	* app/gimppattern.[ch]
	* app/gimpundo.[ch]
	* app/gimpundostack.[ch]
	* app/gimpviewable.[ch]: removed these files...

	* app/core/*: ...and added them here.

	* app/*.c
	* app/gui/*.c
	* app/pdb/*.c
	* app/tools/*.c
	* app/widgets/*.c
	* plug-ins/common/gbr.c
	* plug-ins/common/gih.c
	* plug-ins/common/pat.c
	* po/POTFILES.in
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/*.pdb: changed accordingly.
2001-05-09 02:32:03 +00:00
Michael Natterer 715bf7aa39 removed GimpDropType. added GimpDropType.
2001-05-08  Michael Natterer  <mitch@gimp.org>

	* app/appenums.h: removed GimpDropType.
	* app/widgets/widgets-types.h: added GimpDropType.

	* app/gui/channels-dialog.c
	* app/gui/layers-dialog.c: #include "widgets/widgets-types.h"
2001-05-08 19:46:57 +00:00
Michael Natterer 9ecde4ea49 app/Makefile.am removed.
2001-05-08  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimpdnd.[ch]: removed.

	* app/widgets/Makefile.am
	* app/widgets/gimpdnd.[ch]: and moved here.

	* app/devices.c
	* app/docindex.c
	* app/interface.c
	* app/gui/about-dialog.c
	* app/gui/channels-dialog.c
	* app/gui/color-area.c
	* app/gui/color-select.c
	* app/gui/colormap-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/indicator-area.c
	* app/gui/layers-dialog.c
	* app/gui/palette-editor.c
	* app/gui/palette-select.c
	* app/gui/toolbox.c
	* app/tools/gimpblendtool.c
	* app/tools/tool_manager.c
	* app/tools/tool_options_dialog.c: changed #includes accordingly.
2001-05-08 19:29:15 +00:00
Michael Natterer c8242f637c Pre-commit so Yosh can see what files to copy :) 2001-05-08 19:00:13 +00:00
Michael Natterer a229702dfe added ChannelType. removed ChannelType. regenerated.
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-08 03:48:54 +00:00
Michael Natterer f63cd1d979 new signal "floating_selection_changed", removed ancient declaration of
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-08 01:32:25 +00:00
Michael Natterer 427104d729 enabled setting component activity. Connect an "extended_clicked" callback
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 22:29:48 +00:00
Sven Neumann 1a4e7860b8 removed a few unused variables
--Sven
2001-05-06 22:25:33 +00:00
Sven Neumann 163b18cda3 libgimpwidgets/Makefile.am libgimpwidgets/gimpwidgets.h
2001-05-06  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimpwidgetstypes.h
	* libgimpwidgets/gimpoffsetarea.c
	* libgimpwidgets/gimpoffsetarea.h: new widget GimpOffsetArea cut
	of the resize dialog, allows to interactively specify offsets when
	resizing images or drawables.

	* libgimpwidgets/gimppixmap.c: removed empty destroy method.

	* app/resize.c: use new GimpOffsetArea.
2001-05-06 21:51:20 +00:00
Michael Natterer 10afaf8d1c libgimpwidgets/Makefile.am new widget derived from GtkButton. It adds an
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 20:31:46 +00:00
Michael Natterer 5e2480d798 renamed "restructure" to "alpha_changed" and only emit it in flatten(),
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 18:58:04 +00:00
Michael Natterer 950e35d577 renamed the "resize" signal to "size_changed".
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 17:56:10 +00:00
Michael Natterer 59b06707bd added GimpDropMode... ...removed from here.
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-06 16:14:34 +00:00
Michael Natterer f5f8acf34e removed typedefs from the widgets/ subdir.
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 22:19:17 +00:00
Michael Natterer 07b8ffd4bd don't #include "gui/color-select.h"
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-03 12:26:05 +00:00
Michael Natterer 7b7081b774 removed prototype of function which doesn't exist.
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 16:45:29 +00:00
Michael Natterer a2530f59ee Made file/url DND work like the other DND types. The drop callback gets
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 14:58:13 +00:00
Michael Natterer d010bb5fe4 removed more GUI initialisation code.
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-05-01 13:16:59 +00:00
David Neary 3543e9904d Ensure that option widgets are set to defaults on first call to the
* app/tools/tool_options.c: Ensure that option widgets are set to
defaults on first call to the _init() function.
2001-04-30 12:54:33 +00:00
Michael Natterer 28a3536686 added a "linked_changed" signal and emit it in gimp_layer_set_linked().
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 16:26:44 +00:00
Michael Natterer 29fc0026ce added virtual method context_item() which works like select_item() and
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-29 15:23:01 +00:00
David Neary 8676c6acd5 Separated the transform options stuff from the gimptransformtool files so
* app/tools/transform_options.[ch]: Separated the transform
    options stuff from the gimptransformtool files so that each
    of the transform tools to make is available to the other transform
    tools.

  * app/tools/gimptransformtool.c
  * app/tools/gimpscaletool.c
  * app/tools/gimpsheartool.c
  * app/tools/gimprotatetool.c
  * app/tools/gimpperspectivetool.c
  * app/tools/Makefile.am: Changed accordingly
2001-04-28 20:14:32 +00:00
Michael Natterer 06f63a44d5 added RunModeType. removed RunModeType. don't scan app/plug_in.h for
2001-04-28  Michael Natterer  <mitch@gimp.org>

	* app/appenums.h: added RunModeType.
	* app/plug_in.h: removed RunModeType.
	* tools/pdbgen/Makefile.am: don't scan app/plug_in.h for enums.
	* tools/pdbgen/enums.pl: regenerated.

	* app/file-open.[ch]
	* app/file-save.[ch]
	* app/file-utils.[ch]: removed all GUI specific code.

	* app/gui/Makefile.am
	* app/gui/file-dialog-utils.[ch]
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]: new files.
	Renamed file_open() to 	file_open_with_display().

	* app/app_procs.c
	* app/docindex.c
	* app/gimpdnd.c
	* app/gui/commands.c
	* app/gui/gui.c
	* app/gui/menus.c: changed accordingly.
2001-04-28 15:11:29 +00:00
Michael Natterer 3aec225624 removed stuff which now lives in gui/gui.c, removed global variable
2001-04-27  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.[ch]: removed stuff which now lives in gui/gui.c,
	removed global variable "we_are_exiting", made app_init() static.

	* app/appenv.h: removed "we_are_exiting".

	* app/colormaps.c: don't #include "app_procs.h"

	* app/file-open.[ch]
	* app/file-save.[ch]: removed the *_pre_init() functions and
	renamed the *_post_init() functions to *_menu_init().

	* app/gui/gui.c: added more GUI init and shutdown code from
	app_procs.c
2001-04-27 15:31:50 +00:00
Michael Natterer bcfeb4ac7b only work around option menu reference problems if the removed item was
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-26 00:19:31 +00:00
Michael Natterer 949af6c695 : free all the pipe's brushes here.
2001-04-25  Michael Natterer  <mitch@gimp.org>

	* app/gimpobject.c: : free all the pipe's brushes here.

	* app/gimpparasite.c: gimp_personal_rc_file()'s return value has
	to be g_free()'d.

	* app/main.c: indentation.

	Ported memleak fixes from 1.2:

	* app/gimpbrush.c: don't leak all pixmaps.

	* app/gimpbrushpipe.c: ported memleak fixes from 1.2
2001-04-24 23:06:51 +00:00
David Neary 24c39e398a Enabled the rest of the transform tools and changed some of the options
Enabled the rest of the transform tools and changed some of
the options stuff in transform_options_new(). There are one or two
outstanding (non-critical) runtime problems in that function.
2001-04-24 18:43:31 +00:00
Michael Natterer 6c0ad19af9 regenerated.
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-24 18:17:17 +00:00
Michael Natterer 714f4b14ea some minor fixes / cleanup.
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-23 16:58:18 +00:00
Michael Natterer 90e8b4d790 cleanup.
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-22 00:38:56 +00:00
Michael Natterer 44d41e8e9b app/Makefile.am app/lc_dialogP.h removed stuff that will go away anyway
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-21 02:11:12 +00:00
Michael Natterer 3d9da82fee new functions gimp_window_add_accel_group() and
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 18:01:29 +00:00
Michael Natterer c1e2f4e21c app/Makefile.am removed.
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 16:27:44 +00:00
Michael Natterer 4aab2ac339 set the message handler for all app log domains, not only for "Gimp".
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-20 02:30:43 +00:00
Michael Natterer 2301e7e1d9 app/tools/Makefile.am app/tools/gimpclonetool.[ch]
2001-04-19  Michael Natterer  <mitch@gimp.org>

	* app/tools/Makefile.am
	* app/tools/gimpclonetool.[ch]
	* app/tools/gimpconvolvetool.[ch]
	* app/tools/gimppainttool.c
	* app/tools/gimptool.h
	* app/tools/paint_options.c
	* app/tools/tool_manager.c
	* app/tools/tools.c: Applied a patch from Dave Neary
	<dneary@eircom.net> which brings clone and convolve back.

	That's all paint tools, Dudes!
2001-04-19 13:01:44 +00:00
Michael Natterer 26dee23042 app/Makefile.am app/brush_header.h app/pattern_header.h
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-19 00:23:43 +00:00
Michael Natterer 8de3fb6452 renamed ChannelOffsetType to GimpOffsetType.
2001-04-18  Michael Natterer  <mitch@gimp.org>

	* app/gimpdrawable-offset.[ch]: renamed ChannelOffsetType to
	GimpOffsetType.

	* app/pdb/channel_ops_cmds.c
	* libgimp/gimpchannelops_pdb.[ch]
	* tools/pdbgen/pdb/channel_ops.pdb: removed.

	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/image.pdb: put the "offset" and "duplicate"
	functions where they belong.

	* app/gui/offset-dialog.c
	* app/pdb/Makefile.am
	* app/pdb/drawable_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/Makefile.am
	* libgimp/gimp_pdb.h
	* libgimp/gimpdrawable_pdb.[ch]
	* libgimp/gimpenums.h
	* libgimp/gimpimage.h
	* libgimp/gimpimage_pdb.[ch]
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enumcode.pl
	* tools/pdbgen/enums.pl
	* tools/pdbgen/groups.pl
	* plug-ins/common/guillotine.c
	* plug-ins/print/print.c
	* plug-ins/script-fu/script-fu-constants.c: changed accordingly.
2001-04-18 20:41:15 +00:00
Michael Natterer 63d3ff388e app/Makefile.am removed
2001-04-18  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/channel_ops.[ch]: removed

	* app/gimpdrawable-offset.[ch]
	* app/gimpimage-duplicate.[ch]: new files without GUI.

	* app/gui/Makefile.am
	* app/gui/offset-dialog.[ch]: new files.

	* app/gui/commands.c
	* app/pdb/channel_ops_cmds.c
	* po/POTFILES.in
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb/channel_ops.pdb: changed accordingly.
2001-04-18 19:14:20 +00:00
Michael Natterer addaad45ea app/Makefile.am removed. new files: the convert functionality without GUI
2001-04-18  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/convert.[ch]: removed.
	* app/gimpimage-convert.[ch]: new files: the convert functionality
	without GUI (now called gimp_image_convert()).

	* app/gui/Makefile.am
	* app/gui/convert-dialog.[ch]: new files.

	* app/gui/commands.c
	* app/pdb/convert_cmds.c
	* po/POTFILES.in
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enums.pl: changed accordingly.
2001-04-18 17:57:10 +00:00
Michael Natterer 9147176686 app/devices.[ch] app/gui/about-dialog.[ch] app/gui/preferences-dialog.[ch]
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-18 16:39:34 +00:00
Michael Natterer d25f8933bb commented the sections of the file list. cleanup.
2001-04-18  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am: commented the sections of the file list.
	* app/gui/Makefile.am: cleanup.

	* app/unittest/*: removed.
2001-04-18 00:05:26 +00:00
Michael Natterer ddc9145256 app/Makefile.am app/gui/Makefile.am app/about_dialog.[ch]
2001-04-17  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gui/Makefile.am
	* app/about_dialog.[ch]
	* app/brush_edit.[ch]
	* app/brush_select.[ch]
	* app/channels_dialog.[ch]
	* app/color_area.[ch]
	* app/color_notebook.[ch]
	* app/color_select.[ch]
	* app/colormap_dialog.[ch]
	* app/commands.[ch]
	* app/file_new_dialog.[ch]
	* app/gradient_editor.[ch]
	* app/gradient_select.[ch]
	* app/indicator_area.[ch]
	* app/info_dialog.[ch]
	* app/info_window.[ch]
	* app/layer_select.[ch]
	* app/layers_dialog.[ch]
	* app/menus.[ch]
	* app/palette.[ch]
	* app/palette_import.[ch]
	* app/palette_select.[ch]
	* app/paths_dialog.[ch]
	* app/pattern_select.[ch]
	* app/preferences_dialog.[ch]
	* app/session.[ch]
	* app/test_commands.[ch]
	* app/tips_dialog.[ch]
	* app/toolbox.[ch]: moved to gui/ (s/_/-/ and some more useful
	filenames on the way).

	* app/app_procs.c
	* app/context_manager.c
	* app/convert.c
	* app/disp_callbacks.c
	* app/errorconsole.c
	* app/file-open.c
	* app/file-save.c
	* app/file-utils.c
	* app/gdisplay.c
	* app/gimage.c
	* app/gimprc.c
	* app/image_new.c
	* app/interface.c
	* app/nav_window.c
	* app/path.c
	* app/plug_in.c
	* app/gui/dialogs-constructors.c
	* app/pdb/brush_select_cmds.c
	* app/pdb/convert_cmds.c
	* app/pdb/gradient_select_cmds.c
	* app/pdb/pattern_select_cmds.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimpcolorpanel.c
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* po/POTFILES.in: changed accordingly.
2001-04-17 21:43:29 +00:00
Michael Natterer f283b957b1 app/session.[ch] removed the old dialog session management code...
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-17 16:00:27 +00:00
Michael Natterer 059e7773ee First attempt to get the docks session managed:
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-16 18:49:29 +00:00
Michael Natterer f0d16f693d new files:
2001-04-15  Michael Natterer  <mitch@gimp.org>

	* app/gui/Makefile.am: new files:

	* app/gui/gui.[ch]: the new place for the UI init and shutdown code.
	* app/gui/splash.[ch]: a separate file for the splash.

	* app/app_procs.c: removed lots of stuff. Still much UI code left.
2001-04-15 20:12:16 +00:00
Michael Natterer a6d87e4b98 changed all menus_get_*() functions to return the GtkItemFactory, not
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 18:01:57 +00:00
Michael Natterer 1ac9c56aa3 app/Makefile.am removed
2001-04-15  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/paletteP.h: removed

	* app/palette.[ch]
	* app/palette_select.c: changed accordingly.

	* app/Makefile.am
	* app/gui/Makefile.am: some more preparation for file moving.
2001-04-15 17:03:52 +00:00
Michael Natterer aa77e7140d grouped the files together which will go to gui/.
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-15 16:16:13 +00:00
Michael Natterer 3fafbbe1f2 added some more dialog types.
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 16:37:28 +00:00
Michael Natterer 517de92aa7 configure.in app/Makefile.am new directory which will contain all gui code
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-14 15:21:45 +00:00