Commit Graph

23 Commits

Author SHA1 Message Date
Ell 285ef0b7fc Issue #4285 - [Free Select Tool] functionality bug with Ctrl/Shift combination
While GimpPolygonSelectTool is active, don't let GimpSelectionTool
handle the Shift/Ctrl modifiers, which are handled by the tool
widget, unless they're used in combination with Alt, in which case
they're used to move the selection, instead of control the
selection mode.
2020-02-03 12:40:54 +02:00
Ell 59ec1d0074 app: reorganize GimpPolygonSelectTool functions
... to match the GimpTool virtual-function order.
2020-02-03 12:40:54 +02:00
Jehan c9a91b32bc Issue #3514: Free Select tool: Alt-Ctrl|Shift not working unless...
... selection is committed;
Fast copy|cut-paste modifiers in selection tools were not working with
the Free Select tool, even when the polygon was closed. The reason was
that GimpPolygonSelectTool was not properly chaining up with the parent
implementation for oper_update(), and then upon a button press, we need
to check to call gimp_selection_tool_start_edit() to see if the action
should not be handled by GimpSelectionTool.
Of course, since we don't necessarily want all child class of
GimpPolygonSelectTool to support these modifiers (typically we may not
want these in the Foreground select tool), I set allow_move to FALSE,
then set it to TRUE only in the GimpFreeSelectTool subclass.
2019-06-16 20:10:06 +02:00
Ell afab7deaa3 app: factor-out common free/fg-select logic into GimpPolygonSelectTool
We currently derive GimpForegroundSelectTool from
GimpFreeSelectTool, which prevents us from making changes that are
limited to the free-select tool.

Factor out the common free-select and foreground-select logic into
a new GimpPolygonSelectTool base-class, and derive both from this
class.
2019-04-25 06:07:57 -04:00
Martin Nordholts d228bf7398 Kill the Polygon Select Tool. The Free Select Tool now provides a superset
2008-05-24  Martin Nordholts  <martinn@svn.gnome.org>

	Kill the Polygon Select Tool. The Free Select Tool now provides a
	superset of the old Polygon Select Tool functionality. We still
	keep the tool icons etc around though, they might come in useful
	in the future.

	* app/tools/gimppolygonselecttool.[ch]: Removed.

	* app/tools/Makefile.am: Removed gimppolygonselecttool.[ch].

	* app/tools/gimp-tools.c (gimp_tools_init): Don't register the
	Polygon Select Tool.

	* app/widgets/gimphelp-ids.h: Remove
	GIMP_HELP_TOOL_POLYGON_SELECT.

svn path=/trunk/; revision=25783
2008-05-24 07:21:55 +00:00
Sven Neumann 5aa59b3ba0 app/core/gimpchannel-select.c app/core/gimpdrawable-bucket-fill.c
2008-05-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimpchannel-select.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-crop.c
	* app/dialogs/image-scale-dialog.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimppolygonselecttool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* libgimpwidgets/gimpcolorprofilestore.c
	* plug-ins/gfig/gfig-dialog.c: use C_() instead of Q_() for
	translations with context.

svn path=/trunk/; revision=25777
2008-05-23 14:09:55 +00:00
Sven Neumann df22da37fd formatting.
2008-04-14  Sven Neumann  <sven@gimp.org>

	* app/tools/gimppolygonselecttool.c: formatting.

svn path=/trunk/; revision=25486
2008-04-14 12:56:25 +00:00
Michael Natterer 3a2cbab0db simplify and fix logic to do the "right" thing. Hard to describe, try
2008-04-14  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_button_release): simplify and fix logic
	to do the "right" thing. Hard to describe, try youself ;)


svn path=/trunk/; revision=25485
2008-04-14 12:50:21 +00:00
Martin Nordholts e9bfe0613c Don't draw the handle for a vertex while it is being moved.
2008-03-08  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c: Don't draw the handle for a
	vertex while it is being moved.

svn path=/trunk/; revision=25063
2008-03-08 13:54:09 +00:00
Martin Nordholts 424eee436d Only draw the grabbed point, not all points. Drawing all points adds
2008-03-01  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_draw): Only draw the grabbed point, not
	all points. Drawing all points adds unnecessary clutter to the
	user interface.
	(gimp_polygon_select_tool_select_closest_point): Handle drawing of
	grabbed points.

svn path=/trunk/; revision=25004
2008-03-01 12:51:23 +00:00
Michael Natterer 96645da002 cursors/Makefile.am cursors/gimp-tool-cursors.xcf
2008-02-28  Michael Natterer  <mitch@gimp.org>

	* cursors/Makefile.am
	* cursors/gimp-tool-cursors.xcf
	* cursors/tool-polygon-select.png
	* cursors/xbm/tool-polygon-select.xbm
	* cursors/xbm/tool-polygon-select-mask.xbm
	* app/widgets/widgets-enums.h
	* app/widgets/gimpcursor.c: new cursor for polygon select.

	* app/tools/gimppolygonselecttool.c: use it.


