Michael Natterer
eeec3cedb8
Added object properties for almost all tool_options values and registered
...
2003-02-07 Michael Natterer <mitch@gimp.org>
Added object properties for almost all tool_options values
and registered lots of enums with the type system:
Part I (enum and type cleanup):
* app/core/core-enums.[ch]
* app/core/core-types.h: removed InternalOrientaionType and
register GimpOrientationType. Register GimpChannelOps.
Removed GimpToolOptionsGUIFunc.
* app/xcf/xcf-private.h: added XcfOrientationType with the
same values as the old InternalOrientationType
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c: translate between GimpOrientationType and
XcfOrientationType.
* app/core/gimpdrawable-transform-utils.[ch]
* app/core/gimpdrawable-transform.[ch]
* app/core/gimpimage-crop.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-guides.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-scale.c
* app/core/gimpimage.h
* app/display/gimpdisplayshell.c
* tools/pdbgen/stddefs.pdb
* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.
* app/pdb/guides_cmds.c
* app/pdb/transform_tools_cmds.c
* libgimp/gimpenums.h
* libgimpproxy/gimpproxytypes.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
* libgimptool/gimptoolenums.[ch]: added GimpTransformGridType.
* libgimptool/gimptooltypes.h: removed GimpToolOptionsResetFunc,
added GimpToolOptionsGUIFunc.
Part II (tool options changes):
* app/config/gimpconfig-utils.c (gimp_config_reset_properties):
don't reset object properties because they have NULL as default
value.
* app/widgets/gimppropwidgets.[ch]: added
gimp_prop_[enum|boolean]_radio_frame_new(),
gimp_prop_paint_mode_menu_new() and gimp_prop_scale_entry_new(),
which are all needed by the new tool options GUI code.
* app/tools/tool_options.[ch]: removed the "reset_func" since
the virtual reset() method is used now.
* app/paint/gimpairbrushoptions.[ch]
* app/paint/gimpcloneoptions.[ch]
* app/paint/gimpconvolveoptions.[ch]
* app/paint/gimpdodgeburnoptions.[ch]
* app/paint/gimperaseroptions.[ch]
* app/paint/gimppaintoptions.[ch]
* app/paint/gimpsmudgeoptions.[ch]: added properties all over the
place and removed the widget and default_value members from
the structs. Renamed some values (e.g. s/type/clone_type/).
Don't #include <gtk/gtk.h>.
* app/paint/gimpairbrush.c
* app/paint/gimpclone.c
* app/paint/gimpconvolve.c
* app/paint/gimpdodgeburn.c
* app/paint/gimperaser.c
* app/paint/gimppaintbrush.c
* app/paint/gimppaintcore-stroke.c
* app/paint/gimppaintcore.c
* app/paint/gimppencil.c
* app/paint/gimpsmudge.c
* app/paint/paint-types.h
* app/paint/paint.c: changed accordingly. Don't #include <gtk/gtk.h>.
* tools/pdbgen/pdb/paint_tools.pdb: changed accordingly.
* app/pdb/paint_tools_cmds.c: regenerated.
* app/tools/gimpblendoptions.[ch]
* app/tools/gimpbucketfilloptions.[ch]
* app/tools/gimpcolorpickeroptions.[ch]
* app/tools/gimpcropoptions.[ch]
* app/tools/gimpflipoptions.[ch]
* app/tools/gimpinkoptions.c
* app/tools/gimpmagnifyoptions.[ch]
* app/tools/gimpmeasureoptions.[ch]
* app/tools/gimpmoveoptions.[ch]
* app/tools/gimptextoptions.c
* app/tools/paint_options.[ch]
* app/tools/selection_options.[ch]
* app/tools/transform_options.[ch]: ditto: added properties and
removed widget and default_value stuff. Removed most reset functions.
Use gimp_prop widgets all over the place, renamed some values
as above.
* app/tools/Makefile.am
* app/tools/gimpairbrushtool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmovetool.c
* app/tools/gimpselectiontool.c
* app/tools/gimpsheartool.c
* app/tools/gimpsmudgetool.c
* app/tools/gimptransformtool.c
* app/tools/gimpvectoroptions.c: changed accordingly. Ported
the paint_options GUI constructors to gimp_prop widgets.
* app/widgets/gimpselectioneditor.c
* app/gui/tool-options-dialog.c: changed accordingly.
2003-02-07 17:12:21 +00:00
Michael Natterer
aa9f82d127
Made GimpToolOptions a GimpContext subclass and objectified all tool
...
2003-02-05 Michael Natterer <mitch@gimp.org>
Made GimpToolOptions a GimpContext subclass and objectified
all tool options types.
* app/core/core-types.h: replaced GimpToolOptionsNewFunc by
GimpToolOptionsGUIFunc.
* libgimpproxy/gimpproxytypes.h: regenerated.
* app/core/gimppaintinfo.[ch]: added "GType paint_options_type".
* app/core/gimptoolinfo.[ch]: added "GType tool_options_type",
removed tool_info->context since GimpToolOptions are a GimpContext
now. Added "gboolean use_context" as a temp_hack.
* libgimptool/gimptooltypes.h: added the tool_options_type to
the tool registering callback.
* app/tools/tool_options.[ch]: is a real GimpContext subclass now.
* app/paint/paint-types.h
* app/paint/paint.c: added the paint_options_type to the paint
registering stuff.
* app/paint/gimppaintoptions.[ch]: is a real GimpToolOptions
subclass now.
* app/paint/Makefile.am
* app/paint/gimpairbrushoptions.[ch]
* app/paint/gimpcloneoptions.[ch]
* app/paint/gimpconvolveoptions.[ch]
* app/paint/gimpdodgeburnoptions.[ch]
* app/paint/gimperaseroptions.[ch]
* app/paint/gimpsmudgeoptions.[ch]: new files holding
GimpPaintOptions subclasses.
* 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.c
* app/paint/gimppencil.[ch]
* app/paint/gimpsmudge.[ch]: removed paint options stuff, lots
of related changed & cleanups.
* tools/pdbgen/pdb/paint_tools.pdb: changed accordingly.
* app/pdb/paint_tools_cmds.c: regenerated.
* app/tools/Makefile.am
* app/tools/gimpblendoptions.[ch]
* app/tools/gimpbucketfilloptions.[ch]
* app/tools/gimpcolorpickeroptions.[ch]
* app/tools/gimpcropoptions.[ch]
* app/tools/gimpflipoptions.[ch]
* app/tools/gimpinkoptions.[ch]
* app/tools/gimpmagnifyoptions.[ch]
* app/tools/gimpmeasureoptions.[ch]
* app/tools/gimpmoveoptions.[ch]
* app/tools/gimptextoptions.[ch]
* app/tools/gimpvectoroptions.[ch]: new files holding the various
tool options classes.
* app/tools/selection_options.[ch]
* app/tools/transform_options.[ch]: made them objects.
* app/tools/paint_options.[ch]: contains only the paint_options
GUI and reset stuff.
* app/tools/tools-types.h: removed SelectionOptions typedef for
now.
* app/tools/[all tools]: removed the tool options stuff except
some GUI constructors. Tons of related changes.
* app/tools/tool_manager.[ch]: changed tool registration / restore /
switching accordingly.
* app/widgets/gimpdrawablelistview.c
* app/widgets/gimpselectioneditor.c: changed accordingly.
2003-02-05 14:39:40 +00:00
Michael Natterer
a3f44d8b0f
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 10:34:28 +00:00
Michael Natterer
b6c56ff9ac
app/Makefile.am removed.
...
2002-05-07 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/nav_window.[ch]: removed.
* app/display/Makefile.am
* app/display/display-types.h
* app/display/gimpnavigationview.[ch]: new widget partially based
on the removed nav_window.
* libgimpproxy/gimpproxytypes.h: regnenerated.
* app/display/gimpdisplay-foreach.[ch]: removed
gdisplays_nav_preview_resized(). The new config system will allow
us to get notified of changes.
* app/display/gimpdisplayshell.[ch]: added "scaled" and "scrolled"
signals.
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-scroll.c: emit "scaled" and
"scrolled" appropriately. Removed nav_window stuff.
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/menus.c: made the navigation dialog dockable.
* app/gui/view-commands.c: changed the nav_dialog callback accordingly.
* app/gui/preferences-dialog.c
* app/gimprc.[ch]
* app/config/gimpguiconfig.[ch]: removed "nav_window_per_display"
as it's now a dockable and it's state is saved in sessionrc.
* app/widgets/gimpnavigationpreview.[ch]: added context sensitive
mouse cursors.
* app/widgets/gimpimagedock.c: made it capable of holding
display-related dialogs (like GimpNavigationView) by connecting
to the context's "display_changed" signal.
* app/widgets/widgets-types.h: removed inclusion of
"display/display-types.h".
* app/widgets/gimpbufferview.c
* app/widgets/gimpchannellistview.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponentlistitem.c
* app/widgets/gimpdocumentview.c
* app/widgets/gimpdrawablelistitem.c
* app/widgets/gimpdrawablelistview.c
* app/widgets/gimpitemlistitem.c
* app/widgets/gimpitemlistview.c
* app/widgets/gimplayerlistitem.c
* app/widgets/gimplayerlistview.c
* app/widgets/gimppreview.c
* app/widgets/gimpvectorslistview.c: warn about inclusion of
"display/display-types.h".
2002-05-07 16:23:14 +00:00
Michael Natterer
a74a8997b4
devel-docs/Makefile.am new file documenting the core's include policy.
...
2002-05-03 Michael Natterer <mitch@gimp.org>
* devel-docs/Makefile.am
* devel-docs/includes.txt: new file documenting the core's
include policy.
* HACKING: mention it here.
* libgimptool/gimptooltypes.h: removed GimpToolOptions here.
* app/core/core-types.h: and added it here. This is a temp hack
needed because GimpToolInfo needs to know the GimpToolOptions
type.
* libgimpproxy/gimpproxytypes.h: regenerated.
* libgimptool/gimptoolmodule.h: don't include gimptooltypes.h here...
* libgimptool/gimptoolmodule.c: ...but here.
* app/config/gimpconfig-params.c: include "libgimpbase/gimpbase.h"
entirely, not single files from it.
* app/core/gimp.c
* app/core/gimpcontext.c
* app/core/gimpcoreconfig.c
* app/core/gimpdatafactory.c
* app/core/gimpdocuments.c
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpdrawable-offset.c
* app/core/gimpdrawable-transform.c
* app/core/gimpdrawable.c
* app/core/gimpedit.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-crop.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-guides.c
* app/core/gimpimage-mask.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-new.c
* app/core/gimpimage-projection.c
* app/core/gimpimage-qmask.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-scale.c
* app/core/gimpimage.c
* app/core/gimpitem.c
* app/core/gimpmodules.c
* app/core/gimppaintinfo.c
* app/core/gimpparasite.c
* app/core/gimppreviewcache.c
* app/core/gimptoolinfo.c
* app/core/gimpunit.c: include "core-types.h" and no other types file.
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c: include "tools/tools-types.h"
instead of "libgimptool/gimptooltypes.h", warn about inclusion
on "gui/gui-types.h"
* app/file/file-open.c
* app/file/file-save.c: don't include "libgimptool/gimptooltypes.h".
* app/gui/about-dialog.c
* app/gui/brush-select.c
* app/gui/brushes-commands.c
* app/gui/color-select.c
* app/gui/data-commands.c
* app/gui/device-status-dialog.c
* app/gui/dialogs.c
* app/gui/gradients-commands.c
* app/gui/help-commands.c
* app/gui/info-window.c
* app/gui/palettes-commands.c
* app/gui/patterns-commands.c
* app/gui/resize-dialog.c
* app/gui/tips-dialog.c
* app/gui/tool-options-dialog.c: include "gui-types.h" and no
other types file.
* app/paint/gimpairbrush.c
* app/paint/gimpclone.c
* app/paint/gimpconvolve.c
* app/paint/gimpdodgeburn.c
* app/paint/gimperaser.c
* app/paint/gimppaintbrush.c
* app/paint/gimppaintcore-stroke.c
* app/paint/gimppaintcore.c
* app/paint/gimppaintoptions.c
* app/paint/gimppencil.c
* app/paint/gimpsmudge.c
* app/paint/paint.c: include "paint-types.h" and no other types file.
* app/pdb/pdb-types.h: don't include "libgimptool/gimptooltypes.h".
* app/plug-in/plug-in-progress.c: warn about inclusion of
"display/display-types.h"
* app/tools/tools-types.h: include "libgimptool/gimptooltypes.h".
* app/tools/gimpairbrushtool.c
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimpdrawtool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpinktool.c
* app/tools/gimplevelstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppaintbrushtool.c
* app/tools/gimppainttool.c
* app/tools/gimppathtool.c
* app/tools/gimppenciltool.c
* app/tools/gimpperspectivetool.c
* app/tools/gimpposterizetool.c
* app/tools/gimprectselecttool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpselectiontool.c
* app/tools/gimpsheartool.c
* app/tools/gimpsmudgetool.c
* app/tools/gimptexttool.c
* app/tools/gimpthresholdtool.c
* app/tools/gimptoolcontrol.c
* app/tools/gimptoolcontrol.h
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool.c
* app/tools/tools.c: include "tools-types.h" and no other types file,
warn about inclusion of "gui/gui-types.h".
* app/widgets/gimpcolorpanel.c
* app/widgets/gimptoolbox-color-area.c: warn about inclusion of
"gui/gui-types.h".
* app/xcf/xcf-load.c
* app/xcf/xcf.c: don't include "libgimptool/gimptooltypes.h".
Split tool-safe-mode up in two files, one including libgimpproxy,
one libgimp.
* plug-ins/tools/Makefile.am
* plug-ins/tools/tool-safe-mode-plug-in.[ch]: new files including
libgimp/ stuff only.
* plug-ins/tools/tool-safe-mode.[ch]: include libgimpproxy/ and
libgimptool/ but don't include libgimp/ because of conflicting
declarations.
Unrelated:
* app/tools/gimpclonetool.c: create the clone core so we don't crash.
* app/gui/file-open-dialog.c: changed the way we create previews
so that only out-of-date previews are created on a click in the
preview area. Unconditional creation can still be forced by
<Ctrl>+click. Changed the tooltip to document this.
2002-05-03 12:45:22 +00:00
Nate Summers
00feb59a4c
app/core/core-types.h moved GimpToolInfo back into the core.
...
* app/core/core-types.h
* libgimptool/gimptooltypes.h: moved GimpToolInfo back into the core.
* libgimptool/gimptoolcontrol.h
* app/tools/gimptoolcontrol.c: got rid of gimp_tool_control_new
* libgimptool/gimptool.c (gimp_tool_init): create the GimpToolControl
here instead of in the descendant classes
* app/tools/gimpairbrushtool.c
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpinktool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimplevelstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppaintbrushtool.c
* app/tools/gimppathtool.c
* app/tools/gimppenciltool.c
* app/tools/gimpperspectivetool.c
* app/tools/gimprectselecttool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* app/tools/gimpsmudgetool.c
* app/tools/gimptexttool.c
* app/tools/gimpvectortool.c
* plug-ins/tools/tool-safe-mode.c: changed accordingly
* libgimpproxy/gimpproxytypes.h: autogenerated
2002-05-02 21:03:27 +00:00
Nate Summers
69ccb4d370
massive tool plugin changes
2002-03-29 03:50:29 +00:00