efbbe39734
app: rmove gimp_free_select_tool_update_button_state()
...
and priv->button1_down. Use gimp_tool_control_is_active() instead
because it now has exactly that meaning.
2011-04-02 08:24:24 +02:00
7a6bf9b5fe
app: generically call gimp_tool_control(HALT) in GObject::dispose()
...
so all the previously added shutdown fragments are executed when the
tool destroyed.
2011-04-01 22:56:33 +02:00
880572860a
app: move shutdown code from gimp_image_map_tool_response() to control(HALT)
2011-04-01 22:56:33 +02:00
d90de689fb
app: GimpCageTool: in CAGE_CHANGE mode, switch to DEFORM when enter is pressed
2011-04-01 22:56:33 +02:00
a7f32f2290
app: move shutdown code from gimp_cage_tool_halt() to control(HALT)
2011-04-01 22:56:33 +02:00
813392cafd
app: move shutdown code from gimp_free_select_tool_halt() to control(HALT)
2011-04-01 22:56:33 +02:00
8ca28f19a3
app: move shutdown code from gimp_measure_tool_halt() to control(HALT)
2011-04-01 22:56:33 +02:00
931d2110c6
app: move shutdown code from gimp_align_tool_halt() to control(HALT)
...
and also remove GObject::dispose() because that's going to be
handled generically soon.
2011-04-01 22:56:33 +02:00
eb9fefe505
app; move GimpTransformTool's shutdown code to control(HALT)
...
and remove gimp_transform_tool_halt(), including all the duplicated
parent class shutdown code.
2011-04-01 22:56:33 +02:00
c48c77b2e0
app: NULLify GimpRectangleOptions widget pointers upon destruction
...
so the NULL checks in GimpRectangleTool work no matter what the
shutdown order is.
2011-04-01 22:56:33 +02:00
0c7cd5b8a1
app: GimpPaintTool: don't call paint_core_paint(FINISH) in control(HALT)
...
because that simply can't happen (we call paint(FINISH) in
button_release() already and press and release are always paired. Only
call paint_core_cleanup() in control(HALT).
2011-04-01 22:56:32 +02:00
e1bc19faf6
app: make state checks on tool much more strict
...
so wrong calls will run into precondition checks and warnings. This is
optional, but currently enabled, to reduce the risk of introducing
permanent new warnings for 2.8. See STRICT_TOOL_CHECKS in gimptool.h.
2011-04-01 22:56:32 +02:00
6a046d09e4
app: GimpBrushTool: don't split brush setting in two callbacks
...
The need to both connect() and connect_after() to "set-brush" is gone
because XOR drawing is gone.
2011-03-30 23:38:14 +02:00
0db785c36a
app: don't call control_activate()/control_halt() in GimpRectangleTool
...
Instead, call it in all implementors.
2011-03-30 22:13:31 +02:00
884e4868a4
app: fix calls to control_activate() and control_halt() in GimpIScissorsTool
2011-03-30 21:48:37 +02:00
55f80cd758
app: fix GimpForegroundSelectTool pen cursor drawing
...
It seems some of the junk removed in the last commit did have a
purpose :) Also use a tool progress because it's the result of a
canvas interaction.
2011-03-30 21:24:04 +02:00
cc63337be5
app: simplify gimp_foreground_select_tool_oper_update() a lot
...
by removing tons of cruft. Fixes both status messages and tool drawing
with multiple displays.
2011-03-30 20:39:00 +02:00
074e2c088a
app: GimpRectangleTool: Rounding error when moving/resizing with keyboard
...
Fix for bug #653186 : When a rectangle selection is created or moved by
mouse at certain zoom-levels (200%, 400%, 800%), its coordinates can
become exactly .500. By then using the keyboard to move/resize in
steps of one pixel, a rounding error occurs in
gimp_rectangle_tool_update_int_rect(). This leads to the coordinate
either not beeing changed at all or changed by 2 pixels at a time. The
patch changes the function from using RINT() to ROUND() for the
calculations, which prevents the rounding error from happening.
2011-03-30 19:45:46 +02:00
2e406872c4
app: GimpBrushTool: don't set a BAD cursor permanently
...
by chaining up after setting it. Instead, don't set it and call
gimp_tool_set_cursor() directly when there is no brush or no dynamics.
2011-03-30 19:18:29 +02:00
96c8c35575
app: GimpFreeSelectTool: remove if (tool->display != display) checks
...
This can't happen in motion() and release() because they won't be
called if we didn't activate the tool.
2011-03-30 19:01:11 +02:00
9755d7d06c
app: GimpForegroundSelectTool: call control_activate() unconditionally
2011-03-30 15:05:33 +02:00
3d2fb51a63
app: GimpEditSelectionTool: call control_halt() in button_release()
...
Just for consistency, the tool is destroyed at the end of
button_release() anyway.
2011-03-30 12:08:38 +02:00
6899b0bf60
app: GimpCageTool: go to deform mode only if the user clicked the first handle
...
and not if it was only moved.
2011-03-30 11:51:51 +02:00
f585788e46
app: tool control cleanup in GimpCageTool
...
Don't call tool_control functions twice in init(). Call activate() and
halt() only on button_press() and button_release() to indicate that
the tool wants motion events.
2011-03-30 11:48:05 +02:00
28c48b1857
app: GimpBrightnessContrastTool: don't call gimp_tool_control_pause()/resume()
...
It must not be called directly, and is entirely useless here anyway.
2011-03-30 11:44:12 +02:00
7c60bb5181
app: use more of the new GDK_KEY_foo key names
...
and move the compat defines from display-enums.h to widgets-enums.h
2011-03-29 17:24:08 +02:00
2468f9fd55
app: cancel the align tool on Escape, and some more cleanup
2011-03-29 15:16:17 +02:00
bb5dea615b
app: some more cleanup and namespacing in GimpAlignTool
2011-03-29 14:32:00 +02:00
0c8ff468f6
app: remove empty GimpTool::initialize() impl from GimpAlignTool
2011-03-29 14:00:10 +02:00
f7bb4afbd8
app: add gimp_image_pick_layer_by_bounds() and use it in GimpAlignTool
...
Also do some refactoring in the align tool, like adding
gimp_align_tool_halt() and using it to shut down the tool.
2011-03-29 13:58:23 +02:00
08e409d6e3
app: move the GimpAlignTool options GUI to GimpAlignOptions
...
which fixes a major uglyness, it should have always been there.
Also fixes warnins on quit if the align tool is active.
2011-03-29 13:26:18 +02:00
f32e285ea3
app: more cleanup in GimpMeasureTool
...
- highlight the active point while dragging
- make sure the tool is only active while dragging
- misc formatting cleanup
2011-03-29 09:16:22 +02:00
f59eeb95e7
app: remove GimpMeasureTool:active_handle and use the existing :point
...
Also don't re-find the active point in button_press().
2011-03-29 08:52:09 +02:00
2b9b737686
app: add gimp_measure_tool_oper_update() which should have always been there
...
and add the stuff that should not be done in cursor_update(). Also add
highlighting of the currently hovered handle.
2011-03-28 20:44:30 +02:00
44a6e4f07a
app: use gimp_canvas_item_hit() in GimpMeasureTool
2011-03-28 20:13:18 +02:00
365902b582
app: use gimp_canvas_item_hit() in gimp_transform_tool_oper_update()
...
so all the extents calculation and parameter passing is not
duplicated for the first time \o/
2011-03-28 18:55:08 +02:00
d96091d514
app: port GimpMagnifyTool away from draw_tool_pause()/resume()
2011-03-28 12:22:29 +02:00
accc12a3ca
app: change GimpCanvasItem setters to take GimpCanvasItem*
...
not GimpCanvasLine* etc. We keep them around as items, and their
constructors return items, and it's getting more code anyway when
porting away from pause/resume, so let's keep the casting minimal at
least.
2011-03-28 12:20:36 +02:00
aa5d2f8082
app: port GimpBlendTool to pause()/resume()-less drawing
...
Instead, keep around the created GimpCanvasItems, and update them when
the blend coordiates change. Add setters to GipmCanvasLine and
GimpCanvasHandle which take care of calling begin_change() and
end_change() on the items around the change, so thes invalidate
properly.
2011-03-28 11:08:40 +02:00
1c0fe73da4
app: gimp_transform_tool_draw(): initialize the array of handles to NULL
...
And update/improve some comments in the entire file.
2011-03-28 10:16:00 +02:00
20bed2c609
app: add gimp_draw_tool_add_transform_preview() and use it
2011-03-28 02:18:00 +02:00
fd80b90cf0
app: more minor GimpTransformTool cleanup
2011-03-28 02:10:33 +02:00
9f6b60c29d
app: draw the perspective clone handles only when they can be used
2011-03-28 01:27:02 +02:00
4097825f3c
app: some more code removal and cleanup in the transform classes
2011-03-28 01:20:47 +02:00
dde7d6c0ee
app: remove lots of junk from GimpPerspectiveCloneTool
...
This is an evil transform tool copy, so do the same changes here.
2011-03-28 01:20:47 +02:00
babc2186c5
app: move the enum of indexes into the trans_info array to the .c files
...
and turn #defines from 0 to N into enums.
2011-03-28 00:50:46 +02:00
06e0183f96
app: right-align the perspective matrix labels with the right API
...
Use gtk_misc_set_alignment() instead of gtk_label_set_justify().
2011-03-28 00:39:39 +02:00
d36887644d
app: highlight the active transform tool handle
2011-03-28 00:13:14 +02:00
32f240fa4a
app: prepare GimpTransformTool for highlighting the handles
2011-03-27 23:57:12 +02:00
18929f0865
app: lay out the GimpTransformOptions GUI more uniformly
2011-03-27 23:18:28 +02:00