svn path=/trunk/; revision=24994
2008-02-28 12:16:42 +00:00
Michael Natterer 1b11a9e838 draw handles at the corners and use the MOVE cursor modifier when we are
2008-02-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppolygonselecttool.c: draw handles at the corners
	and use the MOVE cursor modifier when we are moving them. Fix draw
	tool pause/resume in button_press() plus some minor cleanup.


svn path=/trunk/; revision=24985
2008-02-26 20:14:10 +00:00
Michael Natterer a384cca5f3 app/display/gimpdisplayshell-transform.[ch]
2008-02-26  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-transform.[ch]
	(gimp_display_shell_transform_points)
	* app/tools/gimpdrawtool.[ch] (gimp_draw_tool_draw_lines): take
	arrays of GimpVector2 instead of arrays of gdouble to represent
	the input points.

	* app/display/gimpdisplayshell-draw.c
	* app/tools/gimppolygonselecttool.c
	* app/tools/gimpfreeselecttool.c: don't cast the GimpVector2 arrays
	to double arrays when passing them to above functions.

	* app/tools/gimpiscissorstool.c: create a temporary GimpVector2
	array instead of a temporary gdouble array.


svn path=/trunk/; revision=24979
2008-02-26 17:30:33 +00:00
Michael Natterer a6962b5355 rename member num_points to n_points and various small cleanups all over
2008-02-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppolygonselecttool.c: rename member num_points to
	n_points and various small cleanups all over the place.


svn path=/trunk/; revision=24978
2008-02-26 16:41:24 +00:00
Michael Natterer 23456dc253 app/display/gimpdisplayshell-callbacks.c
2008-02-16  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimppolygonselecttool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimppaletteview.c
	* libgimpwidgets/gimpcolorhexentry.c
	* libgimpwidgets/gimpnumberpairentry.c
	* plug-ins/script-fu/script-fu-console.c: Unify the handling of
	various "Enter" and "Space" keysyms all over the place. Fixes bug
	#516544 (also see gtk bug #515047).


svn path=/trunk/; revision=24894
2008-02-16 17:51:02 +00:00
Martin Nordholts 63af95805a Only create a selection from the polygon if there are 3 or more vertices.
2008-02-02  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_commit): Only create a selection from
	the polygon if there are 3 or more vertices.

svn path=/trunk/; revision=24776
2008-02-02 10:00:56 +00:00
Martin Nordholts 5700c67b01 Don't hide the pending point line if we are grabbing the first point.
2008-02-02  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_oper_update): Don't hide the pending
	point line if we are grabbing the first point.
	(gimp_polygon_select_tool_motion): Also update the pending point
	if we are moving the first point.

svn path=/trunk/; revision=24775
2008-02-02 09:45:49 +00:00
Martin Nordholts 8fd278b69e Properly halt the tool when there are no vertices left.
2008-02-02  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_remove_last): Properly halt the tool
	when there are no vertices left.

svn path=/trunk/; revision=24774
2008-02-02 09:15:04 +00:00
Martin Nordholts 77cd46d179 Add a call to gimp_image_flush() so that the undo state gets updated.
2008-02-02  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_commit): Add a call to
	gimp_image_flush() so that the undo state gets updated.

svn path=/trunk/; revision=24773
2008-02-02 08:47:49 +00:00
Martin Nordholts fb7d6c5f98 Code formating overhaul.
2008-01-31  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.[ch]: Code formating overhaul.

svn path=/trunk/; revision=24757
2008-01-31 07:02:44 +00:00
Martin Nordholts 07436a80e9 Made object instance struct definition completely a private implementation
2008-01-31  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.[ch]: Made object instance
	struct definition completely a private implementation detail.

svn path=/trunk/; revision=24756
2008-01-31 06:47:02 +00:00
Martin Nordholts 5370a97b81 Correct undo description.
2008-01-31  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_real_select): Correct undo description.

svn path=/trunk/; revision=24755
2008-01-31 06:33:15 +00:00
Martin Nordholts 919a298092 Added a Polygon Select Tool which is a primitive selection tool based on
2008-01-30  Martin Nordholts  <martinn@svn.gnome.org>

	Added a Polygon Select Tool which is a primitive selection tool
	based on Free Hand Select. Code filtered through David Gowers who
	also made the tool icon. This version of the tool is a for-now
	solution to bug #119646.

	* app/tools/gimppolygonselecttool.[ch]: The new tool.

	* app/tools/gimp-tools.c: Add the tool.

	* app/tools/Makefile.am: Add tool source.

	* app/widgets/gimphelp-ids.h: Add help id for the tool.

	* libgimpwidgets/gimpstock.[ch]: Setup for the new tool icon.

	* menus/image-menu.xml.in: Add action entry for the tool.

	* themes/Default/images/tools/stock-tool-polygon-select-{16,24}.png:
	Tool icon graphics.

	* themes/Default/images/Makefile.am: Add tool icon graphics.

svn path=/trunk/; revision=24753
2008-01-30 20:33:58 +00:00