gimp/app/tools/paint_options.c

710 lines
25 KiB
C
Raw Normal View History

/* The GIMP -- an image manipulation program
* Copyright (C) 1995-1999 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
Makefile.am configure.in added new directory libgimpbase/ 2001-05-21 Michael Natterer <mitch@gimp.org> * Makefile.am * configure.in * gimptool-1.4.in: added new directory libgimpbase/ * app/Makefile.am: link against the new lib. * app/appenums.h: removed the PDB enums which are in libgimpbase/gimpbasetypes.h now. They are all "Gimp" prefixed. * app/apptypes.h: #include "libgimpbase/gimpbasetypes.h" * app/[lots] * app/core/[of] * app/gui/[files] * app/tools/: changed includes and all PDB types. * app/pdb/*: regenerated. * libgimp/Makefile.am: don't build libgimpi.a uglyness any more. * libgimp/gimpenv.[ch] * libgimp/gimplimits.[hh] * libgimp/gimpparasite.[ch] * libgimp/gimpparasiteio.[ch] * libgimp/gimpprotocol.[ch] * libgimp/gimpsignal.[ch] * libgimp/gimpunit.h * libgimp/gimputils.[ch] * libgimp/gimpwire.[ch]: removed... * libgimpbase/*: ...and added here as new library. * libgimp/gimp.[ch] * libgimp/gimpdrawable.[ch] * libgimp/gimpenums.h * libgimp/gimpimage.[ch] * libgimp/gimptile.c * libgimp/gimptypes.h * libgimp/gimpunit.c: changed accordingly. Added the gimp_*_add_new_parasite to gimp.[ch], gimpdrawable.[ch] and gimpimage.[ch]. * libgimpwidgets/gimppatheditor.c * libgimpwidgets/gimpquerybox.c * libgimpwidgets/gimpsizeentry.c * libgimpwidgets/gimpunitmenu.c * libgimpwidgets/gimpwidgets.c * libgimpwidgets/gimpwidgetstypes.h: changed includes accordingly. * plug-ins/*/Makefile.am * plug-ins/common/mkgen.pl: link against libgimpbase. * tools/pdbgen/Makefile.am: scan libgimpbase/gimpbasetypes.h, so the enums are known to pdbgen... * tools/pdbgen/enumcode.pl: ...but don't write them out to libgimp/gimpenums.h * tools/pdbgen/app.pl: include libgimp/gimpbase.h in all *_cmds.c files. Added GIMP_ to the type names ganerated in app/. * tools/pdbgen/enums.pl: regenerated. * tools/pdbgen/pdb.pl * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/procedural_db.pdb * tools/pdbgen/pdb/unit.pdb: changed includes.
2001-05-21 21:58:46 +08:00
#include "libgimpbase/gimpbase.h"
Makefile.am configure.in added the new library below. 2001-01-24 Michael Natterer <mitch@gimp.org> * Makefile.am * configure.in * gimptool.in: added the new library below. * libgimpwidgets/Makefile.am * libgimpwidgets/gimpchainbutton.[ch] * libgimpwidgets/gimpcolorarea.[ch] * libgimpwidgets/gimpcolorbutton.[ch] * libgimpwidgets/gimpdialog.[ch] * libgimpwidgets/gimpfileselection.[ch] * libgimpwidgets/gimphelpui.[ch] * libgimpwidgets/gimppatheditor.[ch] * libgimpwidgets/gimppixmap.[ch] * libgimpwidgets/gimpquerybox.[ch] * libgimpwidgets/gimpsizeentry.[ch] * libgimpwidgets/gimpunitmenu.[ch] * libgimpwidgets/gimpwidgets.[ch] * libgimpwidgets/gimpwidgets.def * libgimpwidgets/gimpwidgetstypes.h: new shared library. Currently there are some ugly dependencies into libgimp. These will be removed and go to a "libgimpglue" library which will be a library for functions which share a common interface between plug-ins and the app but have different implementations. Include "libgimp/gimpunit.h" from "libgimpwidgets/gimpwidgetstypes.h" to simulate this upcoming separation. * libgimp/Makefile.am * libgimp/gimpchainbutton.[ch] * libgimp/gimpcolorarea.[ch] * libgimp/gimpcolorbutton.[ch] * libgimp/gimpdialog.[ch] * libgimp/gimpfileselection.[ch] * libgimp/gimphelpui.[ch] * libgimp/gimppatheditor.[ch] * libgimp/gimppixmap.[ch] * libgimp/gimpquerybox.[ch] * libgimp/gimpsizeentry.[ch] * libgimp/gimpunitmenu.[ch] * libgimp/gimpwidgets.[ch]: removed from here. * libgimp/gimpui.h * libgimp/gimpuitypes.h * libgimp/makefile.mingw.in * libgimp/makefile.msc: changed accordingly. * app/[all ui files] * app/pdb/palette_cmds.c * app/pdb/tools_cmds.c * tools/pdbgen/pdb/palette.pdb * tools/pdbgen/pdb/tools.pdb: #include "libgimpwidgets/gimpwidgets.h" and removed useless includes. * app/apptypes.h: #include "libgimpwidgets/gimpwidgetstypes.h" * app/Makefile.am * plug-ins/[all makefiles which link against libgimpui]: link against libgimpwidgets.la * po-libgimp/POTFILES.in: changed file locations.
2001-01-25 06:36:18 +08:00
#include "libgimpwidgets/gimpwidgets.h"
#include "tools-types.h"
app/Makefile.am removed. 2001-07-07 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/context_manager.[ch]: removed. * app/app_procs.c: call tool_mananger instead of context_manager functions, pass "the_gimp" to some more functions. * app/drawable.[ch]: pass a GimpContext to drawable_fill(). * app/errors.c: behave according to "stack_trace_mode" when using the debugging signal handler. * app/gimprc.[ch]: removed the core/ config variables. * app/selection.c: set the selection's state to INVISIBLE in selection_pause(). * app/core/Makefile.am * app/core/gimpcoreconfig.[ch]: new files (the configuration variables used by core/). * app/core/gimpcontext.[ch]: removed the global contexts (user, default, ...) and their functions. It's no longer possible to pass NULL to the context functions to manipulate the current context (gimpcontext.c doesn't know the current context any more). * app/core/gimp.[ch]: added them here. The functions are now called gimp_[set|get]_*_context(). Added gimp_create_context() which is the only function to create contexts now. * app/gui/dialogs.[ch] * app/gui/gui.[ch]: pass "gimp" to all functions. * app/tools/tool_manager.[ch] * app/tools/tools.[ch]: pass "gimp" to lots of functions. Added the "global_tool_context" logic and the global/non-global paint options switching from the context_manager. Pass "gimp" to all tools' "register" functions. * app/tools/*: changed accordingly. * app/devices.c * app/disp_callbacks.c * app/file-open.[ch] * app/file-save.c * app/gdisplay.c * app/gimage.c * app/libgimp_glue.c * app/module_db.c * app/nav_window.c * app/plug_in.c * app/qmask.c * app/undo.c * app/base/base-config.c * app/core/gimpbrushpipe.c * app/core/gimpdrawable-offset.c * app/core/gimpgradient.c * app/core/gimpimage-duplicate.c * app/core/gimpimage-mask.c * app/core/gimpimage-new.c * app/core/gimpimage.c * app/core/gimppalette.c * app/core/gimptoolinfo.[ch] * app/core/gimpundo.c * app/gui/brush-select.c * app/gui/channels-commands.c * app/gui/color-area.c * app/gui/dialogs-constructors.c * app/gui/file-new-dialog.c * app/gui/file-open-dialog.c * app/gui/gradient-editor.c * app/gui/gradient-select.c * app/gui/info-window.c * app/gui/layers-commands.c * app/gui/menus.c * app/gui/palette-editor.c * app/gui/palette-import-dialog.c * app/gui/palette-select.c * app/gui/paths-dialog.c * app/gui/pattern-select.c * app/gui/preferences-dialog.c * app/gui/resize-dialog.c * app/gui/test-commands.c * app/gui/tool-options-dialog.c * app/gui/toolbox.c * app/gui/tools-commands.c * app/xcf/xcf-load.c * app/xcf/xcf-save.c * app/widgets/gimpchannellistview.c * app/widgets/gimpdnd.c * app/widgets/gimpdrawablelistview.[ch] * app/widgets/gimpimagedock.c * app/widgets/gimplayerlistview.c * app/pdb/brushes_cmds.c * app/pdb/drawable_cmds.c * app/pdb/gradient_select_cmds.c * app/pdb/gradients_cmds.c * app/pdb/palette_cmds.c * app/pdb/patterns_cmds.c * app/pdb/procedural_db.c * tools/pdbgen/pdb/brushes.pdb * tools/pdbgen/pdb/drawable.pdb * tools/pdbgen/pdb/gradient_select.pdb * tools/pdbgen/pdb/gradients.pdb * tools/pdbgen/pdb/palette.pdb * tools/pdbgen/pdb/patterns.pdb: changed accordingly: remove usage of gimp_context_[get|set]_*(NULL), create contexts with gimp_create_context(). Get the user/current context with gimp_get_[user|current]_context(). Added/removed access to the global "the_gimp" variable in some places. Get the core's config variables from "core_config".
2001-07-07 20:17:23 +08:00
#include "core/gimp.h"
#include "core/gimpcontext.h"
#include "core/gimptoolinfo.h"
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
#include "paint/gimppaintoptions.h"
Separated tool_options creation from tool registration so we don't 2002-06-17 Michael Natterer <mitch@gimp.org> Separated tool_options creation from tool registration so we don't implicitly create widgets before gui_init(): * libgimptool/gimptooltypes.h: removed GimpToolOptionsNewFunc typedef here... * app/core/core-types.h: ...and added it here. * libgimpproxy/gimpproxytypes.h: regenerated. * app/core/gimptoolinfo.[ch]: added a GimpToolOptionsNewFunc pointer to remember the constructor. Fixed the finalize() method (bug was never noticed because we leaked all tool infos) * app/tools/tool_manager.[ch]: moved tool_options creation to the new function tool_manager_restore(). Unref the tool infos after adding them to their container. Added "brush" and "gradient" to the context properties which are defined for tool contexts. * app/app_procs.c: call tool_manager_restore() after gui_init(). * app/gui/gui.c: removed the hack introduced recently and call render_setup() in gui_init() again, not in gui_themes_init(). Use the correct contexts now that they are properly initialized at the time of tool_options creation: * app/tools/gimpblendtool.c: use tool_info->context, not gimp_get_user_context() to get/set the tool's gradient. * app/paint/gimppaintcore.[ch] (gimp_paint_core_start): added a GimpPaintOptions paramater and get the brush to use from paint_options->context (instead of gimp_get_current_context()). * app/paint/gimppaintcore-stroke.c * app/tools/gimppainttool.c: changed accordingly. * app/tools/paint_options.c: added a brush preview to the paint options.
2002-06-17 18:34:28 +08:00
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpdock.h"
#include "widgets/gimpenummenu.h"
Separated tool_options creation from tool registration so we don't 2002-06-17 Michael Natterer <mitch@gimp.org> Separated tool_options creation from tool registration so we don't implicitly create widgets before gui_init(): * libgimptool/gimptooltypes.h: removed GimpToolOptionsNewFunc typedef here... * app/core/core-types.h: ...and added it here. * libgimpproxy/gimpproxytypes.h: regenerated. * app/core/gimptoolinfo.[ch]: added a GimpToolOptionsNewFunc pointer to remember the constructor. Fixed the finalize() method (bug was never noticed because we leaked all tool infos) * app/tools/tool_manager.[ch]: moved tool_options creation to the new function tool_manager_restore(). Unref the tool infos after adding them to their container. Added "brush" and "gradient" to the context properties which are defined for tool contexts. * app/app_procs.c: call tool_manager_restore() after gui_init(). * app/gui/gui.c: removed the hack introduced recently and call render_setup() in gui_init() again, not in gui_themes_init(). Use the correct contexts now that they are properly initialized at the time of tool_options creation: * app/tools/gimpblendtool.c: use tool_info->context, not gimp_get_user_context() to get/set the tool's gradient. * app/paint/gimppaintcore.[ch] (gimp_paint_core_start): added a GimpPaintOptions paramater and get the brush to use from paint_options->context (instead of gimp_get_current_context()). * app/paint/gimppaintcore-stroke.c * app/tools/gimppainttool.c: changed accordingly. * app/tools/paint_options.c: added a brush preview to the paint options.
2002-06-17 18:34:28 +08:00
#include "widgets/gimppreview.h"
#include "widgets/gimpwidgets-constructors.h"
2001-04-11 09:13:53 +08:00
#include "widgets/gtkhwrapbox.h"
Makefile.am configure.in added the new library below. 2001-01-24 Michael Natterer <mitch@gimp.org> * Makefile.am * configure.in * gimptool.in: added the new library below. * libgimpwidgets/Makefile.am * libgimpwidgets/gimpchainbutton.[ch] * libgimpwidgets/gimpcolorarea.[ch] * libgimpwidgets/gimpcolorbutton.[ch] * libgimpwidgets/gimpdialog.[ch] * libgimpwidgets/gimpfileselection.[ch] * libgimpwidgets/gimphelpui.[ch] * libgimpwidgets/gimppatheditor.[ch] * libgimpwidgets/gimppixmap.[ch] * libgimpwidgets/gimpquerybox.[ch] * libgimpwidgets/gimpsizeentry.[ch] * libgimpwidgets/gimpunitmenu.[ch] * libgimpwidgets/gimpwidgets.[ch] * libgimpwidgets/gimpwidgets.def * libgimpwidgets/gimpwidgetstypes.h: new shared library. Currently there are some ugly dependencies into libgimp. These will be removed and go to a "libgimpglue" library which will be a library for functions which share a common interface between plug-ins and the app but have different implementations. Include "libgimp/gimpunit.h" from "libgimpwidgets/gimpwidgetstypes.h" to simulate this upcoming separation. * libgimp/Makefile.am * libgimp/gimpchainbutton.[ch] * libgimp/gimpcolorarea.[ch] * libgimp/gimpcolorbutton.[ch] * libgimp/gimpdialog.[ch] * libgimp/gimpfileselection.[ch] * libgimp/gimphelpui.[ch] * libgimp/gimppatheditor.[ch] * libgimp/gimppixmap.[ch] * libgimp/gimpquerybox.[ch] * libgimp/gimpsizeentry.[ch] * libgimp/gimpunitmenu.[ch] * libgimp/gimpwidgets.[ch]: removed from here. * libgimp/gimpui.h * libgimp/gimpuitypes.h * libgimp/makefile.mingw.in * libgimp/makefile.msc: changed accordingly. * app/[all ui files] * app/pdb/palette_cmds.c * app/pdb/tools_cmds.c * tools/pdbgen/pdb/palette.pdb * tools/pdbgen/pdb/tools.pdb: #include "libgimpwidgets/gimpwidgets.h" and removed useless includes. * app/apptypes.h: #include "libgimpwidgets/gimpwidgetstypes.h" * app/Makefile.am * plug-ins/[all makefiles which link against libgimpui]: link against libgimpwidgets.la * po-libgimp/POTFILES.in: changed file locations.
2001-01-25 06:36:18 +08:00
#include "paint_options.h"
removed crap from ancient times when tools used to be an enum. 2001-02-23 Michael Natterer <mitch@gimp.org> * app/app_procs.c: removed crap from ancient times when tools used to be an enum. * app/brush_select.[ch]: cleaned up the gui and made global paint mode toggling much simpler by expanding vertically instead of reparenting. * app/context_manager.c: removed hack by using a tool manager accessor function. * app/gimpcontext.c: use the new standard tool info object. Tools also _behave_ like all other data types now (can e.g. be refreshed). * app/tools/tool.[ch] * app/tools/gimptoolinfo.[ch]: added an "identifier" which is an untranslated string with a meaningful prefix and name, e.g. "gimp:color_picker_tool". Renamed "tool_name" and "tool_desc" to "blurb" and "help", changed the constructor accordingly. Added gimp_tool_info_get_standards() to make the context work with tool refresh. * app/tools/tool_manager.[ch] * app/tools/tools.c: removed the global list of tool class structures because the tool info list is in place. Added tool_manager_register_tool_options() which calls tool_options_dialog_add() and registers the options in the global_tool_info_list. * app/tools/Makefile.am * app/tools/paint_options.[ch] * app/tools/selection_options.[ch] * app/tools/tool_options.[ch] * app/tools/tool_options_dialog.[ch]: build them all again. This is mostly the old tool options system with minor modifications to work with the new stuff. The tool options auto-update with the user context now, so there are no update functions any more. * app/gimpdnd.c * app/toolbox.c * app/tools/color_picker.c * app/tools/measure.c * app/tools/move.c: changed accordingly.
2001-02-24 05:32:47 +08:00
#include "tool_manager.h"
#include "gimpairbrushtool.h"
#include "gimpblendtool.h"
#include "gimpbucketfilltool.h"
#include "gimpdodgeburntool.h"
#include "gimperasertool.h"
#include "gimpinktool.h"
#include "gimppaintbrushtool.h"
#include "gimppenciltool.h"
#include "gimpdodgeburntool.h"
#include "gimpsmudgetool.h"
#include "gimpclonetool.h"
#include "gimpconvolvetool.h"
#include "libgimp/gimpintl.h"
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
static void pressure_options_init (GimpPressureOptions *pressure,
GimpPaintOptions *paint_options,
GType tool_type);
static void pressure_options_reset (GimpPressureOptions *pressure);
static void gradient_options_init (GimpGradientOptions *gradient,
GimpPaintOptions *paint_options,
GType tool_type);
static void gradient_options_reset (GimpGradientOptions *gradient);
static void paint_options_opacity_adjustment_update (GtkAdjustment *adjustment,
gpointer data);
static void paint_options_opacity_changed (GimpContext *context,
gdouble opacity,
gpointer data);
static void paint_options_paint_mode_update (GtkWidget *widget,
gpointer data);
static void paint_options_paint_mode_changed (GimpContext *context,
app/core/Makefile.am new file that holds enums that are registered with 2001-12-08 Sven Neumann <sven@gimp.org> * app/core/Makefile.am * app/core/core-enums.h: new file that holds enums that are registered with the type system and is used to generate core-enums.c. * app/core/core-types.h: include core-enums.h * app/base/base-types.h: namespace cleanup. Prefix all enumeration types with Gimp and their values with GIMP. Moved GimpLayerModeEffects enum ... * app/base/base-enums.h: ... here. * app/image_map.c * app/base/temp-buf.c * app/core/gimpcontext.[ch] * app/core/gimpdrawable-transform.c * app/core/gimpdrawable.c * app/core/gimpedit.c * app/core/gimpimage-mask.c * app/core/gimpimage-merge.c * app/core/gimpimage-new.c * app/core/gimpimage-projection.c * app/core/gimpimage.[ch] * app/core/gimplayer.[ch] * app/display/gimpdisplayshell-dnd.c * app/display/gimpdisplayshell-render.c * app/gui/brush-select.c * app/gui/layers-commands.c * app/gui/preferences-dialog.c * app/gui/toolbox.c * app/paint-funcs/paint-funcs.[ch] * app/tools/gimpconvolvetool.c * app/tools/gimperasertool.c * app/tools/gimpiscissorstool.c * app/tools/gimppainttool.[ch] * app/tools/gimptexttool.c * app/tools/paint_options.c * app/widgets/gimplayerlistview.c * app/widgets/gimpwidgets-constructors.[ch] * app/xcf/xcf-load.c * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/brushes.pdb * tools/pdbgen/pdb/color.pdb * tools/pdbgen/pdb/layer.pdb * tools/pdbgen/pdb/tools.pdb: changed accordingly. * libgimpbase/gimpbasetypes.h: no need to chop GIMP prefix off the enums any longer. * app/pdb/brush_select_cmds.c * app/pdb/brushes_cmds.c * app/pdb/color_cmds.c * app/pdb/layer_cmds.c * app/pdb/message_cmds.c * app/pdb/procedural_db_cmds.c * app/pdb/tools_cmds.c * libgimp/gimpenums.h * plug-ins/script-fu/script-fu-constants.c * tools/pdbgen/enums.pl: regenerated. * app/gimprc.c: removed code to parse for "plug_in" keyword which was left over from some very early gimp days. * app/plug-in/plug-in.[ch]: removed now unused function plug_in_add().
2001-12-09 07:12:59 +08:00
GimpLayerModeEffects paint_mode,
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
gpointer data);
Separated tool_options creation from tool registration so we don't 2002-06-17 Michael Natterer <mitch@gimp.org> Separated tool_options creation from tool registration so we don't implicitly create widgets before gui_init(): * libgimptool/gimptooltypes.h: removed GimpToolOptionsNewFunc typedef here... * app/core/core-types.h: ...and added it here. * libgimpproxy/gimpproxytypes.h: regenerated. * app/core/gimptoolinfo.[ch]: added a GimpToolOptionsNewFunc pointer to remember the constructor. Fixed the finalize() method (bug was never noticed because we leaked all tool infos) * app/tools/tool_manager.[ch]: moved tool_options creation to the new function tool_manager_restore(). Unref the tool infos after adding them to their container. Added "brush" and "gradient" to the context properties which are defined for tool contexts. * app/app_procs.c: call tool_manager_restore() after gui_init(). * app/gui/gui.c: removed the hack introduced recently and call render_setup() in gui_init() again, not in gui_themes_init(). Use the correct contexts now that they are properly initialized at the time of tool_options creation: * app/tools/gimpblendtool.c: use tool_info->context, not gimp_get_user_context() to get/set the tool's gradient. * app/paint/gimppaintcore.[ch] (gimp_paint_core_start): added a GimpPaintOptions paramater and get the brush to use from paint_options->context (instead of gimp_get_current_context()). * app/paint/gimppaintcore-stroke.c * app/tools/gimppainttool.c: changed accordingly. * app/tools/paint_options.c: added a brush preview to the paint options.
2002-06-17 18:34:28 +08:00
static void paint_options_brush_clicked (GtkWidget *widget,
gpointer data);
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
static void paint_options_gradient_toggle_callback (GtkWidget *widget,
GimpPaintOptions *options);
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
GimpToolOptions *
paint_options_new (GimpToolInfo *tool_info)
{
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
GimpPaintOptions *options;
options = gimp_paint_options_new (tool_info->context);
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
paint_options_init (options, tool_info);
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
return (GimpToolOptions *) options;
}
void
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
paint_options_init (GimpPaintOptions *options,
GimpToolInfo *tool_info)
{
GtkWidget *vbox;
GtkWidget *table;
GtkWidget *mode_label;
/* initialize the tool options structure */
tool_options_init ((GimpToolOptions *) options, tool_info);
((GimpToolOptions *) options)->reset_func = paint_options_reset;
/* the main vbox */
app/gimprc.[ch] app/gui/preferences-dialog.c 2002-03-12 Michael Natterer <mitch@gimp.org> * app/gimprc.[ch] * app/gui/preferences-dialog.c * app/paint/gimppaintoptions.[ch] * app/tools/paint_options.[ch] * app/tools/tool_manager.[ch]: removed the "global_paint_options" gimprc option because it doesn't quite fit the new dockable dialog architecture. * app/gui/brush-select.[ch] * app/gui/gradient-select.[ch] * app/gui/palette-select.[ch] * app/gui/pattern-select.[ch]: removed the "Global Brush/Pattern/... Selection" part of them. They are now only used for temp popup selections and the PDB. *Lots* of cleanup. * app/gui/convert-dialog.c * app/gui/dialogs-constructors.[ch] * app/gui/dialogs.c * app/gui/gui.c * app/gui/menus.c * app/gui/palette-import-dialog.c * app/plug-in/plug-in.c: changed accordingly. Cleaned up the palette and other data PDB stuff: * tools/pdbgen/Makefile.am * tools/pdbgen/groups.pl: added "palette_select" and "palettes". * tools/pdbgen/pdb/palette_select.pdb: new file. Makes the palette selection PDB controllable. * tools/pdbgen/pdb/palettes.pdb: new file cut out of palette.pdb because of API symmetry with brushes, patterns, ... * tools/pdbgen/pdb/palette.pdb: removed from here. * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/brushes.pdb * tools/pdbgen/pdb/gradient_select.pdb * tools/pdbgen/pdb/gradients.pdb * tools/pdbgen/pdb/palette.pdb * tools/pdbgen/pdb/pattern_select.pdb * tools/pdbgen/pdb/patterns.pdb: lots of cleanup. Autogenerated stuff: * app/pdb/Makefile.am * app/pdb/palette_select_cmds.c * app/pdb/palettes_cmds.c: new files. * app/pdb/brush_select_cmds.c * app/pdb/brushes_cmds.c * app/pdb/gradient_select_cmds.c * app/pdb/gradients_cmds.c * app/pdb/internal_procs.c * app/pdb/palette_cmds.c * app/pdb/pattern_select_cmds.c * app/pdb/patterns_cmds.c: regenerated. * libgimp/Makefile.am * libgimp/gimp_pdb.h * libgimp/gimppalettes_pdb.[ch] * libgimp/gimppaletteselect_pdb.[ch]: new files. * libgimp/gimpgradientselect_pdb.[ch] * libgimp/gimppalette_pdb.[ch] * libgimp/gimppatterns_pdb.c: regenerated. * devel-docs/libgimp/tmpl/gimpgradients.sgml * devel-docs/libgimp/tmpl/gimppalette.sgml: regenerated.
2002-03-13 05:02:10 +08:00
vbox = options->tool_options.main_vbox;
/* the main table */
Separated tool_options creation from tool registration so we don't 2002-06-17 Michael Natterer <mitch@gimp.org> Separated tool_options creation from tool registration so we don't implicitly create widgets before gui_init(): * libgimptool/gimptooltypes.h: removed GimpToolOptionsNewFunc typedef here... * app/core/core-types.h: ...and added it here. * libgimpproxy/gimpproxytypes.h: regenerated. * app/core/gimptoolinfo.[ch]: added a GimpToolOptionsNewFunc pointer to remember the constructor. Fixed the finalize() method (bug was never noticed because we leaked all tool infos) * app/tools/tool_manager.[ch]: moved tool_options creation to the new function tool_manager_restore(). Unref the tool infos after adding them to their container. Added "brush" and "gradient" to the context properties which are defined for tool contexts. * app/app_procs.c: call tool_manager_restore() after gui_init(). * app/gui/gui.c: removed the hack introduced recently and call render_setup() in gui_init() again, not in gui_themes_init(). Use the correct contexts now that they are properly initialized at the time of tool_options creation: * app/tools/gimpblendtool.c: use tool_info->context, not gimp_get_user_context() to get/set the tool's gradient. * app/paint/gimppaintcore.[ch] (gimp_paint_core_start): added a GimpPaintOptions paramater and get the brush to use from paint_options->context (instead of gimp_get_current_context()). * app/paint/gimppaintcore-stroke.c * app/tools/gimppainttool.c: changed accordingly. * app/tools/paint_options.c: added a brush preview to the paint options.
2002-06-17 18:34:28 +08:00
table = gtk_table_new (3, 3, FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 2);
gtk_table_set_row_spacings (GTK_TABLE (table), 2);
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
gtk_widget_show (table);
/* the opacity scale */
options->opacity_w =
gimp_scale_entry_new (GTK_TABLE (table), 0, 0,
changed "Number of Colors" to "Max Number of Colors" to clarify what this 2002-09-06 Michael Natterer <mitch@gimp.org> * app/gui/convert-dialog.c: changed "Number of Colors" to "Max Number of Colors" to clarify what this parameter does. (fixes #92194). * app/gui/menus.c: use GIMP_STOCK_INFO for "View/Info Window". Specify spibutton sizes in chars, not pixels (eek) all over the place. Also removed explicit sizes where the GtkSpinButton default size does not disturbe tabular widget layouts. * libgimpwidgets/gimpwidgets.c: removed the hardcoded width of 75 pixels in gimp_spin_button_new(). Changed gimp_scale_entry_new() and gimp_coordinates_new() to interpret their "spinbutton_width" parameters as chars if < 16, and as pixels otherwise. This gives reasonable results and doesn't cause unchanged plug-ins to suddenly have spinbuttons of dozens of chars width :) * libgimpwidgets/gimpsizeentry.c: added the same heuristic here. * libgimpwidgets/gimpquerybox.c * app/gui/color-notebook.c * app/gui/convert-dialog.c * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbrightnesscontrasttool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorpickertool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimphuesaturationtool.c * app/tools/gimpinktool.c * app/tools/gimplevelstool.c * app/tools/gimpmagnifytool.c * app/tools/gimpposterizetool.c * app/tools/gimpsmudgetool.c * app/tools/gimptexttool.c * app/tools/gimpthresholdtool.c * app/tools/paint_options.c * app/tools/selection_options.c * app/widgets/gimpbrusheditor.c * app/widgets/gimpbrushfactoryview.c * app/widgets/gimppaletteeditor.c: changed accordingly. * plug-ins/FractalExplorer/Dialogs.c * plug-ins/FractalExplorer/FractalExplorer.c * plug-ins/Lighting/lighting_ui.c * plug-ins/common/AlienMap.c * plug-ins/common/AlienMap2.c * plug-ins/common/CML_explorer.c * plug-ins/common/bumpmap.c * plug-ins/common/checkerboard.c * plug-ins/common/cubism.c * plug-ins/common/curve_bend.c * plug-ins/common/depthmerge.c * plug-ins/common/despeckle.c * plug-ins/common/diffraction.c * plug-ins/common/emboss.c * plug-ins/common/film.c * plug-ins/common/flarefx.c * plug-ins/common/fractaltrace.c * plug-ins/common/gauss_iir.c * plug-ins/common/gauss_rle.c * plug-ins/common/glasstile.c * plug-ins/common/grid.c * plug-ins/common/illusion.c * plug-ins/common/iwarp.c * plug-ins/common/jigsaw.c * plug-ins/common/lic.c * plug-ins/common/max_rgb.c * plug-ins/common/mblur.c * plug-ins/common/newsprint.c * plug-ins/common/nova.c * plug-ins/common/pixelize.c * plug-ins/common/sample_colorize.c * plug-ins/common/scatter_hsv.c * plug-ins/common/shift.c * plug-ins/common/sinus.c * plug-ins/common/sparkle.c * plug-ins/common/spread.c * plug-ins/common/tile.c * plug-ins/common/tileit.c * plug-ins/common/unsharp.c * plug-ins/common/vpropagate.c * plug-ins/common/waves.c * plug-ins/common/whirlpinch.c * plug-ins/gflare/gflare.c * plug-ins/mosaic/mosaic.c * plug-ins/rcm/rcm_dialog.c: changed accordingly, which involves removals of gtk_widget_set_size_request(spinbutton), removal of lots of explicit spinbutton sizes in gimp_scale_entry_new(), and adding of new ones because GtkSpinButton's auto-size trashed tabular layouts. Lots of cleanup & indentation while browsing the plug-ins' code. Changed spacings, moved toggle buttons into frame titles, use stock items, stuff...
2002-09-07 04:44:47 +08:00
_("Opacity:"), -1, -1,
gimp_context_get_opacity (tool_info->context) * 100,
0.0, 100.0, 1.0, 10.0, 1,
TRUE, 0.0, 0.0,
NULL, NULL);
g_signal_connect (options->opacity_w, "value_changed",
G_CALLBACK (paint_options_opacity_adjustment_update),
tool_info->context);
g_signal_connect (tool_info->context, "opacity_changed",
G_CALLBACK (paint_options_opacity_changed),
options->opacity_w);
/* the paint mode menu */
options->paint_mode_w =
gimp_paint_mode_menu_new (G_CALLBACK (paint_options_paint_mode_update),
options,
TRUE,
gimp_context_get_paint_mode (tool_info->context));
mode_label = gimp_table_attach_aligned (GTK_TABLE (table), 0, 1,
_("Mode:"), 1.0, 0.5,
options->paint_mode_w, 2, TRUE);
g_signal_connect (tool_info->context, "paint_mode_changed",
G_CALLBACK (paint_options_paint_mode_changed),
options->paint_mode_w);
if (tool_info->tool_type == GIMP_TYPE_ERASER_TOOL ||
tool_info->tool_type == GIMP_TYPE_CONVOLVE_TOOL ||
tool_info->tool_type == GIMP_TYPE_DODGEBURN_TOOL ||
tool_info->tool_type == GIMP_TYPE_SMUDGE_TOOL)
{
gtk_widget_set_sensitive (options->paint_mode_w, FALSE);
gtk_widget_set_sensitive (mode_label, FALSE);
}
Separated tool_options creation from tool registration so we don't 2002-06-17 Michael Natterer <mitch@gimp.org> Separated tool_options creation from tool registration so we don't implicitly create widgets before gui_init(): * libgimptool/gimptooltypes.h: removed GimpToolOptionsNewFunc typedef here... * app/core/core-types.h: ...and added it here. * libgimpproxy/gimpproxytypes.h: regenerated. * app/core/gimptoolinfo.[ch]: added a GimpToolOptionsNewFunc pointer to remember the constructor. Fixed the finalize() method (bug was never noticed because we leaked all tool infos) * app/tools/tool_manager.[ch]: moved tool_options creation to the new function tool_manager_restore(). Unref the tool infos after adding them to their container. Added "brush" and "gradient" to the context properties which are defined for tool contexts. * app/app_procs.c: call tool_manager_restore() after gui_init(). * app/gui/gui.c: removed the hack introduced recently and call render_setup() in gui_init() again, not in gui_themes_init(). Use the correct contexts now that they are properly initialized at the time of tool_options creation: * app/tools/gimpblendtool.c: use tool_info->context, not gimp_get_user_context() to get/set the tool's gradient. * app/paint/gimppaintcore.[ch] (gimp_paint_core_start): added a GimpPaintOptions paramater and get the brush to use from paint_options->context (instead of gimp_get_current_context()). * app/paint/gimppaintcore-stroke.c * app/tools/gimppainttool.c: changed accordingly. * app/tools/paint_options.c: added a brush preview to the paint options.
2002-06-17 18:34:28 +08:00
/* the brush preview */
if (tool_info->tool_type != GIMP_TYPE_BUCKET_FILL_TOOL &&
tool_info->tool_type != GIMP_TYPE_BLEND_TOOL &&
tool_info->tool_type != GIMP_TYPE_INK_TOOL)
{
GimpBrush *brush;
GtkWidget *button;
GtkWidget *preview;
brush = gimp_context_get_brush (options->context);
button = gtk_button_new ();
preview = gimp_preview_new_full (GIMP_VIEWABLE (brush),
24, 24, 0,
FALSE, TRUE, TRUE);
gtk_container_add (GTK_CONTAINER (button), preview);
gtk_widget_show (preview);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 2,
_("Brush:"), 1.0, 0.5,
button, 2, TRUE);
g_signal_connect_object (options->context, "brush_changed",
Separated tool_options creation from tool registration so we don't 2002-06-17 Michael Natterer <mitch@gimp.org> Separated tool_options creation from tool registration so we don't implicitly create widgets before gui_init(): * libgimptool/gimptooltypes.h: removed GimpToolOptionsNewFunc typedef here... * app/core/core-types.h: ...and added it here. * libgimpproxy/gimpproxytypes.h: regenerated. * app/core/gimptoolinfo.[ch]: added a GimpToolOptionsNewFunc pointer to remember the constructor. Fixed the finalize() method (bug was never noticed because we leaked all tool infos) * app/tools/tool_manager.[ch]: moved tool_options creation to the new function tool_manager_restore(). Unref the tool infos after adding them to their container. Added "brush" and "gradient" to the context properties which are defined for tool contexts. * app/app_procs.c: call tool_manager_restore() after gui_init(). * app/gui/gui.c: removed the hack introduced recently and call render_setup() in gui_init() again, not in gui_themes_init(). Use the correct contexts now that they are properly initialized at the time of tool_options creation: * app/tools/gimpblendtool.c: use tool_info->context, not gimp_get_user_context() to get/set the tool's gradient. * app/paint/gimppaintcore.[ch] (gimp_paint_core_start): added a GimpPaintOptions paramater and get the brush to use from paint_options->context (instead of gimp_get_current_context()). * app/paint/gimppaintcore-stroke.c * app/tools/gimppainttool.c: changed accordingly. * app/tools/paint_options.c: added a brush preview to the paint options.
2002-06-17 18:34:28 +08:00
G_CALLBACK (gimp_preview_set_viewable),
preview,
Separated tool_options creation from tool registration so we don't 2002-06-17 Michael Natterer <mitch@gimp.org> Separated tool_options creation from tool registration so we don't implicitly create widgets before gui_init(): * libgimptool/gimptooltypes.h: removed GimpToolOptionsNewFunc typedef here... * app/core/core-types.h: ...and added it here. * libgimpproxy/gimpproxytypes.h: regenerated. * app/core/gimptoolinfo.[ch]: added a GimpToolOptionsNewFunc pointer to remember the constructor. Fixed the finalize() method (bug was never noticed because we leaked all tool infos) * app/tools/tool_manager.[ch]: moved tool_options creation to the new function tool_manager_restore(). Unref the tool infos after adding them to their container. Added "brush" and "gradient" to the context properties which are defined for tool contexts. * app/app_procs.c: call tool_manager_restore() after gui_init(). * app/gui/gui.c: removed the hack introduced recently and call render_setup() in gui_init() again, not in gui_themes_init(). Use the correct contexts now that they are properly initialized at the time of tool_options creation: * app/tools/gimpblendtool.c: use tool_info->context, not gimp_get_user_context() to get/set the tool's gradient. * app/paint/gimppaintcore.[ch] (gimp_paint_core_start): added a GimpPaintOptions paramater and get the brush to use from paint_options->context (instead of gimp_get_current_context()). * app/paint/gimppaintcore-stroke.c * app/tools/gimppainttool.c: changed accordingly. * app/tools/paint_options.c: added a brush preview to the paint options.
2002-06-17 18:34:28 +08:00
G_CONNECT_SWAPPED);
g_signal_connect (button, "clicked",
Separated tool_options creation from tool registration so we don't 2002-06-17 Michael Natterer <mitch@gimp.org> Separated tool_options creation from tool registration so we don't implicitly create widgets before gui_init(): * libgimptool/gimptooltypes.h: removed GimpToolOptionsNewFunc typedef here... * app/core/core-types.h: ...and added it here. * libgimpproxy/gimpproxytypes.h: regenerated. * app/core/gimptoolinfo.[ch]: added a GimpToolOptionsNewFunc pointer to remember the constructor. Fixed the finalize() method (bug was never noticed because we leaked all tool infos) * app/tools/tool_manager.[ch]: moved tool_options creation to the new function tool_manager_restore(). Unref the tool infos after adding them to their container. Added "brush" and "gradient" to the context properties which are defined for tool contexts. * app/app_procs.c: call tool_manager_restore() after gui_init(). * app/gui/gui.c: removed the hack introduced recently and call render_setup() in gui_init() again, not in gui_themes_init(). Use the correct contexts now that they are properly initialized at the time of tool_options creation: * app/tools/gimpblendtool.c: use tool_info->context, not gimp_get_user_context() to get/set the tool's gradient. * app/paint/gimppaintcore.[ch] (gimp_paint_core_start): added a GimpPaintOptions paramater and get the brush to use from paint_options->context (instead of gimp_get_current_context()). * app/paint/gimppaintcore-stroke.c * app/tools/gimppainttool.c: changed accordingly. * app/tools/paint_options.c: added a brush preview to the paint options.
2002-06-17 18:34:28 +08:00
G_CALLBACK (paint_options_brush_clicked),
NULL);
}
app/gimprc.[ch] app/gui/preferences-dialog.c 2002-03-12 Michael Natterer <mitch@gimp.org> * app/gimprc.[ch] * app/gui/preferences-dialog.c * app/paint/gimppaintoptions.[ch] * app/tools/paint_options.[ch] * app/tools/tool_manager.[ch]: removed the "global_paint_options" gimprc option because it doesn't quite fit the new dockable dialog architecture. * app/gui/brush-select.[ch] * app/gui/gradient-select.[ch] * app/gui/palette-select.[ch] * app/gui/pattern-select.[ch]: removed the "Global Brush/Pattern/... Selection" part of them. They are now only used for temp popup selections and the PDB. *Lots* of cleanup. * app/gui/convert-dialog.c * app/gui/dialogs-constructors.[ch] * app/gui/dialogs.c * app/gui/gui.c * app/gui/menus.c * app/gui/palette-import-dialog.c * app/plug-in/plug-in.c: changed accordingly. Cleaned up the palette and other data PDB stuff: * tools/pdbgen/Makefile.am * tools/pdbgen/groups.pl: added "palette_select" and "palettes". * tools/pdbgen/pdb/palette_select.pdb: new file. Makes the palette selection PDB controllable. * tools/pdbgen/pdb/palettes.pdb: new file cut out of palette.pdb because of API symmetry with brushes, patterns, ... * tools/pdbgen/pdb/palette.pdb: removed from here. * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/brushes.pdb * tools/pdbgen/pdb/gradient_select.pdb * tools/pdbgen/pdb/gradients.pdb * tools/pdbgen/pdb/palette.pdb * tools/pdbgen/pdb/pattern_select.pdb * tools/pdbgen/pdb/patterns.pdb: lots of cleanup. Autogenerated stuff: * app/pdb/Makefile.am * app/pdb/palette_select_cmds.c * app/pdb/palettes_cmds.c: new files. * app/pdb/brush_select_cmds.c * app/pdb/brushes_cmds.c * app/pdb/gradient_select_cmds.c * app/pdb/gradients_cmds.c * app/pdb/internal_procs.c * app/pdb/palette_cmds.c * app/pdb/pattern_select_cmds.c * app/pdb/patterns_cmds.c: regenerated. * libgimp/Makefile.am * libgimp/gimp_pdb.h * libgimp/gimppalettes_pdb.[ch] * libgimp/gimppaletteselect_pdb.[ch]: new files. * libgimp/gimpgradientselect_pdb.[ch] * libgimp/gimppalette_pdb.[ch] * libgimp/gimppatterns_pdb.c: regenerated. * devel-docs/libgimp/tmpl/gimpgradients.sgml * devel-docs/libgimp/tmpl/gimppalette.sgml: regenerated.
2002-03-13 05:02:10 +08:00
/* a separator after the common paint options */
if (tool_info->tool_type == GIMP_TYPE_BLEND_TOOL)
{
2001-11-10 22:17:01 +08:00
GtkWidget *separator;
separator = gtk_hseparator_new ();
gtk_box_pack_start (GTK_BOX (vbox), separator, FALSE, FALSE, 0);
gtk_widget_show (separator);
}
/* the "incremental" toggle */
if (tool_info->tool_type == GIMP_TYPE_AIRBRUSH_TOOL ||
tool_info->tool_type == GIMP_TYPE_ERASER_TOOL ||
tool_info->tool_type == GIMP_TYPE_PAINTBRUSH_TOOL ||
tool_info->tool_type == GIMP_TYPE_PENCIL_TOOL)
{
options->incremental_w =
gtk_check_button_new_with_label (_("Incremental"));
gtk_box_pack_start (GTK_BOX (options->tool_options.main_vbox),
options->incremental_w, FALSE, FALSE, 0);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->incremental_w),
options->incremental);
gtk_widget_show (options->incremental_w);
g_signal_connect (options->incremental_w, "toggled",
G_CALLBACK (gimp_toggle_button_update),
&options->incremental);
}
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
pressure_options_init (options->pressure_options,
options,
tool_info->tool_type);
if (options->pressure_options->frame)
{
gtk_box_pack_start (GTK_BOX (options->tool_options.main_vbox),
options->pressure_options->frame, FALSE, FALSE, 0);
gtk_widget_show (options->pressure_options->frame);
}
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
gradient_options_init (options->gradient_options,
options,
tool_info->tool_type);
if (options->gradient_options->fade_frame)
{
gtk_box_pack_start (GTK_BOX (options->tool_options.main_vbox),
options->gradient_options->fade_frame,
FALSE, FALSE, 0);
gtk_widget_show (options->gradient_options->fade_frame);
}
if (options->gradient_options->gradient_frame)
{
gtk_box_pack_start (GTK_BOX (options->tool_options.main_vbox),
options->gradient_options->gradient_frame,
FALSE, FALSE, 0);
gtk_widget_show (options->gradient_options->gradient_frame);
}
}
void
paint_options_reset (GimpToolOptions *tool_options)
{
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
GimpPaintOptions *options;
GimpContext *default_context;
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
options = (GimpPaintOptions *) tool_options;
use the passed Gimp pointer instead of using "the_gimp". 2001-12-03 Michael Natterer <mitch@gimp.org> * app/devices.c: use the passed Gimp pointer instead of using "the_gimp". * app/base/temp-buf.c: indentation. * app/gui/preferences-dialog.c: prefs_toggle_callback(): fixed segfault when trying to find the prefs_dlg widget from a menu item callback (Fixes #65757). * app/gui/offset-dialog.[ch]: fixed public prototype, include the header in the .c file. * app/gui/menus.c: some menu cleanup: moved all functions which operate on the active layer/drawable to <Image>/Layer. Renamed "Layers" to "Layer". * app/display/gimpdisplayshell.c: changed menu update function accordingly. * app/gui/image-commands.[ch] * app/gui/layers-commands.[ch]: moved stuff from image-commands.* to layers-commads.*- * app/tools/gimpblendtool.c * app/tools/gimpbrightnesscontrasttool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcurvestool.c * app/tools/gimphistogramtool.c * app/tools/gimphuesaturationtool.c * app/tools/gimplevelstool.c * app/tools/gimpposterizetool.c * app/tools/gimpthresholdtool.c * app/tools/paint_options.c * app/tools/transform_options.c * plug-ins/common/align_layers.c * plug-ins/common/autocrop.c * plug-ins/common/autostretch_hsv.c * plug-ins/common/c_astretch.c * plug-ins/common/color_enhance.c * plug-ins/common/guillotine.c * plug-ins/common/normalize.c * plug-ins/common/rotate.c * plug-ins/common/threshold_alpha.c * plug-ins/common/zealouscrop.c * plug-ins/rcm/rcm.c * plug-ins/fp/fp.c: register under <Image>/Layer, some cosmetic fixes.
2001-12-04 01:59:48 +08:00
default_context = gimp_get_default_context (tool_options->tool_info->gimp);
if (options->opacity_w)
{
gimp_context_set_opacity (GIMP_CONTEXT (options->context),
gimp_context_get_opacity (default_context));
}
if (options->paint_mode_w)
{
gimp_context_set_paint_mode (GIMP_CONTEXT (options->context),
gimp_context_get_paint_mode (default_context));
}
if (options->incremental_w)
{
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->incremental_w),
options->incremental_d);
}
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
pressure_options_reset (options->pressure_options);
gradient_options_reset (options->gradient_options);
}
/* private functions */
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
static void
pressure_options_init (GimpPressureOptions *pressure,
GimpPaintOptions *paint_options,
GType tool_type)
{
GtkWidget *wbox = NULL;
removed crap from ancient times when tools used to be an enum. 2001-02-23 Michael Natterer <mitch@gimp.org> * app/app_procs.c: removed crap from ancient times when tools used to be an enum. * app/brush_select.[ch]: cleaned up the gui and made global paint mode toggling much simpler by expanding vertically instead of reparenting. * app/context_manager.c: removed hack by using a tool manager accessor function. * app/gimpcontext.c: use the new standard tool info object. Tools also _behave_ like all other data types now (can e.g. be refreshed). * app/tools/tool.[ch] * app/tools/gimptoolinfo.[ch]: added an "identifier" which is an untranslated string with a meaningful prefix and name, e.g. "gimp:color_picker_tool". Renamed "tool_name" and "tool_desc" to "blurb" and "help", changed the constructor accordingly. Added gimp_tool_info_get_standards() to make the context work with tool refresh. * app/tools/tool_manager.[ch] * app/tools/tools.c: removed the global list of tool class structures because the tool info list is in place. Added tool_manager_register_tool_options() which calls tool_options_dialog_add() and registers the options in the global_tool_info_list. * app/tools/Makefile.am * app/tools/paint_options.[ch] * app/tools/selection_options.[ch] * app/tools/tool_options.[ch] * app/tools/tool_options_dialog.[ch]: build them all again. This is mostly the old tool options system with minor modifications to work with the new stuff. The tool options auto-update with the user context now, so there are no update functions any more. * app/gimpdnd.c * app/toolbox.c * app/tools/color_picker.c * app/tools/measure.c * app/tools/move.c: changed accordingly.
2001-02-24 05:32:47 +08:00
if (tool_type == GIMP_TYPE_AIRBRUSH_TOOL ||
tool_type == GIMP_TYPE_CLONE_TOOL ||
tool_type == GIMP_TYPE_CONVOLVE_TOOL ||
tool_type == GIMP_TYPE_DODGEBURN_TOOL ||
removed crap from ancient times when tools used to be an enum. 2001-02-23 Michael Natterer <mitch@gimp.org> * app/app_procs.c: removed crap from ancient times when tools used to be an enum. * app/brush_select.[ch]: cleaned up the gui and made global paint mode toggling much simpler by expanding vertically instead of reparenting. * app/context_manager.c: removed hack by using a tool manager accessor function. * app/gimpcontext.c: use the new standard tool info object. Tools also _behave_ like all other data types now (can e.g. be refreshed). * app/tools/tool.[ch] * app/tools/gimptoolinfo.[ch]: added an "identifier" which is an untranslated string with a meaningful prefix and name, e.g. "gimp:color_picker_tool". Renamed "tool_name" and "tool_desc" to "blurb" and "help", changed the constructor accordingly. Added gimp_tool_info_get_standards() to make the context work with tool refresh. * app/tools/tool_manager.[ch] * app/tools/tools.c: removed the global list of tool class structures because the tool info list is in place. Added tool_manager_register_tool_options() which calls tool_options_dialog_add() and registers the options in the global_tool_info_list. * app/tools/Makefile.am * app/tools/paint_options.[ch] * app/tools/selection_options.[ch] * app/tools/tool_options.[ch] * app/tools/tool_options_dialog.[ch]: build them all again. This is mostly the old tool options system with minor modifications to work with the new stuff. The tool options auto-update with the user context now, so there are no update functions any more. * app/gimpdnd.c * app/toolbox.c * app/tools/color_picker.c * app/tools/measure.c * app/tools/move.c: changed accordingly.
2001-02-24 05:32:47 +08:00
tool_type == GIMP_TYPE_ERASER_TOOL ||
tool_type == GIMP_TYPE_PAINTBRUSH_TOOL ||
tool_type == GIMP_TYPE_PENCIL_TOOL ||
tool_type == GIMP_TYPE_SMUDGE_TOOL)
{
pressure->frame = gtk_frame_new (_("Pressure Sensitivity"));
wbox = gtk_hwrap_box_new (FALSE);
gtk_wrap_box_set_aspect_ratio (GTK_WRAP_BOX (wbox), 6);
gtk_container_add (GTK_CONTAINER (pressure->frame), wbox);
gtk_widget_show (wbox);
}
/* the opacity toggle */
removed crap from ancient times when tools used to be an enum. 2001-02-23 Michael Natterer <mitch@gimp.org> * app/app_procs.c: removed crap from ancient times when tools used to be an enum. * app/brush_select.[ch]: cleaned up the gui and made global paint mode toggling much simpler by expanding vertically instead of reparenting. * app/context_manager.c: removed hack by using a tool manager accessor function. * app/gimpcontext.c: use the new standard tool info object. Tools also _behave_ like all other data types now (can e.g. be refreshed). * app/tools/tool.[ch] * app/tools/gimptoolinfo.[ch]: added an "identifier" which is an untranslated string with a meaningful prefix and name, e.g. "gimp:color_picker_tool". Renamed "tool_name" and "tool_desc" to "blurb" and "help", changed the constructor accordingly. Added gimp_tool_info_get_standards() to make the context work with tool refresh. * app/tools/tool_manager.[ch] * app/tools/tools.c: removed the global list of tool class structures because the tool info list is in place. Added tool_manager_register_tool_options() which calls tool_options_dialog_add() and registers the options in the global_tool_info_list. * app/tools/Makefile.am * app/tools/paint_options.[ch] * app/tools/selection_options.[ch] * app/tools/tool_options.[ch] * app/tools/tool_options_dialog.[ch]: build them all again. This is mostly the old tool options system with minor modifications to work with the new stuff. The tool options auto-update with the user context now, so there are no update functions any more. * app/gimpdnd.c * app/toolbox.c * app/tools/color_picker.c * app/tools/measure.c * app/tools/move.c: changed accordingly.
2001-02-24 05:32:47 +08:00
if (tool_type == GIMP_TYPE_CLONE_TOOL ||
tool_type == GIMP_TYPE_DODGEBURN_TOOL ||
tool_type == GIMP_TYPE_ERASER_TOOL ||
tool_type == GIMP_TYPE_PAINTBRUSH_TOOL ||
tool_type == GIMP_TYPE_PENCIL_TOOL)
{
pressure->opacity_w =
gtk_check_button_new_with_label (_("Opacity"));
gtk_container_add (GTK_CONTAINER (wbox), pressure->opacity_w);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pressure->opacity_w),
pressure->opacity);
gtk_widget_show (pressure->opacity_w);
g_signal_connect (pressure->opacity_w, "toggled",
G_CALLBACK (gimp_toggle_button_update),
&pressure->opacity);
}
removed crap from ancient times when tools used to be an enum. 2001-02-23 Michael Natterer <mitch@gimp.org> * app/app_procs.c: removed crap from ancient times when tools used to be an enum. * app/brush_select.[ch]: cleaned up the gui and made global paint mode toggling much simpler by expanding vertically instead of reparenting. * app/context_manager.c: removed hack by using a tool manager accessor function. * app/gimpcontext.c: use the new standard tool info object. Tools also _behave_ like all other data types now (can e.g. be refreshed). * app/tools/tool.[ch] * app/tools/gimptoolinfo.[ch]: added an "identifier" which is an untranslated string with a meaningful prefix and name, e.g. "gimp:color_picker_tool". Renamed "tool_name" and "tool_desc" to "blurb" and "help", changed the constructor accordingly. Added gimp_tool_info_get_standards() to make the context work with tool refresh. * app/tools/tool_manager.[ch] * app/tools/tools.c: removed the global list of tool class structures because the tool info list is in place. Added tool_manager_register_tool_options() which calls tool_options_dialog_add() and registers the options in the global_tool_info_list. * app/tools/Makefile.am * app/tools/paint_options.[ch] * app/tools/selection_options.[ch] * app/tools/tool_options.[ch] * app/tools/tool_options_dialog.[ch]: build them all again. This is mostly the old tool options system with minor modifications to work with the new stuff. The tool options auto-update with the user context now, so there are no update functions any more. * app/gimpdnd.c * app/toolbox.c * app/tools/color_picker.c * app/tools/measure.c * app/tools/move.c: changed accordingly.
2001-02-24 05:32:47 +08:00
/* the pressure toggle */
if (tool_type == GIMP_TYPE_AIRBRUSH_TOOL ||
tool_type == GIMP_TYPE_CLONE_TOOL ||
tool_type == GIMP_TYPE_CONVOLVE_TOOL ||
tool_type == GIMP_TYPE_DODGEBURN_TOOL ||
tool_type == GIMP_TYPE_PAINTBRUSH_TOOL ||
tool_type == GIMP_TYPE_SMUDGE_TOOL)
{
pressure->pressure_w = gtk_check_button_new_with_label (_("Hardness"));
gtk_container_add (GTK_CONTAINER (wbox), pressure->pressure_w);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pressure->pressure_w),
pressure->pressure);
gtk_widget_show (pressure->pressure_w);
g_signal_connect (pressure->pressure_w, "toggled",
G_CALLBACK (gimp_toggle_button_update),
&pressure->pressure);
}
/* the rate toggle */
removed crap from ancient times when tools used to be an enum. 2001-02-23 Michael Natterer <mitch@gimp.org> * app/app_procs.c: removed crap from ancient times when tools used to be an enum. * app/brush_select.[ch]: cleaned up the gui and made global paint mode toggling much simpler by expanding vertically instead of reparenting. * app/context_manager.c: removed hack by using a tool manager accessor function. * app/gimpcontext.c: use the new standard tool info object. Tools also _behave_ like all other data types now (can e.g. be refreshed). * app/tools/tool.[ch] * app/tools/gimptoolinfo.[ch]: added an "identifier" which is an untranslated string with a meaningful prefix and name, e.g. "gimp:color_picker_tool". Renamed "tool_name" and "tool_desc" to "blurb" and "help", changed the constructor accordingly. Added gimp_tool_info_get_standards() to make the context work with tool refresh. * app/tools/tool_manager.[ch] * app/tools/tools.c: removed the global list of tool class structures because the tool info list is in place. Added tool_manager_register_tool_options() which calls tool_options_dialog_add() and registers the options in the global_tool_info_list. * app/tools/Makefile.am * app/tools/paint_options.[ch] * app/tools/selection_options.[ch] * app/tools/tool_options.[ch] * app/tools/tool_options_dialog.[ch]: build them all again. This is mostly the old tool options system with minor modifications to work with the new stuff. The tool options auto-update with the user context now, so there are no update functions any more. * app/gimpdnd.c * app/toolbox.c * app/tools/color_picker.c * app/tools/measure.c * app/tools/move.c: changed accordingly.
2001-02-24 05:32:47 +08:00
if (tool_type == GIMP_TYPE_AIRBRUSH_TOOL ||
tool_type == GIMP_TYPE_CONVOLVE_TOOL ||
tool_type == GIMP_TYPE_SMUDGE_TOOL)
{
pressure->rate_w =
gtk_check_button_new_with_label (_("Rate"));
gtk_container_add (GTK_CONTAINER (wbox), pressure->rate_w);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pressure->rate_w),
pressure->rate);
gtk_widget_show (pressure->rate_w);
g_signal_connect (pressure->rate_w, "toggled",
G_CALLBACK (gimp_toggle_button_update),
&pressure->rate);
}
/* the size toggle */
removed crap from ancient times when tools used to be an enum. 2001-02-23 Michael Natterer <mitch@gimp.org> * app/app_procs.c: removed crap from ancient times when tools used to be an enum. * app/brush_select.[ch]: cleaned up the gui and made global paint mode toggling much simpler by expanding vertically instead of reparenting. * app/context_manager.c: removed hack by using a tool manager accessor function. * app/gimpcontext.c: use the new standard tool info object. Tools also _behave_ like all other data types now (can e.g. be refreshed). * app/tools/tool.[ch] * app/tools/gimptoolinfo.[ch]: added an "identifier" which is an untranslated string with a meaningful prefix and name, e.g. "gimp:color_picker_tool". Renamed "tool_name" and "tool_desc" to "blurb" and "help", changed the constructor accordingly. Added gimp_tool_info_get_standards() to make the context work with tool refresh. * app/tools/tool_manager.[ch] * app/tools/tools.c: removed the global list of tool class structures because the tool info list is in place. Added tool_manager_register_tool_options() which calls tool_options_dialog_add() and registers the options in the global_tool_info_list. * app/tools/Makefile.am * app/tools/paint_options.[ch] * app/tools/selection_options.[ch] * app/tools/tool_options.[ch] * app/tools/tool_options_dialog.[ch]: build them all again. This is mostly the old tool options system with minor modifications to work with the new stuff. The tool options auto-update with the user context now, so there are no update functions any more. * app/gimpdnd.c * app/toolbox.c * app/tools/color_picker.c * app/tools/measure.c * app/tools/move.c: changed accordingly.
2001-02-24 05:32:47 +08:00
if (tool_type == GIMP_TYPE_AIRBRUSH_TOOL ||
tool_type == GIMP_TYPE_CLONE_TOOL ||
tool_type == GIMP_TYPE_CONVOLVE_TOOL ||
tool_type == GIMP_TYPE_DODGEBURN_TOOL ||
tool_type == GIMP_TYPE_ERASER_TOOL ||
tool_type == GIMP_TYPE_PAINTBRUSH_TOOL ||
tool_type == GIMP_TYPE_PENCIL_TOOL)
{
pressure->size_w =
gtk_check_button_new_with_label (_("Size"));
gtk_container_add (GTK_CONTAINER (wbox), pressure->size_w);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pressure->size_w),
pressure->size);
gtk_widget_show (pressure->size_w);
g_signal_connect (pressure->size_w, "toggled",
G_CALLBACK (gimp_toggle_button_update),
&pressure->size);
}
/* the color toggle */
removed crap from ancient times when tools used to be an enum. 2001-02-23 Michael Natterer <mitch@gimp.org> * app/app_procs.c: removed crap from ancient times when tools used to be an enum. * app/brush_select.[ch]: cleaned up the gui and made global paint mode toggling much simpler by expanding vertically instead of reparenting. * app/context_manager.c: removed hack by using a tool manager accessor function. * app/gimpcontext.c: use the new standard tool info object. Tools also _behave_ like all other data types now (can e.g. be refreshed). * app/tools/tool.[ch] * app/tools/gimptoolinfo.[ch]: added an "identifier" which is an untranslated string with a meaningful prefix and name, e.g. "gimp:color_picker_tool". Renamed "tool_name" and "tool_desc" to "blurb" and "help", changed the constructor accordingly. Added gimp_tool_info_get_standards() to make the context work with tool refresh. * app/tools/tool_manager.[ch] * app/tools/tools.c: removed the global list of tool class structures because the tool info list is in place. Added tool_manager_register_tool_options() which calls tool_options_dialog_add() and registers the options in the global_tool_info_list. * app/tools/Makefile.am * app/tools/paint_options.[ch] * app/tools/selection_options.[ch] * app/tools/tool_options.[ch] * app/tools/tool_options_dialog.[ch]: build them all again. This is mostly the old tool options system with minor modifications to work with the new stuff. The tool options auto-update with the user context now, so there are no update functions any more. * app/gimpdnd.c * app/toolbox.c * app/tools/color_picker.c * app/tools/measure.c * app/tools/move.c: changed accordingly.
2001-02-24 05:32:47 +08:00
if (tool_type == GIMP_TYPE_AIRBRUSH_TOOL ||
tool_type == GIMP_TYPE_PAINTBRUSH_TOOL ||
tool_type == GIMP_TYPE_PENCIL_TOOL)
{
pressure->color_w =
gtk_check_button_new_with_label (_("Color"));
gtk_container_add (GTK_CONTAINER (wbox), pressure->color_w);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pressure->color_w),
pressure->color);
gtk_widget_show (pressure->color_w);
g_signal_connect (pressure->color_w, "toggled",
G_CALLBACK (gimp_toggle_button_update),
&pressure->color);
}
}
static void
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
pressure_options_reset (GimpPressureOptions *pressure)
{
if (pressure->opacity_w)
{
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pressure->opacity_w),
pressure->opacity_d);
}
if (pressure->pressure_w)
{
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pressure->pressure_w),
pressure->pressure_d);
}
if (pressure->rate_w)
{
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pressure->rate_w),
pressure->rate_d);
}
if (pressure->size_w)
{
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pressure->size_w),
pressure->size_d);
}
if (pressure->color_w)
{
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pressure->color_w),
pressure->color_d);
}
}
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
static void
gradient_options_init (GimpGradientOptions *gradient,
GimpPaintOptions *paint_options,
GType tool_type)
{
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
GtkWidget *table = NULL;
GtkWidget *spinbutton = NULL;
if (tool_type == GIMP_TYPE_PAINTBRUSH_TOOL)
{
gradient->fade_frame = gtk_frame_new (NULL);
table = gtk_table_new (1, 3, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (table), 2);
gtk_table_set_col_spacings (GTK_TABLE (table), 2);
gtk_container_add (GTK_CONTAINER (gradient->fade_frame), table);
gtk_widget_show (table);
gradient->use_fade_w =
gtk_check_button_new_with_label (_("Fade Out"));
gtk_frame_set_label_widget (GTK_FRAME (gradient->fade_frame),
gradient->use_fade_w);
gtk_widget_show (gradient->use_fade_w);
g_signal_connect (gradient->use_fade_w, "toggled",
G_CALLBACK (gimp_toggle_button_update),
&gradient->use_fade);
gtk_widget_set_sensitive (table, gradient->use_fade);
g_object_set_data (G_OBJECT (gradient->use_fade_w),
"set_sensitive", table);
changed "Number of Colors" to "Max Number of Colors" to clarify what this 2002-09-06 Michael Natterer <mitch@gimp.org> * app/gui/convert-dialog.c: changed "Number of Colors" to "Max Number of Colors" to clarify what this parameter does. (fixes #92194). * app/gui/menus.c: use GIMP_STOCK_INFO for "View/Info Window". Specify spibutton sizes in chars, not pixels (eek) all over the place. Also removed explicit sizes where the GtkSpinButton default size does not disturbe tabular widget layouts. * libgimpwidgets/gimpwidgets.c: removed the hardcoded width of 75 pixels in gimp_spin_button_new(). Changed gimp_scale_entry_new() and gimp_coordinates_new() to interpret their "spinbutton_width" parameters as chars if < 16, and as pixels otherwise. This gives reasonable results and doesn't cause unchanged plug-ins to suddenly have spinbuttons of dozens of chars width :) * libgimpwidgets/gimpsizeentry.c: added the same heuristic here. * libgimpwidgets/gimpquerybox.c * app/gui/color-notebook.c * app/gui/convert-dialog.c * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbrightnesscontrasttool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorpickertool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimphuesaturationtool.c * app/tools/gimpinktool.c * app/tools/gimplevelstool.c * app/tools/gimpmagnifytool.c * app/tools/gimpposterizetool.c * app/tools/gimpsmudgetool.c * app/tools/gimptexttool.c * app/tools/gimpthresholdtool.c * app/tools/paint_options.c * app/tools/selection_options.c * app/widgets/gimpbrusheditor.c * app/widgets/gimpbrushfactoryview.c * app/widgets/gimppaletteeditor.c: changed accordingly. * plug-ins/FractalExplorer/Dialogs.c * plug-ins/FractalExplorer/FractalExplorer.c * plug-ins/Lighting/lighting_ui.c * plug-ins/common/AlienMap.c * plug-ins/common/AlienMap2.c * plug-ins/common/CML_explorer.c * plug-ins/common/bumpmap.c * plug-ins/common/checkerboard.c * plug-ins/common/cubism.c * plug-ins/common/curve_bend.c * plug-ins/common/depthmerge.c * plug-ins/common/despeckle.c * plug-ins/common/diffraction.c * plug-ins/common/emboss.c * plug-ins/common/film.c * plug-ins/common/flarefx.c * plug-ins/common/fractaltrace.c * plug-ins/common/gauss_iir.c * plug-ins/common/gauss_rle.c * plug-ins/common/glasstile.c * plug-ins/common/grid.c * plug-ins/common/illusion.c * plug-ins/common/iwarp.c * plug-ins/common/jigsaw.c * plug-ins/common/lic.c * plug-ins/common/max_rgb.c * plug-ins/common/mblur.c * plug-ins/common/newsprint.c * plug-ins/common/nova.c * plug-ins/common/pixelize.c * plug-ins/common/sample_colorize.c * plug-ins/common/scatter_hsv.c * plug-ins/common/shift.c * plug-ins/common/sinus.c * plug-ins/common/sparkle.c * plug-ins/common/spread.c * plug-ins/common/tile.c * plug-ins/common/tileit.c * plug-ins/common/unsharp.c * plug-ins/common/vpropagate.c * plug-ins/common/waves.c * plug-ins/common/whirlpinch.c * plug-ins/gflare/gflare.c * plug-ins/mosaic/mosaic.c * plug-ins/rcm/rcm_dialog.c: changed accordingly, which involves removals of gtk_widget_set_size_request(spinbutton), removal of lots of explicit spinbutton sizes in gimp_scale_entry_new(), and adding of new ones because GtkSpinButton's auto-size trashed tabular layouts. Lots of cleanup & indentation while browsing the plug-ins' code. Changed spacings, moved toggle buttons into frame titles, use stock items, stuff...
2002-09-07 04:44:47 +08:00
/* the fade-out sizeentry */
spinbutton = gimp_spin_button_new (&gradient->fade_out_w,
gradient->fade_out,
1e-5, 32767.0, 1.0, 50.0, 0.0,
1.0, 0.0);
gtk_entry_set_width_chars (GTK_ENTRY (spinbutton), 6);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
_("Length:"), 1.0, 0.5,
spinbutton, 1, FALSE);
g_signal_connect (gradient->fade_out_w, "value_changed",
G_CALLBACK (gimp_double_adjustment_update),
&gradient->fade_out);
/* the fade-out unitmenu */
gradient->fade_unit_w =
gimp_unit_menu_new ("%a", gradient->fade_unit, TRUE, TRUE, TRUE);
gtk_table_attach (GTK_TABLE (table), gradient->fade_unit_w, 2, 3, 0, 1,
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
gtk_widget_show (gradient->fade_unit_w);
g_object_set_data (G_OBJECT (gradient->fade_unit_w), "set_digits",
spinbutton);
g_signal_connect (gradient->fade_unit_w, "unit_changed",
G_CALLBACK (gimp_unit_menu_update),
&gradient->fade_unit);
}
if (tool_type == GIMP_TYPE_PAINTBRUSH_TOOL)
{
gradient->gradient_frame = gtk_frame_new (NULL);
table = gtk_table_new (2, 3, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (table), 2);
gtk_table_set_col_spacings (GTK_TABLE (table), 2);
gtk_table_set_row_spacings (GTK_TABLE (table), 2);
gtk_container_add (GTK_CONTAINER (gradient->gradient_frame), table);
gtk_widget_show (table);
gradient->use_gradient_w =
gtk_check_button_new_with_label (_("Use Color from Gradient"));
gtk_frame_set_label_widget (GTK_FRAME (gradient->gradient_frame),
gradient->use_gradient_w);
gtk_widget_show (gradient->use_gradient_w);
g_signal_connect (gradient->use_gradient_w, "toggled",
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
G_CALLBACK (paint_options_gradient_toggle_callback),
paint_options);
gtk_widget_set_sensitive (table, gradient->use_gradient);
g_object_set_data (G_OBJECT (gradient->use_gradient_w), "set_sensitive",
table);
g_object_set_data (G_OBJECT (gradient->use_gradient_w),
"inverse_sensitive",
paint_options->incremental_w);
/* the gradient length scale */
changed "Number of Colors" to "Max Number of Colors" to clarify what this 2002-09-06 Michael Natterer <mitch@gimp.org> * app/gui/convert-dialog.c: changed "Number of Colors" to "Max Number of Colors" to clarify what this parameter does. (fixes #92194). * app/gui/menus.c: use GIMP_STOCK_INFO for "View/Info Window". Specify spibutton sizes in chars, not pixels (eek) all over the place. Also removed explicit sizes where the GtkSpinButton default size does not disturbe tabular widget layouts. * libgimpwidgets/gimpwidgets.c: removed the hardcoded width of 75 pixels in gimp_spin_button_new(). Changed gimp_scale_entry_new() and gimp_coordinates_new() to interpret their "spinbutton_width" parameters as chars if < 16, and as pixels otherwise. This gives reasonable results and doesn't cause unchanged plug-ins to suddenly have spinbuttons of dozens of chars width :) * libgimpwidgets/gimpsizeentry.c: added the same heuristic here. * libgimpwidgets/gimpquerybox.c * app/gui/color-notebook.c * app/gui/convert-dialog.c * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbrightnesscontrasttool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorpickertool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimphuesaturationtool.c * app/tools/gimpinktool.c * app/tools/gimplevelstool.c * app/tools/gimpmagnifytool.c * app/tools/gimpposterizetool.c * app/tools/gimpsmudgetool.c * app/tools/gimptexttool.c * app/tools/gimpthresholdtool.c * app/tools/paint_options.c * app/tools/selection_options.c * app/widgets/gimpbrusheditor.c * app/widgets/gimpbrushfactoryview.c * app/widgets/gimppaletteeditor.c: changed accordingly. * plug-ins/FractalExplorer/Dialogs.c * plug-ins/FractalExplorer/FractalExplorer.c * plug-ins/Lighting/lighting_ui.c * plug-ins/common/AlienMap.c * plug-ins/common/AlienMap2.c * plug-ins/common/CML_explorer.c * plug-ins/common/bumpmap.c * plug-ins/common/checkerboard.c * plug-ins/common/cubism.c * plug-ins/common/curve_bend.c * plug-ins/common/depthmerge.c * plug-ins/common/despeckle.c * plug-ins/common/diffraction.c * plug-ins/common/emboss.c * plug-ins/common/film.c * plug-ins/common/flarefx.c * plug-ins/common/fractaltrace.c * plug-ins/common/gauss_iir.c * plug-ins/common/gauss_rle.c * plug-ins/common/glasstile.c * plug-ins/common/grid.c * plug-ins/common/illusion.c * plug-ins/common/iwarp.c * plug-ins/common/jigsaw.c * plug-ins/common/lic.c * plug-ins/common/max_rgb.c * plug-ins/common/mblur.c * plug-ins/common/newsprint.c * plug-ins/common/nova.c * plug-ins/common/pixelize.c * plug-ins/common/sample_colorize.c * plug-ins/common/scatter_hsv.c * plug-ins/common/shift.c * plug-ins/common/sinus.c * plug-ins/common/sparkle.c * plug-ins/common/spread.c * plug-ins/common/tile.c * plug-ins/common/tileit.c * plug-ins/common/unsharp.c * plug-ins/common/vpropagate.c * plug-ins/common/waves.c * plug-ins/common/whirlpinch.c * plug-ins/gflare/gflare.c * plug-ins/mosaic/mosaic.c * plug-ins/rcm/rcm_dialog.c: changed accordingly, which involves removals of gtk_widget_set_size_request(spinbutton), removal of lots of explicit spinbutton sizes in gimp_scale_entry_new(), and adding of new ones because GtkSpinButton's auto-size trashed tabular layouts. Lots of cleanup & indentation while browsing the plug-ins' code. Changed spacings, moved toggle buttons into frame titles, use stock items, stuff...
2002-09-07 04:44:47 +08:00
spinbutton = gimp_spin_button_new (&gradient->gradient_length_w,
gradient->gradient_length,
1e-5, 32767.0, 1.0, 50.0, 0.0,
1.0, 0.0);
gtk_entry_set_width_chars (GTK_ENTRY (spinbutton), 6);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
_("Length:"), 1.0, 0.5,
spinbutton, 1, FALSE);
g_signal_connect (gradient->gradient_length_w, "value_changed",
G_CALLBACK (gimp_double_adjustment_update),
&gradient->gradient_length);
/* the gradient unitmenu */
gradient->gradient_unit_w =
gimp_unit_menu_new ("%a", gradient->gradient_unit, TRUE, TRUE, TRUE);
gtk_table_attach (GTK_TABLE (table), gradient->gradient_unit_w, 2, 3, 0, 1,
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
gtk_widget_show (gradient->gradient_unit_w);
g_object_set_data (G_OBJECT (gradient->gradient_unit_w), "set_digits",
spinbutton);
g_signal_connect (gradient->gradient_unit_w, "unit_changed",
G_CALLBACK (gimp_unit_menu_update),
&gradient->gradient_unit);
/* the gradient type */
Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning) 2001-07-24 Michael Natterer <mitch@gimp.org> Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning) * configure.in: require glib/gtk+ >= 1.3.7, commented out the gtkxmhtml stuff. From now on, you will need glib, pango, atk and gtk+ HEAD from CVS to hack or use GIMP HEAD. Beware, it crashes randomly :) * app/core/Makefile.am * app/core/gimpmarshal.list: new file plus rules to generate gimpmarshal.[ch] from it. * app/core/* * app/tools/* * app/widgets/* * libgimpwidgets/*: started to use the glib object system. All core/ objects are still gtk objects however. All signals are created using g_signal_new(). There are many gtk+ artefacts left. Finally, we will _not_ use the gtk_signal_foo() wrappers and friends any more. * app/colormaps.c * app/devices.[ch] * app/disp_callbacks.c * app/errorconsole.c * app/file-save.[ch] * app/interface.c * app/module_db.c * app/nav_window.c * app/ops_buttons.c * app/scroll.c * app/user_install.c * app/gui/about-dialog.c * app/gui/brush-editor.c * app/gui/brushes-commands.c * app/gui/color-notebook.c * app/gui/colormap-dialog.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/file-commands.c * app/gui/file-dialog-utils.c * app/gui/file-new-dialog.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.c * app/gui/gradient-editor.c * app/gui/gradients-commands.c * app/gui/image-commands.c * app/gui/info-dialog.[ch] * app/gui/layer-select.c * app/gui/layers-commands.c * app/gui/menus.c * app/gui/offset-dialog.c * app/gui/palette-editor.c * app/gui/palettes-commands.c * app/gui/patterns-commands.c * app/gui/preferences-dialog.c * app/gui/resize-dialog.[ch] * app/gui/splash.c * app/gui/tips-dialog.c * app/gui/tool-options-dialog.c * app/gui/toolbox.c * app/gui/tools-commands.c * libgimp/gimpbrushmenu.c * libgimp/gimpmenu.c * libgimp/gimppatternmenu.c * libgimp/gimpui.c * libgimpbase/gimpenv.c: tons and tons of changes like "const gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete and currently disables), lots of s/gtk_signal/g_signal/, removal/replacement of deprecated stuff, s/GtkSignalFunc/GCallback/ and lots of small changes and fixes while I was on it, zillions of warnings left... * modules/Makefile.am: disabled the water color selector temporarily (XInput issues). * plug-ins/Makefile.am * plug-ins/common/.cvsignore * plug-ins/common/Makefile.am * plug-ins/common/plugin-defs.pl: simply excluded all plug-ins which did not build (including Script-Fu). They are trivial to fix.
2001-07-25 05:27:11 +08:00
gradient->gradient_type_w =
gimp_enum_option_menu_new (GIMP_TYPE_GRADIENT_PAINT_MODE,
G_CALLBACK (gimp_menu_item_update),
&gradient->gradient_type);
gimp_option_menu_set_history (GTK_OPTION_MENU (gradient->gradient_type_w),
GINT_TO_POINTER (gradient->gradient_type));
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1,
_("Type:"), 1.0, 0.5,
gradient->gradient_type_w, 2,
TRUE);
gtk_widget_show (table);
}
}
static void
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
gradient_options_reset (GimpGradientOptions *gradient)
{
GtkWidget *spinbutton;
gint digits;
if (gradient->use_fade_w)
{
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gradient->use_fade_w),
gradient->use_fade_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (gradient->fade_out_w),
gradient->fade_out_d);
gimp_unit_menu_set_unit (GIMP_UNIT_MENU (gradient->fade_unit_w),
gradient->fade_unit_d);
digits = ((gradient->fade_unit_d == GIMP_UNIT_PIXEL) ? 0 :
((gradient->fade_unit_d == GIMP_UNIT_PERCENT) ? 2 :
(MIN (6, MAX (3, gimp_unit_get_digits (gradient->fade_unit_d))))));
spinbutton = g_object_get_data (G_OBJECT (gradient->fade_unit_w),
changed "Number of Colors" to "Max Number of Colors" to clarify what this 2002-09-06 Michael Natterer <mitch@gimp.org> * app/gui/convert-dialog.c: changed "Number of Colors" to "Max Number of Colors" to clarify what this parameter does. (fixes #92194). * app/gui/menus.c: use GIMP_STOCK_INFO for "View/Info Window". Specify spibutton sizes in chars, not pixels (eek) all over the place. Also removed explicit sizes where the GtkSpinButton default size does not disturbe tabular widget layouts. * libgimpwidgets/gimpwidgets.c: removed the hardcoded width of 75 pixels in gimp_spin_button_new(). Changed gimp_scale_entry_new() and gimp_coordinates_new() to interpret their "spinbutton_width" parameters as chars if < 16, and as pixels otherwise. This gives reasonable results and doesn't cause unchanged plug-ins to suddenly have spinbuttons of dozens of chars width :) * libgimpwidgets/gimpsizeentry.c: added the same heuristic here. * libgimpwidgets/gimpquerybox.c * app/gui/color-notebook.c * app/gui/convert-dialog.c * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbrightnesscontrasttool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorpickertool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimphuesaturationtool.c * app/tools/gimpinktool.c * app/tools/gimplevelstool.c * app/tools/gimpmagnifytool.c * app/tools/gimpposterizetool.c * app/tools/gimpsmudgetool.c * app/tools/gimptexttool.c * app/tools/gimpthresholdtool.c * app/tools/paint_options.c * app/tools/selection_options.c * app/widgets/gimpbrusheditor.c * app/widgets/gimpbrushfactoryview.c * app/widgets/gimppaletteeditor.c: changed accordingly. * plug-ins/FractalExplorer/Dialogs.c * plug-ins/FractalExplorer/FractalExplorer.c * plug-ins/Lighting/lighting_ui.c * plug-ins/common/AlienMap.c * plug-ins/common/AlienMap2.c * plug-ins/common/CML_explorer.c * plug-ins/common/bumpmap.c * plug-ins/common/checkerboard.c * plug-ins/common/cubism.c * plug-ins/common/curve_bend.c * plug-ins/common/depthmerge.c * plug-ins/common/despeckle.c * plug-ins/common/diffraction.c * plug-ins/common/emboss.c * plug-ins/common/film.c * plug-ins/common/flarefx.c * plug-ins/common/fractaltrace.c * plug-ins/common/gauss_iir.c * plug-ins/common/gauss_rle.c * plug-ins/common/glasstile.c * plug-ins/common/grid.c * plug-ins/common/illusion.c * plug-ins/common/iwarp.c * plug-ins/common/jigsaw.c * plug-ins/common/lic.c * plug-ins/common/max_rgb.c * plug-ins/common/mblur.c * plug-ins/common/newsprint.c * plug-ins/common/nova.c * plug-ins/common/pixelize.c * plug-ins/common/sample_colorize.c * plug-ins/common/scatter_hsv.c * plug-ins/common/shift.c * plug-ins/common/sinus.c * plug-ins/common/sparkle.c * plug-ins/common/spread.c * plug-ins/common/tile.c * plug-ins/common/tileit.c * plug-ins/common/unsharp.c * plug-ins/common/vpropagate.c * plug-ins/common/waves.c * plug-ins/common/whirlpinch.c * plug-ins/gflare/gflare.c * plug-ins/mosaic/mosaic.c * plug-ins/rcm/rcm_dialog.c: changed accordingly, which involves removals of gtk_widget_set_size_request(spinbutton), removal of lots of explicit spinbutton sizes in gimp_scale_entry_new(), and adding of new ones because GtkSpinButton's auto-size trashed tabular layouts. Lots of cleanup & indentation while browsing the plug-ins' code. Changed spacings, moved toggle buttons into frame titles, use stock items, stuff...
2002-09-07 04:44:47 +08:00
"set_digits");
gtk_spin_button_set_digits (GTK_SPIN_BUTTON (spinbutton), digits);
}
if (gradient->use_gradient_w)
{
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gradient->use_gradient_w),
gradient->use_gradient_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (gradient->gradient_length_w),
gradient->gradient_length_d);
gimp_unit_menu_set_unit (GIMP_UNIT_MENU (gradient->gradient_unit_w),
gradient->gradient_unit_d);
digits = ((gradient->gradient_unit_d == GIMP_UNIT_PIXEL) ? 0 :
((gradient->gradient_unit_d == GIMP_UNIT_PERCENT) ? 2 :
(MIN (6, MAX (3, gimp_unit_get_digits (gradient->gradient_unit_d))))));
spinbutton = g_object_get_data (G_OBJECT (gradient->gradient_unit_w),
changed "Number of Colors" to "Max Number of Colors" to clarify what this 2002-09-06 Michael Natterer <mitch@gimp.org> * app/gui/convert-dialog.c: changed "Number of Colors" to "Max Number of Colors" to clarify what this parameter does. (fixes #92194). * app/gui/menus.c: use GIMP_STOCK_INFO for "View/Info Window". Specify spibutton sizes in chars, not pixels (eek) all over the place. Also removed explicit sizes where the GtkSpinButton default size does not disturbe tabular widget layouts. * libgimpwidgets/gimpwidgets.c: removed the hardcoded width of 75 pixels in gimp_spin_button_new(). Changed gimp_scale_entry_new() and gimp_coordinates_new() to interpret their "spinbutton_width" parameters as chars if < 16, and as pixels otherwise. This gives reasonable results and doesn't cause unchanged plug-ins to suddenly have spinbuttons of dozens of chars width :) * libgimpwidgets/gimpsizeentry.c: added the same heuristic here. * libgimpwidgets/gimpquerybox.c * app/gui/color-notebook.c * app/gui/convert-dialog.c * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbrightnesscontrasttool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorpickertool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimphuesaturationtool.c * app/tools/gimpinktool.c * app/tools/gimplevelstool.c * app/tools/gimpmagnifytool.c * app/tools/gimpposterizetool.c * app/tools/gimpsmudgetool.c * app/tools/gimptexttool.c * app/tools/gimpthresholdtool.c * app/tools/paint_options.c * app/tools/selection_options.c * app/widgets/gimpbrusheditor.c * app/widgets/gimpbrushfactoryview.c * app/widgets/gimppaletteeditor.c: changed accordingly. * plug-ins/FractalExplorer/Dialogs.c * plug-ins/FractalExplorer/FractalExplorer.c * plug-ins/Lighting/lighting_ui.c * plug-ins/common/AlienMap.c * plug-ins/common/AlienMap2.c * plug-ins/common/CML_explorer.c * plug-ins/common/bumpmap.c * plug-ins/common/checkerboard.c * plug-ins/common/cubism.c * plug-ins/common/curve_bend.c * plug-ins/common/depthmerge.c * plug-ins/common/despeckle.c * plug-ins/common/diffraction.c * plug-ins/common/emboss.c * plug-ins/common/film.c * plug-ins/common/flarefx.c * plug-ins/common/fractaltrace.c * plug-ins/common/gauss_iir.c * plug-ins/common/gauss_rle.c * plug-ins/common/glasstile.c * plug-ins/common/grid.c * plug-ins/common/illusion.c * plug-ins/common/iwarp.c * plug-ins/common/jigsaw.c * plug-ins/common/lic.c * plug-ins/common/max_rgb.c * plug-ins/common/mblur.c * plug-ins/common/newsprint.c * plug-ins/common/nova.c * plug-ins/common/pixelize.c * plug-ins/common/sample_colorize.c * plug-ins/common/scatter_hsv.c * plug-ins/common/shift.c * plug-ins/common/sinus.c * plug-ins/common/sparkle.c * plug-ins/common/spread.c * plug-ins/common/tile.c * plug-ins/common/tileit.c * plug-ins/common/unsharp.c * plug-ins/common/vpropagate.c * plug-ins/common/waves.c * plug-ins/common/whirlpinch.c * plug-ins/gflare/gflare.c * plug-ins/mosaic/mosaic.c * plug-ins/rcm/rcm_dialog.c: changed accordingly, which involves removals of gtk_widget_set_size_request(spinbutton), removal of lots of explicit spinbutton sizes in gimp_scale_entry_new(), and adding of new ones because GtkSpinButton's auto-size trashed tabular layouts. Lots of cleanup & indentation while browsing the plug-ins' code. Changed spacings, moved toggle buttons into frame titles, use stock items, stuff...
2002-09-07 04:44:47 +08:00
"set_digits");
gtk_spin_button_set_digits (GTK_SPIN_BUTTON (spinbutton), digits);
gradient->gradient_type = gradient->gradient_type_d;
gtk_option_menu_set_history (GTK_OPTION_MENU (gradient->gradient_type_w),
gradient->gradient_type_d);
}
}
static void
paint_options_opacity_adjustment_update (GtkAdjustment *adjustment,
gpointer data)
{
g_signal_handlers_block_by_func (data,
paint_options_opacity_changed,
adjustment);
gimp_context_set_opacity (GIMP_CONTEXT (data),
adjustment->value / 100);
g_signal_handlers_unblock_by_func (data,
paint_options_opacity_changed,
adjustment);
}
static void
paint_options_opacity_changed (GimpContext *context,
gdouble opacity,
gpointer data)
{
g_signal_handlers_block_by_func (data,
paint_options_opacity_adjustment_update,
context);
gtk_adjustment_set_value (GTK_ADJUSTMENT (data), opacity * 100);
g_signal_handlers_unblock_by_func (data,
paint_options_opacity_adjustment_update,
context);
}
static void
paint_options_paint_mode_update (GtkWidget *widget,
gpointer data)
{
app/core/Makefile.am new file that holds enums that are registered with 2001-12-08 Sven Neumann <sven@gimp.org> * app/core/Makefile.am * app/core/core-enums.h: new file that holds enums that are registered with the type system and is used to generate core-enums.c. * app/core/core-types.h: include core-enums.h * app/base/base-types.h: namespace cleanup. Prefix all enumeration types with Gimp and their values with GIMP. Moved GimpLayerModeEffects enum ... * app/base/base-enums.h: ... here. * app/image_map.c * app/base/temp-buf.c * app/core/gimpcontext.[ch] * app/core/gimpdrawable-transform.c * app/core/gimpdrawable.c * app/core/gimpedit.c * app/core/gimpimage-mask.c * app/core/gimpimage-merge.c * app/core/gimpimage-new.c * app/core/gimpimage-projection.c * app/core/gimpimage.[ch] * app/core/gimplayer.[ch] * app/display/gimpdisplayshell-dnd.c * app/display/gimpdisplayshell-render.c * app/gui/brush-select.c * app/gui/layers-commands.c * app/gui/preferences-dialog.c * app/gui/toolbox.c * app/paint-funcs/paint-funcs.[ch] * app/tools/gimpconvolvetool.c * app/tools/gimperasertool.c * app/tools/gimpiscissorstool.c * app/tools/gimppainttool.[ch] * app/tools/gimptexttool.c * app/tools/paint_options.c * app/widgets/gimplayerlistview.c * app/widgets/gimpwidgets-constructors.[ch] * app/xcf/xcf-load.c * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/brushes.pdb * tools/pdbgen/pdb/color.pdb * tools/pdbgen/pdb/layer.pdb * tools/pdbgen/pdb/tools.pdb: changed accordingly. * libgimpbase/gimpbasetypes.h: no need to chop GIMP prefix off the enums any longer. * app/pdb/brush_select_cmds.c * app/pdb/brushes_cmds.c * app/pdb/color_cmds.c * app/pdb/layer_cmds.c * app/pdb/message_cmds.c * app/pdb/procedural_db_cmds.c * app/pdb/tools_cmds.c * libgimp/gimpenums.h * plug-ins/script-fu/script-fu-constants.c * tools/pdbgen/enums.pl: regenerated. * app/gimprc.c: removed code to parse for "plug_in" keyword which was left over from some very early gimp days. * app/plug-in/plug-in.[ch]: removed now unused function plug_in_add().
2001-12-09 07:12:59 +08:00
GimpLayerModeEffects paint_mode;
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
GimpPaintOptions *options;
paint_mode = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget),
"gimp-item-data"));
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
options = (GimpPaintOptions *) data;
g_signal_handlers_block_by_func (options->context,
paint_options_paint_mode_changed,
options->paint_mode_w);
gimp_context_set_paint_mode (GIMP_CONTEXT (options->context), paint_mode);
g_signal_handlers_unblock_by_func (options->context,
paint_options_paint_mode_changed,
options->paint_mode_w);
}
static void
app/core/Makefile.am new file that holds enums that are registered with 2001-12-08 Sven Neumann <sven@gimp.org> * app/core/Makefile.am * app/core/core-enums.h: new file that holds enums that are registered with the type system and is used to generate core-enums.c. * app/core/core-types.h: include core-enums.h * app/base/base-types.h: namespace cleanup. Prefix all enumeration types with Gimp and their values with GIMP. Moved GimpLayerModeEffects enum ... * app/base/base-enums.h: ... here. * app/image_map.c * app/base/temp-buf.c * app/core/gimpcontext.[ch] * app/core/gimpdrawable-transform.c * app/core/gimpdrawable.c * app/core/gimpedit.c * app/core/gimpimage-mask.c * app/core/gimpimage-merge.c * app/core/gimpimage-new.c * app/core/gimpimage-projection.c * app/core/gimpimage.[ch] * app/core/gimplayer.[ch] * app/display/gimpdisplayshell-dnd.c * app/display/gimpdisplayshell-render.c * app/gui/brush-select.c * app/gui/layers-commands.c * app/gui/preferences-dialog.c * app/gui/toolbox.c * app/paint-funcs/paint-funcs.[ch] * app/tools/gimpconvolvetool.c * app/tools/gimperasertool.c * app/tools/gimpiscissorstool.c * app/tools/gimppainttool.[ch] * app/tools/gimptexttool.c * app/tools/paint_options.c * app/widgets/gimplayerlistview.c * app/widgets/gimpwidgets-constructors.[ch] * app/xcf/xcf-load.c * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/brushes.pdb * tools/pdbgen/pdb/color.pdb * tools/pdbgen/pdb/layer.pdb * tools/pdbgen/pdb/tools.pdb: changed accordingly. * libgimpbase/gimpbasetypes.h: no need to chop GIMP prefix off the enums any longer. * app/pdb/brush_select_cmds.c * app/pdb/brushes_cmds.c * app/pdb/color_cmds.c * app/pdb/layer_cmds.c * app/pdb/message_cmds.c * app/pdb/procedural_db_cmds.c * app/pdb/tools_cmds.c * libgimp/gimpenums.h * plug-ins/script-fu/script-fu-constants.c * tools/pdbgen/enums.pl: regenerated. * app/gimprc.c: removed code to parse for "plug_in" keyword which was left over from some very early gimp days. * app/plug-in/plug-in.[ch]: removed now unused function plug_in_add().
2001-12-09 07:12:59 +08:00
paint_options_paint_mode_changed (GimpContext *context,
GimpLayerModeEffects paint_mode,
gpointer data)
{
gimp_option_menu_set_history (GTK_OPTION_MENU (data),
GINT_TO_POINTER (paint_mode));
}
Separated tool_options creation from tool registration so we don't 2002-06-17 Michael Natterer <mitch@gimp.org> Separated tool_options creation from tool registration so we don't implicitly create widgets before gui_init(): * libgimptool/gimptooltypes.h: removed GimpToolOptionsNewFunc typedef here... * app/core/core-types.h: ...and added it here. * libgimpproxy/gimpproxytypes.h: regenerated. * app/core/gimptoolinfo.[ch]: added a GimpToolOptionsNewFunc pointer to remember the constructor. Fixed the finalize() method (bug was never noticed because we leaked all tool infos) * app/tools/tool_manager.[ch]: moved tool_options creation to the new function tool_manager_restore(). Unref the tool infos after adding them to their container. Added "brush" and "gradient" to the context properties which are defined for tool contexts. * app/app_procs.c: call tool_manager_restore() after gui_init(). * app/gui/gui.c: removed the hack introduced recently and call render_setup() in gui_init() again, not in gui_themes_init(). Use the correct contexts now that they are properly initialized at the time of tool_options creation: * app/tools/gimpblendtool.c: use tool_info->context, not gimp_get_user_context() to get/set the tool's gradient. * app/paint/gimppaintcore.[ch] (gimp_paint_core_start): added a GimpPaintOptions paramater and get the brush to use from paint_options->context (instead of gimp_get_current_context()). * app/paint/gimppaintcore-stroke.c * app/tools/gimppainttool.c: changed accordingly. * app/tools/paint_options.c: added a brush preview to the paint options.
2002-06-17 18:34:28 +08:00
static void
paint_options_brush_clicked (GtkWidget *widget,
gpointer data)
{
GtkWidget *toplevel;
toplevel = gtk_widget_get_toplevel (widget);
if (GIMP_IS_DOCK (toplevel))
gimp_dialog_factory_dialog_raise (GIMP_DOCK (toplevel)->dialog_factory,
"gimp-brush-grid", -1);
}
static void
Made the paint tool PDB wrappers work again (a bit at least...) 2002-02-21 Michael Natterer <mitch@gimp.org> Made the paint tool PDB wrappers work again (a bit at least...) * app/Makefile.am: changed linking order. libtool sucks. * app/undo.c: check if active_tool is a GimpPaintTool before casting it. * app/paint/Makefile.am * app/paint/paint-types.h: added new files/types. * app/paint/gimppaintoptions.[ch]: new files cut out of tools/paint_options.h. Prefixed everything with "Gimp". There is still GtkWidget* cruft hanging around in the structs... * app/paint/gimppaintcore-stroke.[ch]: utility function which paints a stroke array. Needed for the PDB wrappers. * app/paint/gimpairbrush.[ch] * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: added *_options_new() functions which create correctly initialized options structures without widgets. * app/tools/paint_options.[ch]: removed the options struct definitions and value initialisations. * app/tools/gimpairbrushtool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppainttool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: changed all paint_options functions accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all #if 0'ed non_gui functions. * tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke(). We currently leak all paint_options structs created by the PDB wrappers, more stuff to come... * app/pdb/paint_tools_cmds.c: regenerated.
2002-02-22 00:02:30 +08:00
paint_options_gradient_toggle_callback (GtkWidget *widget,
GimpPaintOptions *options)
{
gimp_toggle_button_update (widget, &options->gradient_options->use_gradient);
if (options->gradient_options->use_gradient)
{
options->incremental_save = options->incremental;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->incremental_w),
TRUE);
}
else
{
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->incremental_w),
options->incremental_save);
}
}