1. 08 Sep, 2006 1 commit
    • Sven Neumann's avatar
      added function gimp_get_tool_info(). · 2426755b
      Sven Neumann authored
      2006-09-08  Sven Neumann  <sven@gimp.org>
      
      	* app/core/gimp.[ch]: added function gimp_get_tool_info().
      
      	* app/actions/tools-commands.c
      	* app/actions/vectors-commands.c
      	* app/tools/gimppainttool.c
      	* app/widgets/gimpdrawabletreeview.c
      	* app/widgets/gimpselectioneditor.c
      	* app/widgets/gimptoolbox.c: use the new function instead of poking
      	into gimp->tool_info_list.
      
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/display/gimpdisplayshell.[ch]: moved code that deals with
      	the space key into separate functions. Added space_shaded_tool
      	to GimpDisplayShell instead of using a static variable for it.
      
      	* app/tools/tool_manager.c: removed unused include.
      2426755b
  2. 18 Jun, 2006 1 commit
    • Michael Natterer's avatar
      added virtual functions GimpTool::has_display(), which returns whether any · ff1d2973
      Michael Natterer authored
      2006-06-18  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/gimptool.[ch]: added virtual functions
      	GimpTool::has_display(), which returns whether any tool subclass
      	keeps a pointer to the passed display; and GimpTool::has_image()
      	which returns a display based on a passed image, or NULL if no
      	display matches. Added default implementation of
      	GimpTool::control() which sets tool->display to NULL on HALT.
      
      	* app/tools/gimpclonetool.c
      	* app/tools/gimpdrawtool.c: implement both functions.
      
      	* app/tools/gimpclonetool.c: removed weak pointer hacks that are
      	no longer needed now (and were incomplete anyway).
      
      	* app/tools/tool_manager.c (tool_manager_select_tool)
      	(tool_manager_control_active)
      	(tool_manager_image_clean_dirty): use the new functions instead of
      	peeking around in tool subclasses (and forgetting tools that may
      	have display pointers, like the clone tool)
      
      	* app/display/gimpdisplay.c (gimp_display_delete): removed
      	fiddling with tool internals here too, control(HALT) on the tool
      	is now sufficient to remove any reference to the closed display.
      ff1d2973
  3. 21 May, 2006 2 commits
    • Michael Natterer's avatar
      prefix with GIMP_TOOL_ACTION_ · b3c20ed2
      Michael Natterer authored
      2006-05-21  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/tools-enums.h (enum GimpToolAction): prefix with
      	GIMP_TOOL_ACTION_
      
      	* app/display/gimpdisplay.c
      	* app/display/gimpdisplayshell.c
      	* app/tools/gimpaligntool.c
      	* app/tools/gimpcolorpickertool.c
      	* app/tools/gimpcolortool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpdrawtool.c
      	* app/tools/gimpforegroundselecttool.c
      	* app/tools/gimpfreeselecttool.c
      	* app/tools/gimpimagemaptool.c
      	* app/tools/gimpiscissorstool.c
      	* app/tools/gimpmeasuretool.c
      	* app/tools/gimpmovetool.c
      	* app/tools/gimpnewrectselecttool.c
      	* app/tools/gimppainttool.c
      	* app/tools/gimpselectiontool.c
      	* app/tools/gimptexttool.c
      	* app/tools/gimptool.c
      	* app/tools/gimptransformtool.c
      	* app/tools/gimpvectortool.c
      	* app/tools/tool_manager.c: changed accordingly. Introduce a
      	common style for GimpTool::control()'s switch() block. Some
      	minor cleanups.
      b3c20ed2
    • Michael Natterer's avatar
      don't try to reset the active tool by destroying and re-creating it · 57df85fa
      Michael Natterer authored
      2006-05-21  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/tool_manager.c (tool_manager_image_clean_dirty): don't
      	try to reset the active tool by destroying and re-creating it
      	because this doesn't work while gimp->busy is TRUE. Call
      	tool_manager_control_active(HALT) instead, which is the right way
      	to do it anyway. Fixes bug #330083.
      
      	Sprinkled some local variables all over the place to get rid of a
      	gazillion tool_manager->active_tool.
      57df85fa
  4. 12 Apr, 2006 1 commit
  5. 28 Mar, 2006 2 commits
  6. 25 Mar, 2006 1 commit
    • Michael Natterer's avatar
      app/tools/gimptool.[ch] add "gboolean proximity" parameter to · 2ed407b5
      Michael Natterer authored
      2006-03-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/gimptool.[ch]
      	* app/tools/tool_manager.[ch]: add "gboolean proximity" parameter
      	to GimpTool::oper_update() in order to emphasize its importance
      	and to avoid peeking around in the GimpDisplayShell struct.
      
      	* app/tools/gimpbycolorselecttool.c
      	* app/tools/gimpclonetool.c
      	* app/tools/gimpcolorpickertool.c
      	* app/tools/gimpcolortool.c
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimpforegroundselecttool.c
      	* app/tools/gimpiscissorstool.c
      	* app/tools/gimpmovetool.c
      	* app/tools/gimpnewrectselecttool.c
      	* app/tools/gimppainttool.c
      	* app/tools/gimprectangletool.[ch]
      	* app/tools/gimpselectiontool.c
      	* app/tools/gimptransformtool.c
      	* app/tools/gimpvectortool.c: changed accordingly. Got rid of
      	quite some "display/gimpdisplayshell.h" includes.
      
      	* app/display/gimpdisplayshell-callbacks.c
      	(gimp_display_shell_canvas_tool_events): pass shell->proximity to
      	tool_manager_oper_update_active().
      2ed407b5
  7. 23 Nov, 2005 1 commit
    • Michael Natterer's avatar
      cleaned up and reordered instance struct and functions. Renamed functions · 855c4efe
      Michael Natterer authored
      2005-11-23  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/gimptoolcontrol.[ch]: cleaned up and reordered
      	instance struct and functions. Renamed functions so getters and
      	setters actually have "get" and "set" in their names.
      
      	* app/display/gimpdisplayshell-autoscroll.c
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/tools/gimpaligntool.c
      	* app/tools/gimpconvolvetool.c
      	* app/tools/gimpdodgeburntool.c
      	* app/tools/gimperasertool.c
      	* app/tools/gimpfliptool.c
      	* app/tools/gimpforegroundselecttool.c
      	* app/tools/gimpmagnifytool.c
      	* app/tools/gimpmeasuretool.c
      	* app/tools/gimpmovetool.c
      	* app/tools/gimpvectortool.c
      	* app/tools/tool_manager.c: changed accordingly.
      855c4efe
  8. 27 May, 2005 1 commit
  9. 29 Jul, 2004 1 commit
    • Michael Natterer's avatar
      Replaced the concept of having a boolean indicating if an undo step · 4b582b48
      Michael Natterer authored
      2004-07-29  Michael Natterer  <mitch@gimp.org>
      
      	Replaced the concept of having a boolean indicating if an undo
      	step dirties the image by a bitfield indicating which parts
      	of the image are dirtied:
      
      	* app/core/core-enums.[ch]: reordered two values in enum
      	GimpUndoType, added GIMP_DIRTY_IMAGE_SIZE to enum GimpDirtyMask.
      
      	The values of GimpDirtyMask are still questionable and will
      	probably change...
      
      	* app/core/gimpimage.[ch]: removed signal "undo_start" and added
      	a GimpDirtyMask parameter to the "dirty" and "clean" signals.
      
      	* app/core/gimpimage-undo.[ch] (gimp_image_undo_push): replaced
      	"gboolean dirties_image" by "GimpDirtyMask dirty_mask" and pass
      	it to gimp_image_dirty().
      
      	(gimp_image_undo_group_start): added *ugly* code which tries to
      	figure GimpDirtyMask from the group's GimpUndoType and store it in
      	the GimpUndoGroup. Call gimp_image_dirty() instead of the removed
      	gimp_image_undo_start(). This means the undo group now dirties the
      	image just like one of its undo steps, but that's no problem since
      	undoing cleans it in the same way.
      
      	* app/core/gimpundo.[ch]: s/dirties_image/dirty_mask/g
      
      	(gimp_undo_pop): emit clean/dirty signals *before* performing the
      	actual undo step so listeners can detach from the image before it
      	is changed by undo.
      
      	* app/core/gimpimage-undo-push.c (gimp_image_undo_push_*): pass a
      	GimpDirtyMask instead of TRUE/FALSE to gimp_image_undo_push().
      
      	* app/core/gimpimagemap.[ch]: removed "gboolean interactive"
      	because it makes no sense to use GimpImageMap noninteractively.
      	Don't freeze()/thaw() undo while the image_map is active which
      	fixes many ways of trashing the image's undo state but probably
      	introduces new ways of doing evil things.
      
      	* app/display/gimpdisplay-foreach.c
      	* app/display/gimpdisplayshell-handlers.c: changed according
      	to the GimpImage::clean()/dirty() signal changes. Small fixes
      	in the quit dialog's dirty image container.
      
      	* app/tools/gimptoolcontrol.[ch]: added member and API to
      	set/get the dirty_mask.
      
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpimagemaptool.c
      	* app/tools/gimpiscissorstool.c
      	* app/tools/gimptexttool.c
      	* app/tools/gimptransformtool.c: whenever setting "preserve" to
      	FALSE, also set a "dirty_mask" which specifies on which image
      	changes the tool wants to be canceled.
      
      	* app/tools/tool_manager.c: removed "undo_start" connection and
      	connect to both "dirty" *and* "clean" to check if the active_tool
      	needs to be canceled. Cancel the tool only if the dirty_mask
      	passed in the signal has common bits with the tool's dirty_mask.
      
      	Fixes bug #109561 and probably opens some new ones...
      4b582b48
  10. 28 Jun, 2004 1 commit
    • Sven Neumann's avatar
      select the standard tool. · b9c23cac
      Sven Neumann authored
      2004-06-28  Sven Neumann  <sven@gimp.org>
      
      	* app/gui/gui.c (gui_initialize_after_callback): select the
      	standard tool.
      
      	* app/tools/tool_manager.c: cosmetics.
      b9c23cac
  11. 24 Jun, 2004 1 commit
    • Michael Natterer's avatar
      app/tools/gimptool.[ch] added boolean return value to · 02b91f66
      Michael Natterer authored
      2004-06-24  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/gimptool.[ch]
      	* app/tools/tool_manager.[ch]: added boolean return value to
      	GimpTool::key_press() which indicates if the event was handled.
      
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpeditselectiontool.[ch]
      	* app/tools/gimptransformtool.c
      	* app/tools/gimpvectortool.c: return TRUE if the key event was handled.
      
      	* app/tools/gimppainttool.c: removed key_press() implementation.
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpcontrollerkeyboard.[ch]: new controller class
      	which takes GdkEventKey and emits controller events for all
      	combinations of modifiers and cursor keys.
      
      	* app/widgets/gimpcontrollers.[ch]: added new function
      	gimp_controllers_get_keyboard().
      
      	* app/display/gimpdisplayshell-callbacks.c: if a key event was not
      	handled by the active tool, dispatch it to the keyboard controller.
      
      	* etc/controllerrc: add a keyboard controller which is configured
      	to do the same as the removed gimp_paint_tool_key_press().
      02b91f66
  12. 12 Jun, 2004 2 commits
    • Simon Budig's avatar
      renamed the "arrow_key" member to "key_press", since it is now no longer · 3c1b7fe6
      Simon Budig authored
      2004-06-12  Simon Budig  <simon@gimp.org>
      
      	* app/tools/gimptool.[ch]: renamed the "arrow_key" member
      	to "key_press", since it is now no longer about just the arrow
      	keys.
      
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpeditselectiontool.c
      	* app/tools/gimpeditselectiontool.h
      	* app/tools/gimpmovetool.c
      	* app/tools/gimppainttool.c
      	* app/tools/gimpselectiontool.c
      	* app/tools/gimptexttool.c
      	* app/tools/gimpvectortool.c
      	* app/tools/tool_manager.c: Changed accordingly.
      3c1b7fe6
    • Simon Budig's avatar
      renamed tool_manager_arrow_key_active to tool_manager_key_press_active. · 39614b34
      Simon Budig authored
      2004-06-12  Simon Budig  <simon@gimp.org>
      
      	* app/tools/tool_manager.[ch]: renamed
      	tool_manager_arrow_key_active to tool_manager_key_press_active.
      
      	* app/display/gimpdisplayshell-callbacks.c: Also dispatch
      	GDK_Return/KP_Enter/BackSpace/Delete to the tools "arrow_key"
      	member of GimpTool probably should be renamed.
      
      	* app/tools/gimpvectortool.c: Use Enter/Return to convert the
      	current path to a selection, use Backspace/Delete to delete the
      	currently active anchors in a path.
      
      	Implemented on Jimmacs request - thanks for being a great host  :)
      39614b34
  13. 12 May, 2004 1 commit
    • Michael Natterer's avatar
      app/config/gimpconfig-deserialize.c app/config/gimpscanner.c · de7a9405
      Michael Natterer authored
      2004-05-12  Michael Natterer  <mitch@gimp.org>
      
      	* app/config/gimpconfig-deserialize.c
      	* app/config/gimpscanner.c
      	* app/core/gimp-edit.c
      	* app/core/gimpchannel-combine.c
      	* app/core/gimpcontainer.c
      	* app/core/gimpdrawable-bucket-fill.c
      	* app/core/gimpdrawable-combine.c
      	* app/core/gimpdrawable.c
      	* app/core/gimpgradient.c
      	* app/core/gimpimage-flip.c
      	* app/core/gimpimage-merge.c
      	* app/core/gimpimage-projection.c
      	* app/core/gimpimage.c
      	* app/display/gimpdisplay-handlers.c
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/display/gimpprogress.c
      	* app/gui/info-dialog.c
      	* app/gui/module-browser.c
      	* app/gui/offset-dialog.c
      	* app/plug-in/plug-in.c
      	* app/tools/gimpdrawtool.c
      	* app/tools/tool_manager.c
      	* app/widgets/gimpactiongroup.c
      	* app/widgets/gimpdialogfactory.c
      	* app/widgets/gimpgradienteditor.c
      	* app/widgets/gimpitemfactory.c
      	* app/widgets/gimppropwidgets.c
      	* app/widgets/gimpwidgets-utils.c
      	* app/xcf/xcf-save.c
      	* libgimp/gimpexport.c
      	* libgimpwidgets/gimphelpui.c
      	* libgimpwidgets/gimppixmap.c
      	* libgimpwidgets/gimpunitmenu.c: replaced G_GNUC_FUNCTION,
      	G_GNUC_PRETTY_FUNCTION, G_STRLOC and hardcoded function names in
      	g_warning()s by G_STRFUNC.
      de7a9405
  14. 04 May, 2004 1 commit
    • Michael Natterer's avatar
      Treat FG/BG just like all other context properties: · c7a7196b
      Michael Natterer authored
      2004-05-04  Michael Natterer  <mitch@gimp.org>
      
      	Treat FG/BG just like all other context properties:
      
      	* app/paint/gimppaintoptions.h: added GIMP_CONTEXT_FOREGROUND_MASK
      	and _BACKGROUND_MASK to GIMP_PAINT_OPTIONS_CONTEXT_MASK to specify
      	that they are used by GimpPaintOptions (automatically affects all
      	paint tools).
      
      	* app/tools/gimpblendtool.c
      	* app/tools/gimpbucketfilltool.c
      	* app/tools/gimpinktool.c: set FOREGROUND_MASK and BACKGROUND_MASK
      	manually here.
      
      	* app/tools/tool_manager.c (tool_manager_tool_changed): decide
      	about the globality of FG and BG at the same place where we decide
      	about the brush's, pattern's etc. globality, but hardcode them to
      	global = TRUE instead of looking at GimpConfig.
      
      	Fixes bug #141786.
      c7a7196b
  15. 10 Mar, 2004 1 commit
    • Michael Natterer's avatar
      don't reinitialize the tool when the image becomes dirty but just cancel · 860f3d46
      Michael Natterer authored
      2004-03-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/tool_manager.c (tool_manager_image_dirty): don't
      	reinitialize the tool when the image becomes dirty but just cancel
      	it (fixes bug #131965). Also, only cancel the tool if the tool is
      	operating on one of the dirtied image's displays (fixes bug #12253).
      860f3d46
  16. 04 Mar, 2004 1 commit
    • Michael Natterer's avatar
      app/config/gimpcoreconfig.[ch] added boolean properties "global-brush", · ba265516
      Michael Natterer authored
      2004-03-04  Michael Natterer  <mitch@gimp.org>
      
      	* app/config/gimpcoreconfig.[ch]
      	* app/config/gimprc-blurbs.h: added boolean properties
      	"global-brush", "global-pattern" etc.
      
      	* app/gui/preferences-dialog.c: added GUI for them to the
      	"Tool Options" page.
      
      	* app/tools/tool_manager.c (tool_manager_tool_changed): honor the
      	new prefs options when copying the new tool's properties.
      	Fixed bug #122519.
      ba265516
  17. 21 Jan, 2004 1 commit
    • Michael Natterer's avatar
      added boolean return value to GimpTool::initialize(). Returning FALSE · 613e328f
      Michael Natterer authored
      2004-01-21  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/gimptool.[ch]: added boolean return value to
      	GimpTool::initialize(). Returning FALSE means the tool could not
      	be initialized and doesn't want to receive button events.
      	Return TRUE from the default implementation.
      
      	* app/tools/tool_manager.[ch]: added boolean return value to
      	tool_manager_initialize_active(). Don't set the tool's display or
      	drawable if initialize() returns FALSE.
      
      	* app/display/gimpdisplayshell-callbacks.c: don't send button
      	events to the tool if initialize() returns FALSE.
      
      	* app/tools/gimpbrightnesscontrasttool.c
      	* app/tools/gimpcolorbalancetool.c
      	* app/tools/gimpcolorizetool.c
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimphuesaturationtool.c
      	* app/tools/gimplevelstool.c
      	* app/tools/gimpposterizetool.c
      	* app/tools/gimpthresholdtool.c: return FALSE for NULL and indexed
      	drawables.
      
      	* app/tools/gimpimagemaptool.c: always return TRUE because our
      	subclasses already checked if the active drawable is OK.
      
      	* app/tools/gimptransformtool.c: return FALSE for layers with
      	masks. Fixes bug #132089. Some random cleanups.
      613e328f
  18. 14 Oct, 2003 1 commit
    • Michael Natterer's avatar
      Refactored modifier handling of displays and tools. Hopefully finally · b19deeb3
      Michael Natterer authored
      2003-10-14  Michael Natterer  <mitch@gimp.org>
      
      	Refactored modifier handling of displays and tools. Hopefully
      	finally fixes bug #124135.
      
      	* app/tools/gimptool.[ch] (struct GimpTool): added private members
      	"focus_display" and "modifier_state" so tools are aware of their
      	modifier state.
      
      	* app/tools/gimptool.[ch]
      	* app/tools/tool_manager.[ch]: removed all public modifier_key()
      	API and added set_focus_display() and set_modifier_state()
      	instead.
      
      	* app/tools/tool_manager.c (tool_manager_select_tool)
      	* app/display/gimpdisplay.c (gimp_display_delete): set the
      	active_tool's focus_display to NULL.
      
      	* app/display/gimpdisplayshell.[ch] (struct GimpDisplayShell):
      	added almost the whole stuff that used to be static variables of
      	gimp_display_shell_tool_events(). Cleaned up the struct a bit.
      
      	* app/display/gimpdisplayshell-callbacks.c: removed utility
      	function gimp_display_shell_update_tool_modifiers().
      
      	(gimp_display_shell_tool_events):
      
      	- Replaced all calls to gimp_display_shell_update_tool_modifiers()
      	  and tool_manager_modifier_key_active() by
      	  tool_manager_modifier_state_active().
      
      	- Call tool_manager_focus_display_active() before setting the
      	  tool's modifier_state. Set the tool's focus_display to NULL when
      	  we get a focus_out event.
      
      	- Don't grab/ungrab the keyboard twice when <space>-selecting the
      	  move tool.
      
      	- Removed most static variables and use the new members of
      	  GimpDisplayShell. Don't remember any old modifier states since
      	  GimpTool does that by itself now.
      b19deeb3
  19. 06 Oct, 2003 1 commit
  20. 18 Sep, 2003 1 commit
    • Michael Natterer's avatar
      app/paint/Makefile.am removed... ...and added. · 6b2ca702
      Michael Natterer authored
      2003-09-18  Michael Natterer  <mitch@gimp.org>
      
      	* app/paint/Makefile.am
      	* app/paint/paint.[ch]: removed...
      	* app/paint/gimp-paint.[ch]: ...and added.
      
      	* app/core/gimp.c: changed accordingly.
      
      	* app/tools/Makefile.am
      	* app/tools/tools.[ch]: removed...
      
      	* app/tools/gimp-tools.[ch]: ...and added. Added
      	gimp_tools_restore() and gimp_tools_save() and moved the entire
      	tool registering and tool_options loading/saving code here. Call
      	tool_manager_init() from gimp_tools_init() and tool_manager_exit()
      	from gimp_tools_exit().
      
      	* app/tools/tool_manager.[ch]: removed the code which now lives
      	in gimp-tools.[ch]. The tool manager now has no knowledge about
      	individual tools any more and just handles the active_tool
      	and the tool part of tool <-> display interaction.
      	Removed tool_manager_get_info_by_type().
      
      	* app/tools/gimpvectortool.c (gimp_vector_tool_register): the
      	tool's identifier is "gimp-vector-tool", not "gimp-path-tool".
      
      	* app/app_procs.c
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/gui/vectors-commands.c
      	* app/tools/gimppainttool.c: changed accordingly.
      6b2ca702
  21. 30 Aug, 2003 2 commits
    • Michael Natterer's avatar
      made "tool-info" a G_PARAM_CONSTRUCT_ONLY property. · c049f82e
      Michael Natterer authored
      2003-08-30  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/gimptool.c: made "tool-info" a G_PARAM_CONSTRUCT_ONLY
      	property.
      
      	* app/tools/tool_manager.c (tool_manager_tool_changed): pass it to
      	g_object_new() instead of setting it after tool creation.
      
      	* app/tools/gimppainttool.[ch]
      	* app/tools/gimptransformtool.[ch]: removed ugly
      	"gboolean notify_connected" hacks and connect to the signals in
      	GObject::constructor().
      
      	* app/tools/gimppainttool.c (gimp_paint_tool_contstructor): create
      	paint_tool->core here from tool->tool_info->paint_info->paint_type.
      
      	* app/tools/gimpairbrushtool.c
      	* app/tools/gimpclonetool.c
      	* app/tools/gimpconvolvetool.c
      	* app/tools/gimpdodgeburntool.c
      	* app/tools/gimperasertool.c
      	* app/tools/gimppaintbrushtool.c
      	* app/tools/gimppenciltool.c
      	* app/tools/gimpsmudgetool.c: changed accordingly. Removed lots of
      	useless class_init functions. Converted tabs to spaces. Cleanup.
      c049f82e
    • Michael Natterer's avatar
      Fixed & cleaned up paint function registration to work without GUI. · c42641fe
      Michael Natterer authored
      2003-08-30  Michael Natterer  <mitch@gimp.org>
      
      	Fixed & cleaned up paint function registration to work without
      	GUI. Finishes core/GUI separation for the paint tools:
      
      	* app/core/gimppaintinfo.[ch]: removed "gchar *pdb_string" all over
      	the place since we don't stroke using the PDB any more.
      	(gimp_paint_info_new): create paint_info->paint_options here so
      	the paint system is fully initialized when there is no GUI.
      
      	* app/paint/paint.c: removed pdb_string stuff here, too.
      
      	* app/core/gimptoolinfo.[ch]: create tool_info->tool_options
      	only if tool_info->tool_options_type is not the same type
      	as paint_info->paint_options_type (if we are no paint tool).
      
      	* app/core/gimptooloptions.c: removed G_PARAM_CONSTRUCT_ONLY from
      	the "tool-info" property. Instead, changed
      	gimp_tool_options_set_property to ensure that it is only set once.
      
      	* app/core/gimp.c (gimp_initialize): moved paint_init() after
      	data_factory creation (was in gimp_init()), since GimpPaintInfo
      	now creates the GimpPaintOptions, which are GimpContexts, which
      	need gimp->*_factory to be constructed.
      
      	* app/tools/tool_manager.c: don't create tool_info->tool_options
      	here (it's not the job of the tool_manager to set up the core
      	paint system correctly, it must be already initialized before any
      	tool_manager function is called).
      
      	Made "Stroke Selection" and "Stroke Path" work the same way:
      
      	* app/paint/gimppaintcore-stroke.[ch]: added new function
      	gimp_paint_core_stroke_boundary() which strokes without using
      	the PDB.
      
      	* app/core/gimpimage-mask.c (gimp_image_mask_stroke): use it
      	instead of using the PDB. Enables all available paint options for
      	stroke operations. Fixes bug #119411.
      
      	* app/gui/vectors-commands.c (vectors_stroke_vectors)
      	* app/core/gimpimage-mask.c (gimp_image_mask_stroke): removed all
      	code which tries to figure how to stroke and simply look at the
      	active tool's tool_info->paint_info, since it is always set up
      	correctly now.
      c42641fe
  22. 14 Jul, 2003 3 commits
    • Michael Natterer's avatar
      Argh... · 070fafb5
      Michael Natterer authored
      2003-07-14  Michael Natterer  <mitch@gimp.org>
      
      	Argh...
      
      	* app/paint/Makefile.am
      	* app/paint/gimppencil.[ch]: added it again as GimpPaintbrush
      	subclass and override nothing but the user visible undo name and
      	the paint_options type.
      
      	* app/paint/paint.c
      	* app/tools/tool_manager.c
      	* app/tools/gimppenciltool.c
      	* tools/pdbgen/pdb/paint_tools.pdb: reverted my last changes.
      
      	* app/pdb/paint_tools_cmds.c: regenerated.
      070fafb5
    • Michael Natterer's avatar
      app/paint/Makefile.am removed. · e1e943b9
      Michael Natterer authored
      2003-07-14  Michael Natterer  <mitch@gimp.org>
      
      	* app/paint/Makefile.am
      	* app/paint/gimppencil.[ch]: removed.
      
      	* app/paint/gimppenciloptions.[ch]: new files. Does nothing except
      	setting the default value of "hard" to TRUE.
      
      	* app/paint/paint.c
      	* app/tools/tool_manager.c: changed accordingly.
      
      	* app/tools/gimppenciltool.c
      	* tools/pdbgen/pdb/paint_tools.pdb: use the pintbrush core for
      	pencil drawing.
      
      	* app/pdb/paint_tools_cmds.c: regenerated.
      
      	* app/tools/gimppaintoptions-gui.c: show all paintbrush options
      	except "Hardness" for the pencil tool.
      e1e943b9
    • Michael Natterer's avatar
      check if the active_tool is a GimpDrawTool before casting & accessing its · 5f746724
      Michael Natterer authored
      2003-07-14  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/tool_manager.c: check if the active_tool is a
      	GimpDrawTool before casting & accessing its members.
      5f746724
  23. 10 Jul, 2003 1 commit
    • Michael Natterer's avatar
      removed gimp_display_shell_transform_boundary() again... · 84e73fa4
      Michael Natterer authored
      2003-07-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/display/gimpdisplayshell-transform.[ch]: removed
      	gimp_display_shell_transform_boundary() again...
      
      	* app/tools/gimpdrawtool.[ch]: ...and added as
      	gimp_draw_tool_draw_boundary(). Removed the GimpDrawToolState enum
      	and the "draw_state" member since they were redundant. Cleanup.
      
      	* app/tools/gimpeditselectiontool.c: changed accordingly.
      
      	* app/tools/gimppainttool.[ch]: added a brush preview so we
      	finally see where we will paint. Fixes bug #32498. Cleanup.
      
      	* app/tools/tool_manager.c: also look at draw_tool->gdisp, not
      	only at tool->gdisp when deciding whether the active tool has to
      	be suspended/resumed/halted. Fixes a couple of fnords with the
      	line preview and the new brush preview.
      
      	* app/tools/gimpcolortool.c: minor cleanup.
      84e73fa4
  24. 29 Jun, 2003 1 commit
    • Michael Natterer's avatar
      Getting rid of some legacy filenames: · 8dd2e807
      Michael Natterer authored
      2003-06-29  Michael Natterer  <mitch@gimp.org>
      
      	Getting rid of some legacy filenames:
      
      	* app/core/Makefile.am
      	* app/core/gimptooloptions.[ch]: new files.
      
      	* app/paint/gimppaintoptions.h: changed #include accordingly.
      	#define GIMP_PAINT_OPTIONS_CONTEXT_MASK here.
      
      	* app/tools/paint_options.[ch]
      	* app/tools/tool_options.[ch]: removed these files.
      
      	* app/tools/gimppaintoptions-gui.[ch]
      	* app/tools/gimptooloptions-gui.[ch]: new files.
      
      	* app/tools/gimppainttool.h: removed GIMP_PAINT_TOOL_OPTIONS_MASK
      	define again.
      
      	* app/tools/Makefile.am
      	* app/tools/gimpairbrushtool.c
      	* app/tools/gimpblendoptions.c
      	* app/tools/gimpbucketfilloptions.c
      	* app/tools/gimpclonetool.c
      	* app/tools/gimpcoloroptions.[ch]
      	* app/tools/gimpconvolvetool.c
      	* app/tools/gimpcropoptions.[ch]
      	* app/tools/gimpdodgeburntool.c
      	* app/tools/gimperasertool.c
      	* app/tools/gimpflipoptions.[ch]
      	* app/tools/gimpinkoptions.c
      	* app/tools/gimpmagnifyoptions.[ch]
      	* app/tools/gimpmeasureoptions.[ch]
      	* app/tools/gimpmoveoptions.[ch]
      	* app/tools/gimppaintbrushtool.c
      	* app/tools/gimppenciltool.c
      	* app/tools/gimpselectionoptions.[ch]
      	* app/tools/gimpsmudgetool.c
      	* app/tools/gimptextoptions.[ch]
      	* app/tools/gimptransformoptions.[ch]
      	* app/tools/tool_manager.c
      	* app/gui/tool-options-dialog.c: changed accordingly.
      
      	* app/tools/tools.c: moved the vector tool before iscissors.
      8dd2e807
  25. 28 Jun, 2003 1 commit
    • Michael Natterer's avatar
      removed enum GimpContextPropType and enum GimpContextPropMask. · e14e158e
      Michael Natterer authored
      2003-06-28  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpcontext.h: removed enum GimpContextPropType and
      	enum GimpContextPropMask.
      
      	* app/core/core-enums.[ch]: added them here.
      
      	* app/core/gimptoolinfo.[ch]: replaced "gboolean tool_context"
      	member by "GimpContextPropMask context_props" so each tool can
      	specify exactly which context properties it wants to have
      	persistently remembered.
      
      	* app/tools/tools-types.h: changed typedef GimpToolRegisterCallback
      	accordingly.
      
      	* app/tools/tool_manager.[ch] (tool_manager_register_tool): ditto.
      
      	Removed the "global_tool_context" and initialize all tool info
      	objects from the user_context after creation. Removed the
      	PAINT_OPTIONS_MASK #define and use the new context_props stored in
      	tool_info insted.
      
      	* app/tools/gimppainttool.h: #define the common properties of the
      	paint tools as GIMP_PAINT_TOOL_OPTIONS_MASK (which is OPACITY |
      	PAINT_MODE | BRUSH).
      
      	* app/tools/[all tools].c (gimp_*_tool_register): replaced the
      	"use_context" boolean by the actual mask of context properties the
      	tools need.
      e14e158e
  26. 06 Jun, 2003 1 commit
    • Sven Neumann's avatar
      added "in_toolbox"; defaults to TRUE. · bc93e4a0
      Sven Neumann authored
      2003-06-06  Sven Neumann  <sven@gimp.org>
      
      	* app/core/gimptoolinfo.[ch]: added "in_toolbox"; defaults to TRUE.
      
      	* app/tools/tool_manager.c: set "in_toolbox" to FALSE for tools
      	derived from GimpImageTool.
      
      	* app/widgets/gimptoolbox.c: respect the new flag when constructing
      	the toolbox.
      bc93e4a0
  27. 28 May, 2003 1 commit
    • Michael Natterer's avatar
      app/display/gimpdisplayshell-callbacks.c app/tools/gimpcolorpickertool.c · bbc102f9
      Michael Natterer authored
      2003-05-28  Michael Natterer  <mitch@gimp.org>
      
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/tools/gimpcolorpickertool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimphistogramtool.c
      	* app/tools/gimpimagemaptool.c
      	* app/tools/gimpmeasuretool.c
      	* app/tools/gimptextoptions.c
      	* app/tools/gimptransformtool.c
      	* app/tools/paint_options.c
      	* app/tools/tool_manager.c
      	* app/widgets/gimppaletteeditor.c
      	* app/widgets/gimptoolbox-color-area.c:
      	don't #include "gui/dialogs.h" to get the global factories but use
      	gimp_dialog_factory_from_name() instead.
      bbc102f9
  28. 25 May, 2003 1 commit
    • Michael Natterer's avatar
      Use g_object_[set|get]_qdata(), not just _data() to speed up tool manager · dd9a0a4a
      Michael Natterer authored
      2003-05-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/tool_manager.[ch] (tool_manager_set,get): Use
      	g_object_[set|get]_qdata(), not just _data() to speed up tool
      	manager access.
      
      	Removed tool_manager_active_get_help_data() and
      	tool_manager_help_func().
      
      	* app/tools/gimpcolorpickertool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimphistogramtool.c
      	* app/tools/gimpimagemaptool.c
      	* app/tools/gimplevelstool.c
      	* app/tools/gimpmeasuretool.c
      	* app/tools/gimptransformtool.c: use gimp_standard_help_func and
      	tool->tool_info->help_data instead. Don't #include "tool_manager.h".
      dd9a0a4a
  29. 12 May, 2003 1 commit
  30. 06 May, 2003 1 commit
    • Michael Natterer's avatar
      removed GimpToolState (ACTIVE, INACTIVE). · f3747dba
      Michael Natterer authored
      2003-05-06  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/tools-enums.[ch]: removed GimpToolState (ACTIVE,
      	INACTIVE).
      
      	* app/tools/gimptoolcontrol.[ch]: replaced "GimpToolState state"
      	by "gboolean active".
      
      	* app/tools/gimptool.c (gimp_tool_control)
      	* app/tools/tool_manager.c (tool_manager_control_active): check
      	for gimp_tool_control_is_active() before calling
      	gimp_tool_control_halt().
      f3747dba
  31. 15 Apr, 2003 1 commit
    • Sven Neumann's avatar
      Removed support for pluggable tools: · 0c399e5c
      Sven Neumann authored
      2003-04-15  Sven Neumann  <sven@gimp.org>
      
      	Removed support for pluggable tools:
      
      	* configure.in: bumped version number to 1.3.15.
      
      	* Makefile.am
      	* libgimpproxy
      	* libgimptool
      	* plug-ins/Makefile.am
      	* plug-ins/plugin-helper
      	* plug-ins/tools: removed libgimpproxy, libgimptool and plug-ins
      	that used it.
      
      	* tools/Makefile.am
      	* tools/gimp-mkproxy: removed tool that used to generate
      	libgimpproxy.
      
      	* app/core/core-enums.h
      	* app/core/gimpchannel.h
      	* app/display/display-types.h
      	* app/widgets/widgets-enums.h: removed proxy-skip/resume stuff.
      
      	* app/core/gimpobject.c: use gimp marshallers.
      
      	* app/tools/Makefile.am
      	* app/tools/gimptool.h
      	* app/tools/tools-enums.[ch]: moved these files back from
      	libgimptool.
      
      	* app/tools/gimptool.c
      	* app/tools/gimptoolcontrol.h: merged back functionality from
      	libgimptool.
      
      	* app/Makefile.am
      	* app/display/gimpdisplay.c
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/gui/tools-commands.c
      	* app/tools/gimpairbrushtool.c
      	* app/tools/gimpbucketfilltool.h
      	* app/tools/gimpdrawtool.h
      	* app/tools/gimpimagemaptool.h
      	* app/tools/gimpinktool.h
      	* app/tools/gimptoolmodule.c
      	* app/tools/tool_manager.c
      	* app/tools/tools-types.h
      	* app/tools/tools.c
      	* tools/pdbgen/Makefile.am: changed accordingly.
      0c399e5c
  32. 10 Apr, 2003 1 commit
    • Michael Natterer's avatar
      added gimp_context_type_to_prop_name(). · 25981425
      Michael Natterer authored
      2003-04-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpcontext.[ch]: added gimp_context_type_to_prop_name().
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpviewablebutton.[ch]: new widget implementing
      	the wheel-scrollable preview button.
      
      	* app/tools/gimptextoptions.c
      	* app/tools/paint_options.[ch]: removed the code implementing the
      	same and use GimpViewableButton.
      
      	* app/tools/tool_manager.c: added the font to the context
      	properties which are remembered per tool. Added an evil hack
      	using g_object_set_data() to pass the global_dock_factory to
      	tool option GUI constructors.
      25981425
  33. 25 Mar, 2003 2 commits
    • Michael Natterer's avatar
      added GIMP_CONTEXT_PATTERN_MASK to the context properties which are · 8ed375a4
      Michael Natterer authored
      2003-03-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/tool_manager.c: added GIMP_CONTEXT_PATTERN_MASK to the
      	context properties which are remembered per tool options.
      
      	* app/tools/paint_options.[ch]
      	* app/tools/gimpblendoptions.c: attach the brush and gradient
      	preview to the GtkTable that holds opacity and paint mode.
      
      	* app/tools/gimpbucketfilloptions.c: added a pattern preview
      	and popup.
      8ed375a4
    • Sven Neumann's avatar
      Makefile.am removed this header file. · 28fddfd5
      Sven Neumann authored
      2003-03-25  Sven Neumann  <sven@gimp.org>
      
      	* Makefile.am
      	* gimpintl.h: removed this header file.
      
      	* gimpmiscui.c: include libgimp-intl.h.
      
      	* gimp.c (gimp_main): call setlocale() and bind to the libgimp
      	textdomain so that plug-ins don't need to do that explicitely.
      
      	* libgimp/stdplugins-intl.h: added the functionality that used to
      	live in gimpintl.h and removed the libgimp related stuff. Got rid
      	of the INIT_I18N_UI() macro.
      
      	* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
      	Plug-ins simply call INIT_I18N() once in their run() function.
      
      	* plug-ins/script-fu/script-fu-intl.h: added the functionality
      	that used to live in gimpintl.h and removed the libgimp related
      	stuff.
      
      	* app/Makefile.am
      	* app/gimp-intl.h: new file that defines the gettext macros for
      	the GIMP core.
      
      	* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.
      
      	* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
      28fddfd5