2007-08-08 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleoptions.[ch]: Use separate
desired-fixed-size-width/height properties for Fixed: Size instead
of sharing properties with Fixed: Width/Height.
* app/tools/gimprectangletool.c: Use the two new properties for
Fixed: Size.
svn path=/trunk/; revision=23140
2007-08-04 Martin Nordholts <martinn@svn.gnome.org>
Update rectangle tool options to bring it closer to the spec. The
major change is the use of a 'Fixed:' check box and a 'Aspect
ratio/Width/Height/Size' combo box. The check box is togglable
with Shift while rubber-banding.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_active_modifier_key): Set other side also
when Shift is released.
(gimp_rectangle_tool_update_options): Don't supress updates of
tool options on fixed width/height/size
(gimp_rectangle_tool_apply_fixed_height)
(gimp_rectangle_tool_update_with_coord)
(gimp_rectangle_tool_handle_general_clamping): Use new tool option
interface and members.
* app/tools/gimprectangleoptions.[ch]
(gimp_rectangle_options_iface_base_init)
(gimp_rectangle_options_install_properties)
(gimp_rectangle_options_(get|set)_property): Remove and add
relevant properties.
(gimp_rectangle_options_private_finalize): Unref the new widgets
used in tool options.
(gimp_rectangle_options_fixed_rule_changed): New, update tool
options depending on current option state.
(gimp_rectangle_options_gui): Modified according to change log
entry summary.
(gimp_rectangle_options_unparent_fixed_rule_widgets): New helper.
(gimp_rectangle_options_fixed_rule_active): New, clients should
use this to find out if a certain fixed-mode is active.
* app/tools/tools-enums.[ch]: Added GimpRectangleToolFixedRule.
svn path=/trunk/; revision=23114
2007-08-04 Martin Nordholts <martinn@svn.gnome.org>
Don't apply fixed aspect on pending rectangles that are not being
rubber-banded, when this is changed in the rectangle tool options.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_options_notify):
Don't synthesize motion for fixed aspect ratio options changes
* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui): Removed
callback to
(gimp_rectangle_options_notify_aspect): which is not needed any more,
and hence is removed.
svn path=/trunk/; revision=23113
2007-03-31 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleoptions.[ch]: made the
GimpRectangleOptionsPrivate struct public (ha ha).
(gimp_rectangle_options_gui): replaced the "Auto shrink selection"
toggle by a normal button that needs to be clicked explicitely.
* app/tools/gimprectangletool.c: access members of
GimpRectangleOptionsPrivate directly instead of reading them into
local variables using g_object_get(), this makes the code quite
more readable. Some code cleanup.
(gimp_rectangle_tool_button_release): get rid of the confusing
auto-shrink madness on button release...
(gimp_rectangle_tool_start)
(gimp_rectangle_tool_halt): ...instead, connect to the option's
auto shrink button and shrink on "clicked".
svn path=/trunk/; revision=22209
2007-02-08 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
code cleanup. Pack the widgets the way we usually do this.
svn path=/trunk/; revision=21875
2007-02-08 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangleoptions.c
* app/widgets/gimppropwidgets.[ch]: cleaned out some cruft. Still
work in progress.
svn path=/trunk/; revision=21872
2006-11-05 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleselecttool.[ch]: cache the round-corners
and corner-radius properties in the GimpRectSelectTool struct,
connect to "notify" of GimpRectSelectOptions and update display
drawing when the options change.
* app/tools/gimpcroptool.c
* app/tools/gimprectangleoptions.c: whitespace stuff.
2006-10-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppropwidgets.[ch]: added
gimp_prop_expanding_frame_new() which creates a frame with a
toggle button in the title.
* app/tools/gimpblendoptions.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimprectangleoptions.c
* app/tools/gimprectangleselectoptions.c
* app/tools/gimpselectionoptions.c: use it instead of duplicating
this code all over the place.
* app/tools/gimprectangleoptions.[ch]
* app/tools/gimprectangleselecttool.c
* app/tools/gimprectangletool.c
* app/tools/gimpselectionoptions.c: move "auto-shrink"
and "shrink-merged" from selection options to
rectangle options where they belong; now shown
for crop tool as well as rect select.
* app/widgets/gimppropwidgets.c (gimp_prop_aspect_ratio_new):
some small bug-fixes.
* app/tools/gimprectangleoptions.[ch]: major revision. Got
rid of lots of unneeded getter/setter-clutter, simplified
set of options and appearance of gui. Still work in progress.
* app/tools/gimprectangleselectoptions.c
* app/tools/gimprectangletool.c: corresponding changes.
* app/widgets/gimppropwidgets.[ch]: add prop widget specially
for controlling aspect ratio.
* app/tools/gimprectangleoptions.ch]: use "aspect-numerator"
and "aspect-denominator" properties instead of "aspect",
and use new prop widget in gui to set and display them.
* app/tools/gimprectangletool.c: calculate aspect from
numerator and denominator.
2006-08-08 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangleoptions.c
(gimp_rectangle_options_interface_get_type): made
GimpToolOptions a
prerequisite of the GimpRectangleOptions interface.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_interface_get_type): made GimpDrawTool a
prerequisite of the GimpRectangleTool interface.
Here is the big change-over, finally.
* app/tools/gimprectselecttool.[ch]: removed.
* app/tools/Makefile.am
* app/tools/gimp-tools.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimpellipseselecttool.h
* app/tools/gimpnewrectselectoptions.c
* app/tools/gimpnewrectselectoptions.h
* app/tools/gimpnewrectselecttool.c
* app/tools/gimpnewrectselecttool.h
* app/tools/gimpselectionoptions.c
* app/widgets/gimptoolbox.c
* menus/image-menu.xml.in: get rid of the "new" in everything
referring to the new rect select tool, except filenames. This
will wait for yosh to perform cvs-magic-foo.
* app/tools/gimprectangleoptions.[ch]
* app/tools/gimprectangletool.[ch]: fix a couple of minor
problems that popped up during testing.
* app/tools/gimpcropoptions.c: clean up code.
* app/tools/gimpnewrectselecttool.c: really remove some
commented-out code.
* app/tools/gimprectangleoptions.[ch]: add "aspect-square"
and "controls-expanded" properties. Show "Make square" and
"Expand from center" in options so that we don't need modifier
keys to do this. Place numerical entries inside an expander
and hide them by default.
2006-03-26 Karine Delvare <edhel@gimp.org>
* app/tools/gimpcropoptions.c
* app/tools/gimprectangleoptions.[ch]
* app/tools/gimprectangletool.[ch]: moved options gui creation
from the tool to the options.
* app/tools/gimpselectionoptions.c
* app/tools/gimpnewrectselecttool.[ch]
* app/tools/gimpellipseselecttool.[ch]: ported ellipse selection
tool to the new rectangle interface.
2006-01-18 Michael Natterer <mitch@gimp.org>
* app/config/config-types.c: define GIMP_PARAM_STATIC_STRINGS
which is G_PARAM_STATIC_NAME|NICK|BLURB. Also define
GIMP_PARAM_READABLE, _WRITABLE and _READWRITE which include
GIMP_PARAM_STATIC_STRINGS.
* app/*/*.c: use them for all object properties so their
strings are not copied.
2005-09-13 Karine Delvare <kdelvare@nerim.net>
* app/tools/gimpcroptool.c
* app/tools/gimprectangleoptions.c
* app/tools/gimprectangletool.c
* app/tools/gimpnewrectselecttool.c: changed the way we stay inside
images boundaries so each tool decides whether it does or not.
* libgimpwidgets/gimpsizeentry.[ch]: added function
gimp_size_entry_show_unit_menu() for convenience.
* app/tools/gimprectangleoptions.[ch]
* app/tools/gimprectangletool.[ch]: more work on
controls in Tool Options. Can now resize rectangle
by dragging any corner or edge -- move rectangle by
clicking inside and dragging.
* app/tools/gimprectangletool.c
* app/tools/gimprectangletool.h
* app/tools/gimprectangleoptions.c
* app/tools/gimprectangleoptions.h: new code for base
class for rectangle tools.
* app/tools/gimpnewrectselecttool.[ch]: modified to
derive from GimpRectangleTool.
* app/tools/Makefile.am: modified accordingly
* app/tools/gimpselectionoptions.[ch]: remove stuff
no longer needed by new rect select tool.
This is work in progress.