2005-05-07 Sven Neumann <sven@gimp.org>
* app/tools/gimpmagnifyoptions.c (gimp_magnify_options_gui):
removed the GUI for the Threshold option; it is more confusing
than useful.
2004-07-02 Philip Lafleur <plafleur@cvs.gnome.org>
* app/tools/gimptransformoptions.[ch]:
* app/tools/gimptransformtool.c:
* app/tools/tools-enums.[ch]: Replaced "Preview" checkbutton with
a combobox with options "Outline", "Grid", "Image", and
"Image + Grid".
2004-03-13 Michael Natterer <mitch@gimp.org>
Completed the fix for bug #136702:
* app/core/gimpitem.[ch]: added "gboolean supersample" and
"gint recursion_level" to GimpItem::transform().
* app/core/gimpitem-linked.[ch] (gimp_item_linked_transform): ditto.
* app/core/gimpdrawable-transform.[ch]: added "recursion_level"
parameters and removed the RECURSION_LEVEL #define.
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/vectors/gimpvectors.c: changed accordingly.
* app/tools/gimptransformoptions.[ch]: added new property
"recursion_level" which is not serializable and has no GUI. Pretty
useless, but it's IMHO better to hardcode the default value here
than in gimpdrawable-transform.c
* app/tools/gimptransformtool.c: changed accordingly.
* tools/pdbgen/pdb/transform_tools.pdb: hardcode "recursion_level"
to 3.
* app/pdb/transform_tools_cmds.c: regenerated.
2004-03-13 Raphael Quinet <quinet@gamers.org>
* app/tools/gimptransformoptions.[ch]: added new "supersample"
property to GimpTransformOptions and added corresponding check
button in the option dialog for the transform tools.
* app/core/gimpdrawable-transform.[ch],
* app/core/gimpdrawable.c,
* app/tools/gimptransformtool.c: new "gboolean supersample"
parameter added to gimp_drawable_transform_tiles_affine() and
gimp_drawable_transform_affine().
* tools/pdbgen/pdb/transform_tools.pdb: ditto. For the PDB calls,
the supersample parameter is set to FALSE for "rotate" and "shear"
and set to TRUE for "perspective", "scale" and "transform_2d".
* app/pdb/transform_tools_cmds.c: regenerated.
The new "supersample" option lets the user decide if the
transformations should use supersampling (RECURSION_LEVEL 3) or
not. This fixes both bug #136702 and bug #109817. Hopefully for
good, this time.
2003-05-31 Michael Natterer <mitch@gimp.org>
* app/tools/tools-enums.[ch]: added enum GimpTransformType which
can be one of { LAYER, SELECTION, PATH }
* app/tools/gimptransformoptions.[ch]: added a GimpTransformType
property to GimpTransformOptions. Added a GUI for the new
option.
* app/tools/gimpflipoptions.[ch]: derive it from
GimpTransformOptions and add the GUI here, too.
* app/tools/gimpfliptool.c
* app/tools/gimptransformtool.[ch]: added support for transforming
the selection. Added framework for transforming paths (still
unimplemented).
* app/tools/gimpselectionoptions.c: small cleanup.
* libgimpwidgets/gimpstock.[ch]
* themes/Default/images/Makefile.am
* themes/Default/images/stock-path-16.png
* themes/Default/images/stock-path-22.png
* themes/Default/images/stock-selection-16.png: new icons for the
new transform options buttons. Simply copied existing ones...
2003-02-09 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontext.[ch]: simplified everything a lot by
merging the public GimpContextPropType enum with the internal
anonymous object property id enum. Removed the internal copy_prop
functions and handle property copying in a big switch() in
gimp_context_copy_property(). Removed the separate signal
connections for each property of the parent context and do the
same using a single "notify" handler. Emit "notify" signals all
over the place. Removed internal arrays which are no longer
needed due to enum merge and copy_property simplification.
Removed the array of signal names and use g_signal_name().
Removed gimp_context_unset_parent() and allow "parent" being NULL
in gimp_context_set_parent().
* app/tools/tool_manager.c
* app/widgets/gimpdevices.c: changed accordingly.
* libgimptool/gimptooltypes.h: changed GimpToolOptionsGUIFunc to
return a GtkWidget (the created tool options widget).
* libgimptool/gimptoolmodule.c: #include <gtk/gtk.h>
* app/tools/tool_options.[ch]: removed the "main_vbox" from the
GimpToolOptions struct. Changed gimp_tool_options_gui() to create
and return the main_vbox.
* app/tools/tool_manager.c: create the "This Tool has no Options"
label here if NULL was passed as "options_gui_func". Attach the
options widget to the tool_options object using
g_object_set_data().
* app/gui/tool-options-dialog.c: changed accordingly.
* app/tools/gimpairbrushtool.c
* app/tools/gimpblendoptions.[ch]
* app/tools/gimpbucketfilloptions.[ch]
* app/tools/gimpclonetool.c
* app/tools/gimpcolorpickeroptions.[ch]
* app/tools/gimpconvolvetool.c
* app/tools/gimpcropoptions.[ch]
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimpflipoptions.[ch]
* app/tools/gimpinkoptions.[ch]
* app/tools/gimpmagnifyoptions.[ch]
* app/tools/gimpmeasureoptions.[ch]
* app/tools/gimpmoveoptions.[ch]
* app/tools/gimpselectionoptions.[ch]
* app/tools/gimpsmudgetool.c
* app/tools/gimptextoptions.[ch]
* app/tools/gimptransformoptions.[ch]
* app/tools/gimpvectoroptions.[ch]
* app/tools/paint_options.[ch]: return the options vbox from
all tool_options_gui functions.
2002-12-17 Michael Natterer <mitch@gimp.org>
* app/tools/gimptransformtool.c
* app/tools/transform_options.[ch]: replaced the totally unclear
(to the user) way we used to calculate the number of grid lines
from the value entered in the "Density" spinbutton by a system
where the user has the choice between the number of grid lines to
display and the spacing between the displayed grid lines. Replaced
the "Show Grid" toggle by an option menu to choose the grid type
from. (idea from drc on #gimp).
2002-03-18 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-enums.[ch]: use gimp_mkenums to create
widgets-enums.c, added it to CVS since it contains translatable
messages now.
* app/widgets/gimpenummenu.[ch]: added new functions
gimp_enum_radio_box_new() and gimp_enum_radio_frame_new() that create
groups of radio buttons out of enum types.
* app/core/core-enums.[ch]: registered more enums.
* app/paint/gimpdodgeburn.h
* app/tools/gimpbucketfilltool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimpmagnifytool.c
* app/tools/transform_options.[ch]: use gimp_enum_radio_frame_new()
for some tool options.
2001-11-29 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.[ch]: replaced the QMask radio
buttons ba a single check button. Still needs some tuning.
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-qmask.[ch]: changed accordingly.
* app/tools/gimptool.[ch]: added "gboolean handle_empty_image" to
the GimpTool structure.
* app/tools/gimpmovetool.c: set it to TRUE.
* app/tools/gimpfuzzyselecttool.c: don't gimp_[set|unset]_busy()
while calculating the selection but set the busy cursor on the
display manually (we have the pointer grabbed anyway).
* app/display/gimpdisplayshell-callbacks.c: don't check for
GIMP_IS_MODE_TOOL(active_tool) but look at
active_tool->handle_empty_image. Removed the checks for
GIMP_IS_FUZZY_SELECT_TOOL(active_tool) because fuzzy_select
doesn't set GIMP busy while it's active any more.
* app/tools/transform_options.[ch]
* app/tools/gimptransformtool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c: added widgets for the transform tools'
constraints (one more #51108 issue fixed).
* app/tools/gimperasertool.c: cosmetic.
* app/widgets/gimpdockbook.c: don't hardcode GtkNotebook's
tab_border to 0 but add a style property for it...
* themes/Default/gtkrc: ...and set it to 0 here.
2001-11-20 Michael Natterer <mitch@gimp.org>
* app/tools/tools-types.h: added GimpToolRegisterFunc,
GimpToolRegisterCallback and GimpToolOptionsNewFunc typedefs
which are used to register tools.
* app/tools/tools.c: put the register funcs in an array of
GimpToolRegisterFuncs. Pass a Gimp pointer *plus* a
GimpToolRegisterCallback (which is tool_manager_register_tool())
to the tools' register functions.
* app/tools/tool_manager.[ch]: added a GimpToolOptionsNewFunc to
the parameters of tool_manager_register_tool(). Create the tool
options here, not in each tool.
* app/tools/paint_options.[ch]
* app/tools/selection_options.[ch]
* app/tools/tool_options.[ch]
* app/tools/transform_options.[ch]: all _init() and _new()
functions take a GimpToolInfo pointer now. The _reset() func needs
to be set manually now.
* app/tools/[all_tools].[ch]: changed accordingly:
- pass GimpToolOptionsNewFuncs to the register callback.
- don't create the tool options in the tools' _init() function.
- removed all static tool options variables.
- get the options from the tool system in the cases i missed
in my last commit.
- added minor hacks to get rid of the static options pointer
in some pathological cases :) (i.e. the ink tool).
2001-11-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplay-foreach.c: forgot to commit last time.
Transform stuff cleanup:
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpdrawable-transform.[ch]: new files implementing
the actual transform functions cut from tools/gimptransformtool.*.
* app/core/gimpdrawable-transform-utils.[ch]: new files implementing
transform matrix assembly utility functions.
* app/tools/gimptransformtool.[ch]: removed the stuff here. cleanup.
* app/tools/transform_options.[ch]: removed all stuff which does
not belong here, e.g. the transform_tool_* functions and the
global "transform_options" variable. Works like all other tool
options now.
* app/tools/gimpfliptool.[ch]
* app/tools/gimpperspectivetool.[ch]
* app/tools/gimprotatetool.[ch]
* app/tools/gimpscaletool.[ch]
* app/tools/gimpsheartool.[ch]: massive code removal because
we can use core/gimpdrawable-fransform* functions now. cleanup.
* tools/pdbgen/Makefile.am
* tools/pdbgen/groups.pl: added new PDB group "transform_tools".
* tools/pdbgen/pdb/tools.pdb: removed the transform stuff here...
* tools/pdbgen/pdb/transform_tools.pdb: and added *much*
simplified versions which use the new core/gimpdrawable-transform*
utilities.
* app/pdb/Makefile.am
* app/pdb/transform_tools_cmds.c: new file.
* app/pdb/internal_procs.c
* app/pdb/tools_cmds.c: regenerated.
* libgimp/Makefile.am
* libgimp/gimp_pdb.h
* libgimp/gimptransformtools_pdb.[ch]: new files.
* libgimp/gimptools_pdb.[ch]: regenerated.
2001-08-14 Michael Natterer <mitch@gimp.org>
* app/gdisplay.h: an evil temp_hack which lets GimpContext managing
the active display withoug including "gdisplay.h". Will go away as
soon ad context properties are registered dynamically.
* app/module_db.c: cleaned up the object code in preparation of
moving it to core/.
* app/path.c: connect to GimpImage's
* app/core/gimpobject.[ch]: derive it from GObject, not from
GtkObject any more (yeah :-)
* app/core/*.c: #include <glib-object.h> instead of <gtk/gtk.h>,
removed some remaining GtkObject-isms.
(left in a few #include <gtk/gtk.h> where bigger changes are needed
to get rid of the UI dependency).
* app/core/core-types.h: #include <gdk-pixbuf/gdk-pixbuf.h> here
temporarily.
* app/core/gimp.c (gimp_create_display): unref the image after
creating it's first display.
* app/core/gimpbrush.[ch]: disabled the parts of the code which
depend on GimpPaintTool.
* app/core/gimpbrushgenerated.c
* app/core/gimpbrushpipe.c: changed accordingly.
* app/core/gimpcontext.[ch]: evil hack (see above) to manage the
active display without including "gdisplay.h"
* app/core/gimpimage-mask.[ch]: pass a context to
gimage_mask_stroke() and get the current tool's PDB string from
there.
* app/core/gimpedit.c: changed accordingly.
* app/core/gimpimage.c: use gimp_image_update() instead of
gdisplays_update_full().
* app/gui/color-area.c
* app/gui/colormap-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/edit-commands.c
* app/gui/image-commands.c
* app/gui/toolbox.c: changed accordingly (don't use Gtk methods on
GObjects).
* app/gui/menus.c: fix some const warnings by explicit casting.
* app/tools/*.[ch]: ported all tools to GObject, some minor
cleanup while i was on it.
* app/widgets/gimpdialogfactory.[ch]: ported to GObject.
* app/widgets/gimplayerlistview.h: added FOO_GET_CLASS() macro.
* tools/pdbgen/app.pl: added a "widgets_eek" hack like "tools_eek"
which inserts #include "widgets/widgets-types.h" before ordinary
includes.
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/edit.pdb
* app/pdb/brush_select_cmds.c
* app/pdb/edit_cmds.c: changed according to the stuff above.
2001-07-17 Michael Natterer <mitch@gimp.org>
* app/path.[ch]: removed path_to_beziersel() so this file can be
safely included from core/.
* app/tools/gimpbezierselecttool.[ch]: added it here.
* app/core/core-types.h: added a GimpToolOptions typedef. Removes
deps into tools/ and will later be a core object anyway.
* app/tools/tools-types.h: removed the ToolOptions typedef here.
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-mask.c
* app/core/gimpimage.c
* app/core/gimptoolinfo.[ch]: removed deps into tools/, misc stuff.
* app/tools/tool_manager.[ch]: some ugly temp hacks. Please ignore.
* app/widgets/gimpdialogfactory.[ch]: added a "remember_if_open" field
to the GimpDialogFactoryEntry so we can manage dialogs which should
not be re-opened on startup.
* app/gui/dialogs-constructors.c
* app/gui/dialogs.c: register & create all editor dialog with the
"global_dialog_factory".
* app/gui/tool-options-dialog.c
* app/tools/*: s/ToolOptions/GimpToolOptions/
* 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