gimp/app/plug-in/gimppluginmanager.c

889 lines
22 KiB
C
Raw Normal View History

1997-11-25 06:05:25 +08:00
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 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.
1997-11-25 06:05:25 +08:00
*/
1997-11-25 06:05:25 +08:00
#include "config.h"
1999-03-07 20:56:03 +08:00
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
#include "string.h"
app/Makefile.am app/channel_pvt.h app/drawable_pvt.h app/gdisplayF.h 2000-12-29 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/channel_pvt.h * app/drawable_pvt.h * app/gdisplayF.h * app/gimpdrawableP.h * app/gimpimageP.h * app/layer_pvt.h * app/toolsF.h: removed these files. * app/apptypes.h * tools/pdbgen/enums.pl: added tons of opaque typedefs and enums. * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/brushes.pdb * tools/pdbgen/pdb/channel.pdb * tools/pdbgen/pdb/color.pdb * tools/pdbgen/pdb/convert.pdb * tools/pdbgen/pdb/display.pdb * tools/pdbgen/pdb/drawable.pdb * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/gradient_select.pdb * tools/pdbgen/pdb/gradients.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/image.pdb * tools/pdbgen/pdb/layer.pdb * tools/pdbgen/pdb/pattern_select.pdb * tools/pdbgen/pdb/patterns.pdb * tools/pdbgen/pdb/selection.pdb * tools/pdbgen/pdb/tools.pdb * app/*: chainsaw #include cleanup: - Never (never!!) include stuff in header files except where we need access to structures' contents (like derived objects). - Added prototypes and proper formating in many files. - The #include order in *all* *.c files is as follows: #include "config.h" #include <system stuff> #include <gtk/gtk.h> #include "apptypes.h" #include "gimp stuff" #include "libgimp stuff" #include "libgimp/gimpintl.h" By following this scheme we can easily see a file's dependencies from it's #include's and can grep for the inclusion to find out where a file is used. * tools/pdbgen/app.pl: changed to follow the include scheme above. * libgimp/Makefile.am * libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h and from app/apptypes.h. * libgimp/gimpcolorbutton.[ch] * libgimp/gimpdialog.[ch] * libgimp/gimphelpui.[ch] * libgimp/gimpparasite.[ch] * libgimp/gimppatheditor.[ch] * libgimp/gimpprotocol.c * libgimp/gimpquerybox.[ch] * libgimp/gimpsizeentry.[ch] * libgimp/gimptypes.h * libgimp/gimpui.h * libgimp/gimpunit.h * libgimp/gimpunitmenu.[ch] * libgimp/gimpwidgets.[ch]: changed accordingly. * plug-ins/FractalExplorer/Dialogs.c * plug-ins/gdyntext/message_window.c * plug-ins/imagemap/imap_default_dialog.c * plug-ins/imagemap/imap_file.c: these files used to include "libgimp/gimpui.h" without including "libgimp/gimp.h". This is no longer possible because the libgimpui headers don't inlcude "libgimp/gimpunit.h" any more.
2000-12-29 23:22:01 +08:00
#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"
#include "libgimpbase/gimpprotocol.h"
#include "libgimpbase/gimpwire.h"
app/Makefile.am removed... 2001-11-30 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/plug_in.[ch]: removed... * app/plug-in/Makefile.am * app/plug-in/plug-in-types.h * app/plug-in/plug-in.[ch]: ...and added here. * app/appenv.h: removed StackTraceMode and MessageHandlerType... * libgimpbase/gimpbasetypes.h: ...and added them here. * tools/pdbgen/Makefile.am: don't scan "app/apptypes.h" for enums. * tools/pdbgen/enumcode.pl: added a general check to prevent enums which are defined in libgimp* from being written to "libgimp/gimpenums.c". * libgimp/gimpenums.h * plug-ins/script-fu/script-fu-constants.c * tools/pdbgen/enums.pl: regenerated. * app/core/core-types.h: include "pdb/pdb-types.h" so including "core/core-types.h" gets the whole core type space. * app/core/gimp.[ch]: added a "stack_trace_mode" parameter to the constructor and store it in the Gimp struct because the value is also passed to plug-ins and nobody should include "appenv.h". * app/gimprc.[ch]: pass the alternate_system_gimprc and alternate_gimprc filenames from the command line to gimprc_prase() so we don't need to include "appenv.h". * app/batch.[ch]: pass the "batch_cmds" as parameter, don't include "append.h". * app/app_procs.c: pass more parameters around. * app/devices.c * app/errors.c * app/gimphelp.c * app/main.c * app/core/gimpgradient.c * app/display/gimpdisplay.c * app/display/gimpdisplayshell.c * app/file/file-open.c * app/file/file-save.c * app/file/file-utils.c * app/gui/commands.c * app/gui/error-console-dialog.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/gui/paths-dialog.c * app/gui/user-install-dialog.c * app/tools/gimpbezierselecttool.c * app/tools/xinput_airbrush.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/message.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly: - changed "plug-in.h" include where needed. - don't call gimp_fatal_error() directly, it's called via the log handler when calling g_error(). - don't incude "errors.h" except from main.c. - changed stack_trace and message_handler enum names. - get "stack_trace_mode" from Gimp. - removed many inclusions of "appenv.h". * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/message_cmds.c * app/pdb/plug_in_cmds.c * app/pdb/procedural_db.c: regenerated.
2001-12-01 08:14:14 +08:00
#include "plug-in-types.h"
Finally landed the new GimpConfig based gimprc parser. It's not finished 2002-11-18 Sven Neumann <sven@gimp.org> Finally landed the new GimpConfig based gimprc parser. It's not finished yet but we need to start somewhere. This release removes the old gimprc.[ch] files. The gimprc format changes slightly, but the changes are minimal. The Preferences dialog is temporarily disabled since it still needs to be ported. If you are are afraid, stay away from CVS for a few days ;-) * app/Makefile.am * app/gimprc.[ch]: removed the old gimprc system. * app/base/Makefile.am * app/base/base-config.[ch]: removed these files in favor of config/gimpbaseconfig.[ch]. * app/core/Makefile.am * app/core/gimpcoreconfig.[ch]: removed these files in favor of config/gimpcoreconfig.[ch]. * app/config/Makefile.am * app/config/config-types.h: moved typedefs into this new file. * app/config/gimpbaseconfig.[ch] * app/config/gimpcoreconfig.[ch] * app/config/gimpdisplayconfig.[ch] * app/config/gimpguiconfig.[ch] * app/config/gimprc.[ch] * app/config/test-config.c: brought into shape for real use. * app/base/base-types.h: include config/config-types.h here. Added a global GimpBaseConfig *base_config variable to ease migration. * app/gui/Makefile.am: temporarily disabled the preferences dialog. * app/app_procs.c * app/undo.c * app/undo_history.c * app/base/base.[ch] * app/base/gimphistogram.c * app/base/pixel-processor.c * app/base/temp-buf.c * app/base/tile-cache.c * app/core/core-types.h * app/core/gimp-documents.c * app/core/gimp.c * app/core/gimpbrush.c * app/core/gimpbrushgenerated.c * app/core/gimpcontext.c * app/core/gimpdrawable-transform.c * app/core/gimpimage-new.c * app/core/gimpimage.c * app/core/gimpimagefile.c * app/core/gimpmodules.c * app/core/gimppattern.c * app/display/Makefile.am * app/display/gimpdisplay-handlers.c * app/display/gimpdisplay.[ch] * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-layer-select.c * app/display/gimpdisplayshell-render.c * app/display/gimpdisplayshell-scale.c * app/display/gimpdisplayshell-scroll.c * app/display/gimpdisplayshell-selection.c * app/display/gimpdisplayshell.[ch] * app/display/gimpnavigationview.c * app/file/file-save.c * app/gui/device-status-dialog.c * app/gui/dialogs-constructors.c * app/gui/file-commands.c * app/gui/file-new-dialog.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/gui/resize-dialog.c * app/gui/session.c * app/gui/test-commands.c * app/gui/tips-dialog.c * app/gui/tips-dialog.h * app/gui/user-install-dialog.c * app/gui/view-commands.c * app/paint/gimppaintcore.c * app/plug-in/plug-in.c * app/plug-in/plug-ins.c * app/tools/gimpbezierselecttool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpcolorpickertool.c * app/tools/gimpcroptool.c * app/tools/gimpeditselectiontool.c * app/tools/gimpfuzzyselecttool.c * app/tools/gimpinktool.c * app/tools/gimpmagnifytool.c * app/tools/gimpmeasuretool.c * app/tools/gimppainttool.c * app/tools/gimppathtool.c * app/tools/gimptexttool.[ch] * app/tools/selection_options.c * app/tools/tools.c * app/tools/transform_options.c * app/widgets/gimphelp.c * app/widgets/gimpitemfactory.c * app/widgets/gimpselectioneditor.c * app/xcf/xcf-load.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/gimprc.pdb * tools/pdbgen/pdb/image.pdb * tools/pdbgen/pdb/layer.pdb * tools/pdbgen/pdb/transform_tools.pdb: use the new config system instead of the old gimprc stuff. * etc/gimprc.in * etc/gimprc_user.in: adapted to the new gimprc format. Will update the man-page later... * app/pdb/fileops_cmds.c * app/pdb/gimprc_cmds.c * app/pdb/image_cmds.c * app/pdb/layer_cmds.c * app/pdb/transform_tools_cmds.c * libgimp/gimpgimprc_pdb.c: regenerated.
2002-11-19 04:50:31 +08:00
#include "config/gimpcoreconfig.h"
#include "config/gimpconfig-path.h"
Finally landed the new GimpConfig based gimprc parser. It's not finished 2002-11-18 Sven Neumann <sven@gimp.org> Finally landed the new GimpConfig based gimprc parser. It's not finished yet but we need to start somewhere. This release removes the old gimprc.[ch] files. The gimprc format changes slightly, but the changes are minimal. The Preferences dialog is temporarily disabled since it still needs to be ported. If you are are afraid, stay away from CVS for a few days ;-) * app/Makefile.am * app/gimprc.[ch]: removed the old gimprc system. * app/base/Makefile.am * app/base/base-config.[ch]: removed these files in favor of config/gimpbaseconfig.[ch]. * app/core/Makefile.am * app/core/gimpcoreconfig.[ch]: removed these files in favor of config/gimpcoreconfig.[ch]. * app/config/Makefile.am * app/config/config-types.h: moved typedefs into this new file. * app/config/gimpbaseconfig.[ch] * app/config/gimpcoreconfig.[ch] * app/config/gimpdisplayconfig.[ch] * app/config/gimpguiconfig.[ch] * app/config/gimprc.[ch] * app/config/test-config.c: brought into shape for real use. * app/base/base-types.h: include config/config-types.h here. Added a global GimpBaseConfig *base_config variable to ease migration. * app/gui/Makefile.am: temporarily disabled the preferences dialog. * app/app_procs.c * app/undo.c * app/undo_history.c * app/base/base.[ch] * app/base/gimphistogram.c * app/base/pixel-processor.c * app/base/temp-buf.c * app/base/tile-cache.c * app/core/core-types.h * app/core/gimp-documents.c * app/core/gimp.c * app/core/gimpbrush.c * app/core/gimpbrushgenerated.c * app/core/gimpcontext.c * app/core/gimpdrawable-transform.c * app/core/gimpimage-new.c * app/core/gimpimage.c * app/core/gimpimagefile.c * app/core/gimpmodules.c * app/core/gimppattern.c * app/display/Makefile.am * app/display/gimpdisplay-handlers.c * app/display/gimpdisplay.[ch] * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-layer-select.c * app/display/gimpdisplayshell-render.c * app/display/gimpdisplayshell-scale.c * app/display/gimpdisplayshell-scroll.c * app/display/gimpdisplayshell-selection.c * app/display/gimpdisplayshell.[ch] * app/display/gimpnavigationview.c * app/file/file-save.c * app/gui/device-status-dialog.c * app/gui/dialogs-constructors.c * app/gui/file-commands.c * app/gui/file-new-dialog.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/gui/resize-dialog.c * app/gui/session.c * app/gui/test-commands.c * app/gui/tips-dialog.c * app/gui/tips-dialog.h * app/gui/user-install-dialog.c * app/gui/view-commands.c * app/paint/gimppaintcore.c * app/plug-in/plug-in.c * app/plug-in/plug-ins.c * app/tools/gimpbezierselecttool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpcolorpickertool.c * app/tools/gimpcroptool.c * app/tools/gimpeditselectiontool.c * app/tools/gimpfuzzyselecttool.c * app/tools/gimpinktool.c * app/tools/gimpmagnifytool.c * app/tools/gimpmeasuretool.c * app/tools/gimppainttool.c * app/tools/gimppathtool.c * app/tools/gimptexttool.[ch] * app/tools/selection_options.c * app/tools/tools.c * app/tools/transform_options.c * app/widgets/gimphelp.c * app/widgets/gimpitemfactory.c * app/widgets/gimpselectioneditor.c * app/xcf/xcf-load.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/gimprc.pdb * tools/pdbgen/pdb/image.pdb * tools/pdbgen/pdb/layer.pdb * tools/pdbgen/pdb/transform_tools.pdb: use the new config system instead of the old gimprc stuff. * etc/gimprc.in * etc/gimprc_user.in: adapted to the new gimprc format. Will update the man-page later... * app/pdb/fileops_cmds.c * app/pdb/gimprc_cmds.c * app/pdb/image_cmds.c * app/pdb/layer_cmds.c * app/pdb/transform_tools_cmds.c * libgimp/gimpgimprc_pdb.c: regenerated.
2002-11-19 04:50:31 +08:00
app/Makefile.am app/gimpunit.c removed... 2001-07-11 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/gimpunit.c * app/unitrc.h: removed... * app/core/Makefile.am * app/core/gimpunit.[ch]: ...re-added here. * app/core/gimp.[ch]: added the image and drawable hash tables, next_image_ID, next_guide_ID and next_drawable_ID, added a GimpCoreConfig pointer which is now initalized dynamically. * app/core/gimpcoreconfig.[ch]: don't provide a global core_config variable any more (need to access gimp->config now). * app/gdisplay.[ch] * app/core/gimpdrawable.[ch] * app/core/gimpimage.[ch]: removed all global variables from gimpimage.c and gimpdrawable.c, pass a Gimp* to all *_get_by_ID() functions. * tools/pdbgen/app.pl: pass Gimp* to all _get_by_ID() functions. * app/app_procs.c * app/file-open.c * app/file-save.c * app/gimprc.c * app/libgimp_glue.c * app/module_db.c * app/plug_in.c * app/undo.c * app/user_install.c * app/core/core-types.h * app/core/gimpcontext.c * app/core/gimpimage-crop.c * app/core/gimpimage-new.c * app/core/gimpparasite.c * app/gui/file-new-dialog.c * app/gui/file-open-dialog.c * app/gui/info-window.c * app/gui/preferences-dialog.c * app/gui/resize-dialog.c * app/xcf/xcf-load.c * app/xcf/xcf-save.c * app/xcf/xcf.c * app/widgets/gimpdnd.c * app/pdb/channel_cmds.c * app/pdb/color_cmds.c * app/pdb/convert_cmds.c * app/pdb/display_cmds.c * app/pdb/drawable_cmds.c * app/pdb/edit_cmds.c * app/pdb/fileops_cmds.c * app/pdb/floating_sel_cmds.c * app/pdb/guides_cmds.c * app/pdb/image_cmds.c * app/pdb/layer_cmds.c * app/pdb/parasite_cmds.c * app/pdb/paths_cmds.c * app/pdb/selection_cmds.c * app/pdb/text_tool_cmds.c * app/pdb/tools_cmds.c * app/pdb/undo_cmds.c * app/pdb/unit_cmds.c * tools/pdbgen/pdb/image.pdb * tools/pdbgen/pdb/unit.pdb: changed accordingly.
2001-07-11 20:39:49 +08:00
#include "core/gimp.h"
app/gimpprogress.[ch] s/GDisplay/GimpDisplay/ 2001-10-16 Michael Natterer <mitch@gimp.org> * app/gimpprogress.[ch] * app/undo.c: s/GDisplay/GimpDisplay/ * app/plug_in.[ch]: removed unused boolean "destroy" field of the PlugIn struct. * app/core/gimpedit.c: don't include "app_procs.h" * app/display/gimpdisplay-callbacks.c: moved the "grab_abd_scroll" stuff from gimpdisplay-scroll.* here (less complicated and easier to cleanup...) * app/display/gimpdisplay-scroll.[ch]: removed here. * app/display/gimpdisplay-render.[ch] * app/display/gimpdisplay-selection.[ch] * app/display/gimpdisplayshell.c: s/GDisplay/GimpDisplay/g * app/display/gimpdisplay.[ch]: ditto, removed gdisplay_active() which was just a wrapper around "gimp_context_get_display (gimp_get_user_context (the_gimp))" (which is more to type but makes the use of the global "the_gimp" variable more obvious). * app/gui/color-area.h * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/file-dialog-utils.c * app/gui/image-commands.c * app/gui/info-window.h * app/gui/paths-dialog.h * app/gui/select-commands.c * app/gui/tool-options-dialog.c * app/gui/tools-commands.c * app/gui/view-commands.c: s/GDisplay/GimpDisplay/, gdisplay_active() removal, include "app_procs.h" for "the_gimp". * app/tools/gimpbezierselecttool.h * app/tools/gimpbrightnesscontrasttool.[ch] * app/tools/gimpbycolorselecttool.c * app/tools/gimpcolorbalancetool.[ch] * app/tools/gimpcurvestool.[ch] * app/tools/gimpeditselectiontool.h * app/tools/gimphistogramtool.[ch] * app/tools/gimphuesaturationtool.[ch] * app/tools/gimplevelstool.[ch] * app/tools/gimpmovetool.h * app/tools/gimpperspectivetool.h * app/tools/gimpposterizetool.[ch] * app/tools/gimprotatetool.h * app/tools/gimpscaletool.h * app/tools/gimpsheartool.h * app/tools/gimptexttool.h * app/tools/gimpthresholdtool.[ch] * app/tools/gimptool.[ch] * app/tools/gimptransformtool.h * app/tools/tool_manager.[ch]: lots of s/GDisplay/GimpDisplay/, made all *_dialog_hide() functions private, cleanup. * app/widgets/*: removed GtkType and gtk_type_* stuff entirely and use GObject functions, removed lots of empty "destroy" methods and use more type checking class cast macros instead of casting directly. * app/widgets/gimpcontainermenu.c: fixed item insert order. * app/widgets/gimphistogramview.[ch]: cleaned up and renamed all functions. * app/widgets/gimpwidgets-utils.[ch]: removed gimp_dialog_hide() as Gtk+ does the right thing (TM) now. * tools/pdbgen/pdb/color.pdb: implemented "histogram" without digging into tools/ and widgets/ (needs to be done for all color PDB functions). * tools/pdbgen/pdb/gimprc.pdb: no need to use "the_gimp" in a PDB function as a "Gimp" pointer is passed to them all. * tools/pdbgen/pdb/image.pdb: don't include "app_procs.h" * app/pdb/color_cmds.c * app/pdb/gimprc_cmds.c * app/pdb/image_cmds.c: regenerated. * app/pdb/procedural_db.c: don't include "app_procs.h"
2001-10-17 19:33:43 +08:00
#include "core/gimpcontext.h"
#include "core/gimpdrawable.h"
#include "core/gimpimage.h"
app/Makefile.am app/gui/Makefile.am app/about_dialog.[ch] 2001-04-17 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/gui/Makefile.am * app/about_dialog.[ch] * app/brush_edit.[ch] * app/brush_select.[ch] * app/channels_dialog.[ch] * app/color_area.[ch] * app/color_notebook.[ch] * app/color_select.[ch] * app/colormap_dialog.[ch] * app/commands.[ch] * app/file_new_dialog.[ch] * app/gradient_editor.[ch] * app/gradient_select.[ch] * app/indicator_area.[ch] * app/info_dialog.[ch] * app/info_window.[ch] * app/layer_select.[ch] * app/layers_dialog.[ch] * app/menus.[ch] * app/palette.[ch] * app/palette_import.[ch] * app/palette_select.[ch] * app/paths_dialog.[ch] * app/pattern_select.[ch] * app/preferences_dialog.[ch] * app/session.[ch] * app/test_commands.[ch] * app/tips_dialog.[ch] * app/toolbox.[ch]: moved to gui/ (s/_/-/ and some more useful filenames on the way). * app/app_procs.c * app/context_manager.c * app/convert.c * app/disp_callbacks.c * app/errorconsole.c * app/file-open.c * app/file-save.c * app/file-utils.c * app/gdisplay.c * app/gimage.c * app/gimprc.c * app/image_new.c * app/interface.c * app/nav_window.c * app/path.c * app/plug_in.c * app/gui/dialogs-constructors.c * app/pdb/brush_select_cmds.c * app/pdb/convert_cmds.c * app/pdb/gradient_select_cmds.c * app/pdb/pattern_select_cmds.c * app/tools/gimpcolorpickertool.c * app/tools/gimpcroptool.c * app/tools/gimpmagnifytool.c * app/tools/gimpmeasuretool.c * app/tools/gimpscaletool.c * app/tools/gimptransformtool.c * app/widgets/gimpcolorpanel.c * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/convert.pdb * tools/pdbgen/pdb/gradient_select.pdb * tools/pdbgen/pdb/pattern_select.pdb * po/POTFILES.in: changed accordingly.
2001-04-18 05:43:29 +08:00
The unbelievable happened: a menu bar per display (optionally) 2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query.
2002-12-11 00:38:16 +08:00
#ifdef __GNUC__
#warning FIXME #include "gui/gui-types.h"
#endif
#include "gui/gui-types.h"
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
#include "gui/plug-in-menus.h"
app/Makefile.am app/gui/Makefile.am app/about_dialog.[ch] 2001-04-17 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/gui/Makefile.am * app/about_dialog.[ch] * app/brush_edit.[ch] * app/brush_select.[ch] * app/channels_dialog.[ch] * app/color_area.[ch] * app/color_notebook.[ch] * app/color_select.[ch] * app/colormap_dialog.[ch] * app/commands.[ch] * app/file_new_dialog.[ch] * app/gradient_editor.[ch] * app/gradient_select.[ch] * app/indicator_area.[ch] * app/info_dialog.[ch] * app/info_window.[ch] * app/layer_select.[ch] * app/layers_dialog.[ch] * app/menus.[ch] * app/palette.[ch] * app/palette_import.[ch] * app/palette_select.[ch] * app/paths_dialog.[ch] * app/pattern_select.[ch] * app/preferences_dialog.[ch] * app/session.[ch] * app/test_commands.[ch] * app/tips_dialog.[ch] * app/toolbox.[ch]: moved to gui/ (s/_/-/ and some more useful filenames on the way). * app/app_procs.c * app/context_manager.c * app/convert.c * app/disp_callbacks.c * app/errorconsole.c * app/file-open.c * app/file-save.c * app/file-utils.c * app/gdisplay.c * app/gimage.c * app/gimprc.c * app/image_new.c * app/interface.c * app/nav_window.c * app/path.c * app/plug_in.c * app/gui/dialogs-constructors.c * app/pdb/brush_select_cmds.c * app/pdb/convert_cmds.c * app/pdb/gradient_select_cmds.c * app/pdb/pattern_select_cmds.c * app/tools/gimpcolorpickertool.c * app/tools/gimpcroptool.c * app/tools/gimpmagnifytool.c * app/tools/gimpmeasuretool.c * app/tools/gimpscaletool.c * app/tools/gimptransformtool.c * app/widgets/gimpcolorpanel.c * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/convert.pdb * tools/pdbgen/pdb/gradient_select.pdb * tools/pdbgen/pdb/pattern_select.pdb * po/POTFILES.in: changed accordingly.
2001-04-18 05:43:29 +08:00
app/Makefile.am removed... 2001-11-30 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/plug_in.[ch]: removed... * app/plug-in/Makefile.am * app/plug-in/plug-in-types.h * app/plug-in/plug-in.[ch]: ...and added here. * app/appenv.h: removed StackTraceMode and MessageHandlerType... * libgimpbase/gimpbasetypes.h: ...and added them here. * tools/pdbgen/Makefile.am: don't scan "app/apptypes.h" for enums. * tools/pdbgen/enumcode.pl: added a general check to prevent enums which are defined in libgimp* from being written to "libgimp/gimpenums.c". * libgimp/gimpenums.h * plug-ins/script-fu/script-fu-constants.c * tools/pdbgen/enums.pl: regenerated. * app/core/core-types.h: include "pdb/pdb-types.h" so including "core/core-types.h" gets the whole core type space. * app/core/gimp.[ch]: added a "stack_trace_mode" parameter to the constructor and store it in the Gimp struct because the value is also passed to plug-ins and nobody should include "appenv.h". * app/gimprc.[ch]: pass the alternate_system_gimprc and alternate_gimprc filenames from the command line to gimprc_prase() so we don't need to include "appenv.h". * app/batch.[ch]: pass the "batch_cmds" as parameter, don't include "append.h". * app/app_procs.c: pass more parameters around. * app/devices.c * app/errors.c * app/gimphelp.c * app/main.c * app/core/gimpgradient.c * app/display/gimpdisplay.c * app/display/gimpdisplayshell.c * app/file/file-open.c * app/file/file-save.c * app/file/file-utils.c * app/gui/commands.c * app/gui/error-console-dialog.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/gui/paths-dialog.c * app/gui/user-install-dialog.c * app/tools/gimpbezierselecttool.c * app/tools/xinput_airbrush.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/message.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly: - changed "plug-in.h" include where needed. - don't call gimp_fatal_error() directly, it's called via the log handler when calling g_error(). - don't incude "errors.h" except from main.c. - changed stack_trace and message_handler enum names. - get "stack_trace_mode" from Gimp. - removed many inclusions of "appenv.h". * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/message_cmds.c * app/pdb/plug_in_cmds.c * app/pdb/procedural_db.c: regenerated.
2001-12-01 08:14:14 +08:00
#include "plug-in.h"
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
#include "plug-ins.h"
#include "plug-in-def.h"
#include "plug-in-params.h"
#include "plug-in-proc.h"
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
#include "plug-in-progress.h"
#include "plug-in-rc.h"
#include "plug-in-run.h"
app/Makefile.am removed... 2001-11-30 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/plug_in.[ch]: removed... * app/plug-in/Makefile.am * app/plug-in/plug-in-types.h * app/plug-in/plug-in.[ch]: ...and added here. * app/appenv.h: removed StackTraceMode and MessageHandlerType... * libgimpbase/gimpbasetypes.h: ...and added them here. * tools/pdbgen/Makefile.am: don't scan "app/apptypes.h" for enums. * tools/pdbgen/enumcode.pl: added a general check to prevent enums which are defined in libgimp* from being written to "libgimp/gimpenums.c". * libgimp/gimpenums.h * plug-ins/script-fu/script-fu-constants.c * tools/pdbgen/enums.pl: regenerated. * app/core/core-types.h: include "pdb/pdb-types.h" so including "core/core-types.h" gets the whole core type space. * app/core/gimp.[ch]: added a "stack_trace_mode" parameter to the constructor and store it in the Gimp struct because the value is also passed to plug-ins and nobody should include "appenv.h". * app/gimprc.[ch]: pass the alternate_system_gimprc and alternate_gimprc filenames from the command line to gimprc_prase() so we don't need to include "appenv.h". * app/batch.[ch]: pass the "batch_cmds" as parameter, don't include "append.h". * app/app_procs.c: pass more parameters around. * app/devices.c * app/errors.c * app/gimphelp.c * app/main.c * app/core/gimpgradient.c * app/display/gimpdisplay.c * app/display/gimpdisplayshell.c * app/file/file-open.c * app/file/file-save.c * app/file/file-utils.c * app/gui/commands.c * app/gui/error-console-dialog.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/gui/paths-dialog.c * app/gui/user-install-dialog.c * app/tools/gimpbezierselecttool.c * app/tools/xinput_airbrush.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/message.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly: - changed "plug-in.h" include where needed. - don't call gimp_fatal_error() directly, it's called via the log handler when calling g_error(). - don't incude "errors.h" except from main.c. - changed stack_trace and message_handler enum names. - get "stack_trace_mode" from Gimp. - removed many inclusions of "appenv.h". * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/message_cmds.c * app/pdb/plug_in_cmds.c * app/pdb/procedural_db.c: regenerated.
2001-12-01 08:14:14 +08:00
#include "libgimp/gimpintl.h"
Bit of a large checkin this - it's basically three things: 1 - GimpModules Sun Jan 11 00:24:21 GMT 1999 Austin Donnelly <austin@greenend.org.uk> Bit of a large checkin this - it's basically three things: 1 - GimpModules using gmodules to dynamically load and initialise modules at gimp start of day. 2 - Color selectors now register themselves with a color notebook. 3 - progress bars have been cleaned up a bit, so now have progress indictations on all transform tool and gradient fill operations. Not done bucket fill, but that seems to be the next candidate. New directories: * modules/: new directory for dynamically loadable modules. New files: * modules/.cvsignore * modules/Makefile.am * modules/colorsel_gtk.c: GTK color selector wrapped up as a color selector the gimp can use. * app/gimpprogress.[ch]: progress bars within gimp core, either as popups, or in the status bar. This is mainly code moved out of plug-in.c * app/color_notebook.[ch]: color selector notebook, implementing very similar interface to color_select.h so it can be used as a drop-in replacement for it. * libgimp/color_selector.h: API color selectors need to implement to become a page in the color_notebook. * libgimp/gimpmodule.h: API gimp modules need to implement to be initialised by gimp at start of day. Modified files: * Makefile.am: add modules/ to SUBDIRS * libgimp/Makefile.am: install gimpmodule.h and color_selector.h * app/gimprc.[ch]: recognise module-path variable. * gimprc.in: set module-path variable to something sensible (currently "${gimp_dir}/modules:${gimp_plugin_dir}/modules"). * app/Makefile.am: build color notebook and gimpprogress * app/app_procs.c: register internal GIMP color selector with color notebook. * app/asupsample.c: call progress function less frequently for better performance. * app/asupsample.h: progress_func_t typedef moved to gimpprogress.h * app/blend.c: make callbacks to a progress function * app/color_area.c: use a color notebook rather than a color selector * app/color_panel.c: ditto * app/color_select.c: export color selector interface for notebook * app/color_select.h: color_select_init() prototype * app/flip_tool.c: flip the image every time, rather than every second click. * app/interface.c: move progress bar stuff out to gimpprogress.c. Make the code actually work while we're at it. * app/interface.h: move prototypes for progress functions out to gimpprogress.h * app/plug_in.c: load and initialise modules (if possible). Move progress bar handling code out to gimpprogress.c * app/plug_in.h: keep only a gimp_progress * for each plugin, not a whole bunch of GtkWidgets. * app/scale_tool.c * app/rotate_tool.c * app/shear_tool.c * app/perspective_tool.c: progress bar during operation. De-sensitise the dialog to discourage the user from running two transforms in parallel. * app/transform_core.c: recalculate grid coords when bounding box changes. Only initialise the action area of the dialog once, to avoid multiple "ok" / "reset" buttons appearing. Undraw transform tool with correct matrix to get rid of handle remains on screen. Call a progress function as we apply the transform matrix. A few new i18n markups. Invalidate floating selection marching ants after applying matrix. * app/transform_core.h: transform_core_do() takes an optional progress callback argument (and data). * plug-ins/oilify/oilify.c: send progress bar updates after every pixel region, not only if they processed a multiple of 5 pixels (which was quite unlikely, and therefore gave a jerky progress indication).
1999-01-11 08:57:33 +08:00
#define STD_PLUGINS_DOMAIN GETTEXT_PACKAGE "-std-plug-ins"
The unbelievable happened: a menu bar per display (optionally) 2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query.
2002-12-11 00:38:16 +08:00
typedef struct _PlugInLocaleDomainDef PlugInLocaleDomainDef;
typedef struct _PlugInHelpPathDef PlugInHelpPathDef;
struct _PlugInLocaleDomainDef
{
gchar *prog_name;
gchar *locale_domain;
gchar *locale_path;
};
These changes enable help support for 3rd party plug-ins which install 2000-05-21 Michael Natterer <mitch@gimp.org> These changes enable help support for 3rd party plug-ins which install their help files outside GIMP's main help dir. Instead of calling gimp_help(), gimp_plugin_help_func() etc., all help callbacks now have to call gimp_standard_help_func() which has different implementations in the app and in libgimp. There is a new function gimp_plugin_help_register() which can be called during plug-in query. plug_in.c keeps a list of executable_name/help_path pairs. Plug-ins have to pass their exec. name to gimp_help() which uses the list to find the plug-in's help directory. * app/gimphelp.[ch]: gimp_help() now takes a help_path parameter. help_path == NULL means the standard help directory. Various changes to pass the help_path to the help browser. * app/gimprc.c: save the plug-in's help_path in the pluginrc file. * app/menus.c: ugly hack to enable help_paths in the "F1" callback. * app/plug_in.[ch]: many help_path related changes. Use g_basename() instead of strrchr(str,G_DIR_SEPARATOR), cosmetic cleanups. * app/internal_procs.c * app/gimphelp_cmds.c * tools/pdbgen/pdb/gimphelp.pdb: new procedure gimp_plugin_help_register(). gimp_help() takes a second parameter which is the executable name (not the help_path). * app/color_notebook.c * app/commands.c * app/lc_dialog.c * app/preferences_dialog.c * app/tools.c: call gimp_standard_help_func() instead of gimp_help(). * libgimp/gimp.c: new function gimp_get_progname() which returns the full path of the plug-in's executable. * libgimp/gimp.h: export the new function, removed gimp_plugin_help_func(), gimp_help() takes the executable name as second parameter. * libgimp/gimpcompat.h: added gimp_plugin_help_func(). * libgimp/gimphelp.c: a wrapper for gimp_plugin_help_register(), changed the calls to gimp_help. * libgimp/gimphelpui.[ch]: call gimp_standard_help_func() instead of gimp_help(). * plug-ins/helpbrowser/helpbrowser.c: now called with an additional help_path parameter. Various changes to enable help_path != gimp_standard_help_path. Unrelated stuff: * app/batch.h: added missing GPL header. * app/gimpunit.c: had a LGPL header, merged some fprintf's into one call. * app/procedural_db.[ch]: cosmetic: g* types, s/g_malloc/g_new/, prototypes, indentation. * app/resize.c: use less packing widgets. didn't find the "offset" redraw bug :(
2000-05-22 01:41:02 +08:00
struct _PlugInHelpPathDef
{
gchar *prog_name;
gchar *help_path;
};
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
static void plug_ins_init_file (GimpDatafileData *file_data);
static void plug_ins_add_to_db (Gimp *gimp);
static PlugInProcDef * plug_ins_proc_def_insert (PlugInProcDef *proc_def);
1999-05-07 04:56:07 +08:00
GSList *proc_defs = NULL;
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
static GSList *plug_in_defs = NULL;
The unbelievable happened: a menu bar per display (optionally) 2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query.
2002-12-11 00:38:16 +08:00
static GSList *locale_domain_defs = NULL;
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
static GSList *help_path_defs = NULL;
static gboolean write_pluginrc = FALSE;
1999-05-07 04:56:07 +08:00
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
/* public functions */
1997-11-25 06:05:25 +08:00
void
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
plug_ins_init (Gimp *gimp,
GimpInitStatusFunc status_callback)
1997-11-25 06:05:25 +08:00
{
gchar *filename;
gchar *basename;
gchar *path;
GSList *tmp;
GSList *tmp2;
PlugInDef *plug_in_def;
1997-11-25 06:05:25 +08:00
PlugInProcDef *proc_def;
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
gdouble n_plugins;
gdouble nth;
1997-11-25 06:05:25 +08:00
link the app in a different order as some init functions are called from 2001-10-19 Michael Natterer <mitch@gimp.org> * app/Makefile.am: link the app in a different order as some init functions are called from core/gimp.c instead of app_procs.c now. * app/app_procs.[ch]: made app_init_update_status() private and pass it as callback to various init functions. * app/plug_in.[ch]: plug_in_init() take "gimp" and "status_callback" parameters. * app/undo.c: use "gimage->gimp" instead of "the_gimp", don't include "app_procs.h". * app/core/core-types.h: added "GimpInitStatusFunc" typedef. * app/core/gimp.[ch]: gimp_initialize() and gimp_restore() now take a "status_callback" as parameter. Don't include "app_procs.h". * app/core/gimpmodules.c: putting the modules in a strong container was a bad idea because it may be impossible to finalize a GimpModuleInfo object belonging to a stalled module. * app/gui/color-area.c: use G_N_ELEMENTS(). * app/gui/session.c: don't call app_init_update_status() and don't include "app_procs.h" because this happens after the splash is hidden. * tools/pdbgen/app.pl * app/pdb/internal_procs.[ch]: pass a "status_callback" to internal_procs_init(), don't include "app_procs.h". * plug-ins/Makefile.am: build gfig, gimpressionist and imagemap again. * plug-ins/MapObject/mapobject_preview.c * plug-ins/MapObject/mapobject_ui.c: s/gdk_image_unref/g_object_unref/ * plug-ins/gfig/gfig.c * plug-ins/gimpressionist/brush.c * plug-ins/gimpressionist/gimpressionist.c * plug-ins/gimpressionist/ppmtool.[ch] * plug-ins/gimpressionist/presets.c * plug-ins/imagemap/imap_browse.[ch] * plug-ins/imagemap/imap_csim.y * plug-ins/imagemap/imap_edit_area_info.c * plug-ins/imagemap/imap_file.c * plug-ins/imagemap/imap_main.c * plug-ins/imagemap/imap_menu.c * plug-ins/imagemap/imap_polygon.c * plug-ins/imagemap/imap_popup.c * plug-ins/imagemap/imap_preferences.c * plug-ins/imagemap/imap_taglist.c * plug-ins/imagemap/imap_tools.c: ported to current GLib/Gtk+. * plug-ins/gap/gap_arr_dialog.c * plug-ins/gap/gap_decode_xanim.c * plug-ins/gap/gap_filter_foreach.c * plug-ins/gap/gap_filter_main.c * plug-ins/gap/gap_frontends_main.c * plug-ins/gap/gap_lib.c * plug-ins/gap/gap_main.c * plug-ins/gap/gap_mod_layer.c * plug-ins/gap/gap_mov_dialog.c * plug-ins/gap/gap_navigator_dialog.c * plug-ins/gap/resize.c: half-way fixed this one too but I'm not willing to fix tons of duplicated and deprecated app/ code...
2001-10-20 00:41:09 +08:00
g_return_if_fail (GIMP_IS_GIMP (gimp));
g_return_if_fail (status_callback != NULL);
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
plug_in_init (gimp);
1997-11-25 06:05:25 +08:00
/* search for binaries in the plug-in directory path */
path = gimp_config_path_expand (gimp->config->plug_in_path, TRUE, NULL);
gimp_datafiles_read_directories (path,
Moved generic datafile loading to LibGimpBase: 2002-10-23 Michael Natterer <mitch@gimp.org> Moved generic datafile loading to LibGimpBase: * app/core/gimpdatafiles.[ch]: removed... * libgimpbase/gimpdatafiles.[ch]: ...and add here with a changed API which requires no more global variables. * libgimpbase/Makefile.am * libgimpbase/gimpbase.h * libgimpbase/gimpbasetypes.h * app/core/Makefile.am * app/core/core-types.h * app/core/gimpdatafactory.c * app/gui/gui.c * app/plug-in/plug-in.c * app/plug-in/plug-ins.c * app/tools/tools.c: changed accordingly. Moved module loading to LibGimpModule: * app/core/gimpmodules.c: removed lots of code... * libgimpmodule/gimpmoduledb.[ch]: ...and added it here as GimpModuleDB object. * libgimpmodule/Makefile.am * libgimpmodule/gimpmoduletypes.h: changed accordingly. * app/core/gimp.[ch]: replaced gimp->modules by gimp->module_db. * libgimpmodule/gimpmodule.[ch]: added gimp_module_query(). Internal cleanup. Stuff... * app/gui/module-browser.c: changed accordingly. Unfinished... * app/core/gimpcontainer.c * app/core/gimplist.c: reverted the HACKS introduced recently. * app/core/gimpobject.[ch]: added gimp_g_object_get_memsize() utility function. * libgimpproxy/gimpobject.[ch]: regenerated. Changed display filter configuration stuff: * libgimpwidgets/gimpcolordisplay.[ch]: made the virtual configure() function return a GtkWidget instead of opening a dialog. Changed configure_cancel() to configure_reset(). Added "changed" signal. * app/display/gimpdisplayshell-filter-dialog.c: embed the filters' config GUI in the dialog. Connect to "changed" and added a "Reset" button which resets the filter. * modules/cdisplay_gamma.c * modules/cdisplay_highcontrast.c: changed accordingly. * modules/colorsel_triangle.c * modules/colorsel_water.c: minor fixes. 2002-10-23 Michael Natterer <mitch@gimp.org> * libgimpbase/libgimpbase-docs.sgml * libgimpbase/libgimpbase-sections.txt * libgimpbase/tmpl/gimpbasetypes.sgml * libgimpbase/tmpl/gimpdatafiles.sgml: added GimpDatafiles * libgimpmodule/libgimpmodule-docs.sgml * libgimpmodule/libgimpmodule-sections.txt * libgimpmodule/tmpl/gimpmoduledb.sgml: added GimpModuleDB. * libgimpwidgets/libgimpwidgets.types: added gimp_dialog_get_type * libgimpmodule/tmpl/gimpmodule.sgml * libgimpwidgets/tmpl/gimpcolordisplay.sgml * libgimpwidgets/tmpl/gimpdialog.sgml: updated.
2002-10-23 22:55:07 +08:00
G_FILE_TEST_IS_EXECUTABLE,
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
plug_ins_init_file, &plug_in_defs);
1997-11-25 06:05:25 +08:00
g_free (path);
1997-11-25 06:05:25 +08:00
/* read the pluginrc file for cached data */
Finally landed the new GimpConfig based gimprc parser. It's not finished 2002-11-18 Sven Neumann <sven@gimp.org> Finally landed the new GimpConfig based gimprc parser. It's not finished yet but we need to start somewhere. This release removes the old gimprc.[ch] files. The gimprc format changes slightly, but the changes are minimal. The Preferences dialog is temporarily disabled since it still needs to be ported. If you are are afraid, stay away from CVS for a few days ;-) * app/Makefile.am * app/gimprc.[ch]: removed the old gimprc system. * app/base/Makefile.am * app/base/base-config.[ch]: removed these files in favor of config/gimpbaseconfig.[ch]. * app/core/Makefile.am * app/core/gimpcoreconfig.[ch]: removed these files in favor of config/gimpcoreconfig.[ch]. * app/config/Makefile.am * app/config/config-types.h: moved typedefs into this new file. * app/config/gimpbaseconfig.[ch] * app/config/gimpcoreconfig.[ch] * app/config/gimpdisplayconfig.[ch] * app/config/gimpguiconfig.[ch] * app/config/gimprc.[ch] * app/config/test-config.c: brought into shape for real use. * app/base/base-types.h: include config/config-types.h here. Added a global GimpBaseConfig *base_config variable to ease migration. * app/gui/Makefile.am: temporarily disabled the preferences dialog. * app/app_procs.c * app/undo.c * app/undo_history.c * app/base/base.[ch] * app/base/gimphistogram.c * app/base/pixel-processor.c * app/base/temp-buf.c * app/base/tile-cache.c * app/core/core-types.h * app/core/gimp-documents.c * app/core/gimp.c * app/core/gimpbrush.c * app/core/gimpbrushgenerated.c * app/core/gimpcontext.c * app/core/gimpdrawable-transform.c * app/core/gimpimage-new.c * app/core/gimpimage.c * app/core/gimpimagefile.c * app/core/gimpmodules.c * app/core/gimppattern.c * app/display/Makefile.am * app/display/gimpdisplay-handlers.c * app/display/gimpdisplay.[ch] * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-layer-select.c * app/display/gimpdisplayshell-render.c * app/display/gimpdisplayshell-scale.c * app/display/gimpdisplayshell-scroll.c * app/display/gimpdisplayshell-selection.c * app/display/gimpdisplayshell.[ch] * app/display/gimpnavigationview.c * app/file/file-save.c * app/gui/device-status-dialog.c * app/gui/dialogs-constructors.c * app/gui/file-commands.c * app/gui/file-new-dialog.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/gui/resize-dialog.c * app/gui/session.c * app/gui/test-commands.c * app/gui/tips-dialog.c * app/gui/tips-dialog.h * app/gui/user-install-dialog.c * app/gui/view-commands.c * app/paint/gimppaintcore.c * app/plug-in/plug-in.c * app/plug-in/plug-ins.c * app/tools/gimpbezierselecttool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpcolorpickertool.c * app/tools/gimpcroptool.c * app/tools/gimpeditselectiontool.c * app/tools/gimpfuzzyselecttool.c * app/tools/gimpinktool.c * app/tools/gimpmagnifytool.c * app/tools/gimpmeasuretool.c * app/tools/gimppainttool.c * app/tools/gimppathtool.c * app/tools/gimptexttool.[ch] * app/tools/selection_options.c * app/tools/tools.c * app/tools/transform_options.c * app/widgets/gimphelp.c * app/widgets/gimpitemfactory.c * app/widgets/gimpselectioneditor.c * app/xcf/xcf-load.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/gimprc.pdb * tools/pdbgen/pdb/image.pdb * tools/pdbgen/pdb/layer.pdb * tools/pdbgen/pdb/transform_tools.pdb: use the new config system instead of the old gimprc stuff. * etc/gimprc.in * etc/gimprc_user.in: adapted to the new gimprc format. Will update the man-page later... * app/pdb/fileops_cmds.c * app/pdb/gimprc_cmds.c * app/pdb/image_cmds.c * app/pdb/layer_cmds.c * app/pdb/transform_tools_cmds.c * libgimp/gimpgimprc_pdb.c: regenerated.
2002-11-19 04:50:31 +08:00
if (gimp->config->plug_in_rc_path)
{
filename = gimp_config_path_expand (gimp->config->plug_in_rc_path,
TRUE, NULL);
if (!g_path_is_absolute (filename))
{
gchar *tmp = g_build_filename (gimp_directory (), filename, NULL);
g_free (filename);
filename = tmp;
}
}
else
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
{
filename = gimp_personal_rc_file ("pluginrc");
}
link the app in a different order as some init functions are called from 2001-10-19 Michael Natterer <mitch@gimp.org> * app/Makefile.am: link the app in a different order as some init functions are called from core/gimp.c instead of app_procs.c now. * app/app_procs.[ch]: made app_init_update_status() private and pass it as callback to various init functions. * app/plug_in.[ch]: plug_in_init() take "gimp" and "status_callback" parameters. * app/undo.c: use "gimage->gimp" instead of "the_gimp", don't include "app_procs.h". * app/core/core-types.h: added "GimpInitStatusFunc" typedef. * app/core/gimp.[ch]: gimp_initialize() and gimp_restore() now take a "status_callback" as parameter. Don't include "app_procs.h". * app/core/gimpmodules.c: putting the modules in a strong container was a bad idea because it may be impossible to finalize a GimpModuleInfo object belonging to a stalled module. * app/gui/color-area.c: use G_N_ELEMENTS(). * app/gui/session.c: don't call app_init_update_status() and don't include "app_procs.h" because this happens after the splash is hidden. * tools/pdbgen/app.pl * app/pdb/internal_procs.[ch]: pass a "status_callback" to internal_procs_init(), don't include "app_procs.h". * plug-ins/Makefile.am: build gfig, gimpressionist and imagemap again. * plug-ins/MapObject/mapobject_preview.c * plug-ins/MapObject/mapobject_ui.c: s/gdk_image_unref/g_object_unref/ * plug-ins/gfig/gfig.c * plug-ins/gimpressionist/brush.c * plug-ins/gimpressionist/gimpressionist.c * plug-ins/gimpressionist/ppmtool.[ch] * plug-ins/gimpressionist/presets.c * plug-ins/imagemap/imap_browse.[ch] * plug-ins/imagemap/imap_csim.y * plug-ins/imagemap/imap_edit_area_info.c * plug-ins/imagemap/imap_file.c * plug-ins/imagemap/imap_main.c * plug-ins/imagemap/imap_menu.c * plug-ins/imagemap/imap_polygon.c * plug-ins/imagemap/imap_popup.c * plug-ins/imagemap/imap_preferences.c * plug-ins/imagemap/imap_taglist.c * plug-ins/imagemap/imap_tools.c: ported to current GLib/Gtk+. * plug-ins/gap/gap_arr_dialog.c * plug-ins/gap/gap_decode_xanim.c * plug-ins/gap/gap_filter_foreach.c * plug-ins/gap/gap_filter_main.c * plug-ins/gap/gap_frontends_main.c * plug-ins/gap/gap_lib.c * plug-ins/gap/gap_main.c * plug-ins/gap/gap_mod_layer.c * plug-ins/gap/gap_mov_dialog.c * plug-ins/gap/gap_navigator_dialog.c * plug-ins/gap/resize.c: half-way fixed this one too but I'm not willing to fix tons of duplicated and deprecated app/ code...
2001-10-20 00:41:09 +08:00
(* status_callback) (_("Resource configuration"), filename, -1);
plug_in_rc_parse (filename);
1997-11-25 06:05:25 +08:00
/* query any plug-ins that have changed since we last wrote out
* the pluginrc file.
*/
(* status_callback) (_("Querying new Plug-ins"), "", 0);
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
n_plugins = g_slist_length (plug_in_defs);
for (tmp = plug_in_defs, nth = 0; tmp; tmp = g_slist_next (tmp), nth++)
1997-11-25 06:05:25 +08:00
{
plug_in_def = tmp->data;
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
if (plug_in_def->needs_query)
1997-11-25 06:05:25 +08:00
{
write_pluginrc = TRUE;
app/Makefile.am removed... 2001-11-30 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/plug_in.[ch]: removed... * app/plug-in/Makefile.am * app/plug-in/plug-in-types.h * app/plug-in/plug-in.[ch]: ...and added here. * app/appenv.h: removed StackTraceMode and MessageHandlerType... * libgimpbase/gimpbasetypes.h: ...and added them here. * tools/pdbgen/Makefile.am: don't scan "app/apptypes.h" for enums. * tools/pdbgen/enumcode.pl: added a general check to prevent enums which are defined in libgimp* from being written to "libgimp/gimpenums.c". * libgimp/gimpenums.h * plug-ins/script-fu/script-fu-constants.c * tools/pdbgen/enums.pl: regenerated. * app/core/core-types.h: include "pdb/pdb-types.h" so including "core/core-types.h" gets the whole core type space. * app/core/gimp.[ch]: added a "stack_trace_mode" parameter to the constructor and store it in the Gimp struct because the value is also passed to plug-ins and nobody should include "appenv.h". * app/gimprc.[ch]: pass the alternate_system_gimprc and alternate_gimprc filenames from the command line to gimprc_prase() so we don't need to include "appenv.h". * app/batch.[ch]: pass the "batch_cmds" as parameter, don't include "append.h". * app/app_procs.c: pass more parameters around. * app/devices.c * app/errors.c * app/gimphelp.c * app/main.c * app/core/gimpgradient.c * app/display/gimpdisplay.c * app/display/gimpdisplayshell.c * app/file/file-open.c * app/file/file-save.c * app/file/file-utils.c * app/gui/commands.c * app/gui/error-console-dialog.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/gui/paths-dialog.c * app/gui/user-install-dialog.c * app/tools/gimpbezierselecttool.c * app/tools/xinput_airbrush.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/message.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly: - changed "plug-in.h" include where needed. - don't call gimp_fatal_error() directly, it's called via the log handler when calling g_error(). - don't incude "errors.h" except from main.c. - changed stack_trace and message_handler enum names. - get "stack_trace_mode" from Gimp. - removed many inclusions of "appenv.h". * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/message_cmds.c * app/pdb/plug_in_cmds.c * app/pdb/procedural_db.c: regenerated.
2001-12-01 08:14:14 +08:00
if (gimp->be_verbose)
g_print (_("querying plug-in: \"%s\"\n"), plug_in_def->prog);
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
plug_in_call_query (gimp, plug_in_def);
1997-11-25 06:05:25 +08:00
}
basename = g_path_get_basename (plug_in_def->prog);
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
(* status_callback) (NULL, basename, nth / n_plugins);
g_free (basename);
1997-11-25 06:05:25 +08:00
}
/* insert the proc defs */
for (tmp = plug_in_defs; tmp; tmp = g_slist_next (tmp))
1997-11-25 06:05:25 +08:00
{
plug_in_def = tmp->data;
for (tmp2 = plug_in_def->proc_defs; tmp2; tmp2 = g_slist_next (tmp2))
1997-11-25 06:05:25 +08:00
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
PlugInProcDef *overridden_proc_def;
1997-11-25 06:05:25 +08:00
proc_def = tmp2->data;
The unbelievable happened: a menu bar per display (optionally) 2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query.
2002-12-11 00:38:16 +08:00
proc_def->mtime = plug_in_def->mtime;
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
overridden_proc_def = plug_ins_proc_def_insert (proc_def);
if (overridden_proc_def)
{
GSList *tmp2;
g_warning ("removing duplicate PDB procedure \"%s\"",
overridden_proc_def->db_info.name);
/* search the plugin list to see if any plugins had references to
* the overridden_proc_def.
*/
for (tmp2 = plug_in_defs; tmp2; tmp2 = g_slist_next (tmp2))
{
PlugInDef *plug_in_def2;
plug_in_def2 = tmp2->data;
plug_in_def2->proc_defs =
g_slist_remove (plug_in_def2->proc_defs,
overridden_proc_def);
}
plug_in_proc_def_free (overridden_proc_def);
}
1997-11-25 06:05:25 +08:00
}
}
/* write the pluginrc file if necessary */
if (write_pluginrc)
{
app/Makefile.am removed... 2001-11-30 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/plug_in.[ch]: removed... * app/plug-in/Makefile.am * app/plug-in/plug-in-types.h * app/plug-in/plug-in.[ch]: ...and added here. * app/appenv.h: removed StackTraceMode and MessageHandlerType... * libgimpbase/gimpbasetypes.h: ...and added them here. * tools/pdbgen/Makefile.am: don't scan "app/apptypes.h" for enums. * tools/pdbgen/enumcode.pl: added a general check to prevent enums which are defined in libgimp* from being written to "libgimp/gimpenums.c". * libgimp/gimpenums.h * plug-ins/script-fu/script-fu-constants.c * tools/pdbgen/enums.pl: regenerated. * app/core/core-types.h: include "pdb/pdb-types.h" so including "core/core-types.h" gets the whole core type space. * app/core/gimp.[ch]: added a "stack_trace_mode" parameter to the constructor and store it in the Gimp struct because the value is also passed to plug-ins and nobody should include "appenv.h". * app/gimprc.[ch]: pass the alternate_system_gimprc and alternate_gimprc filenames from the command line to gimprc_prase() so we don't need to include "appenv.h". * app/batch.[ch]: pass the "batch_cmds" as parameter, don't include "append.h". * app/app_procs.c: pass more parameters around. * app/devices.c * app/errors.c * app/gimphelp.c * app/main.c * app/core/gimpgradient.c * app/display/gimpdisplay.c * app/display/gimpdisplayshell.c * app/file/file-open.c * app/file/file-save.c * app/file/file-utils.c * app/gui/commands.c * app/gui/error-console-dialog.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/gui/paths-dialog.c * app/gui/user-install-dialog.c * app/tools/gimpbezierselecttool.c * app/tools/xinput_airbrush.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/message.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly: - changed "plug-in.h" include where needed. - don't call gimp_fatal_error() directly, it's called via the log handler when calling g_error(). - don't incude "errors.h" except from main.c. - changed stack_trace and message_handler enum names. - get "stack_trace_mode" from Gimp. - removed many inclusions of "appenv.h". * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/message_cmds.c * app/pdb/plug_in_cmds.c * app/pdb/procedural_db.c: regenerated.
2001-12-01 08:14:14 +08:00
if (gimp->be_verbose)
g_print (_("writing \"%s\"\n"), filename);
plug_in_rc_write (plug_in_defs, filename);
1997-11-25 06:05:25 +08:00
}
1999-03-07 20:56:03 +08:00
g_free (filename);
1997-11-25 06:05:25 +08:00
/* add the plug-in procs to the procedure database */
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
plug_ins_add_to_db (gimp);
1997-11-25 06:05:25 +08:00
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
/* restore file procs order */
gimp->load_procs = g_slist_reverse (gimp->load_procs);
gimp->save_procs = g_slist_reverse (gimp->save_procs);
The unbelievable happened: a menu bar per display (optionally) 2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query.
2002-12-11 00:38:16 +08:00
/* create help_path and locale_domain lists */
for (tmp = plug_in_defs; tmp; tmp = g_slist_next (tmp))
{
plug_in_def = tmp->data;
if (plug_in_def->locale_domain)
{
PlugInLocaleDomainDef *locale_domain_def;
locale_domain_def = g_new (PlugInLocaleDomainDef, 1);
locale_domain_def->prog_name = g_strdup (plug_in_def->prog);
locale_domain_def->locale_domain = g_strdup (plug_in_def->locale_domain);
locale_domain_def->locale_path = g_strdup (plug_in_def->locale_path);
locale_domain_defs = g_slist_prepend (locale_domain_defs,
locale_domain_def);
}
if (plug_in_def->help_path)
{
PlugInHelpPathDef *help_path_def;
help_path_def = g_new (PlugInHelpPathDef, 1);
help_path_def->prog_name = g_strdup (plug_in_def->prog);
help_path_def->help_path = g_strdup (plug_in_def->help_path);
help_path_defs = g_slist_prepend (help_path_defs, help_path_def);
}
}
if (! gimp->no_interface)
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
plug_in_menus_init (gimp, plug_in_defs, STD_PLUGINS_DOMAIN);
1997-11-25 06:05:25 +08:00
/* initial the plug-ins */
(* status_callback) (_("Initializing Plug-ins"), "", 0);
for (tmp = plug_in_defs, nth = 0; tmp; tmp = g_slist_next (tmp), nth++)
{
plug_in_def = tmp->data;
if (plug_in_def->has_init)
{
if (gimp->be_verbose)
The unbelievable happened: a menu bar per display (optionally) 2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query.
2002-12-11 00:38:16 +08:00
g_print (_("Initializing plug-in: \"%s\"\n"), plug_in_def->prog);
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
plug_in_call_init (gimp, plug_in_def);
}
basename = g_path_get_basename (plug_in_def->prog);
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
(* status_callback) (NULL, basename, nth / n_plugins);
g_free (basename);
}
1997-11-25 06:05:25 +08:00
/* run the available extensions */
(* status_callback) (_("Starting Extensions"), "", 0);
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
n_plugins = g_slist_length (proc_defs);
for (tmp = proc_defs, nth = 0; tmp; tmp = g_slist_next (tmp), nth++)
1997-11-25 06:05:25 +08:00
{
proc_def = tmp->data;
if (proc_def->prog &&
(proc_def->db_info.num_args == 0) &&
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
(proc_def->db_info.proc_type == GIMP_EXTENSION))
1997-11-25 06:05:25 +08:00
{
app/Makefile.am removed... 2001-11-30 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/plug_in.[ch]: removed... * app/plug-in/Makefile.am * app/plug-in/plug-in-types.h * app/plug-in/plug-in.[ch]: ...and added here. * app/appenv.h: removed StackTraceMode and MessageHandlerType... * libgimpbase/gimpbasetypes.h: ...and added them here. * tools/pdbgen/Makefile.am: don't scan "app/apptypes.h" for enums. * tools/pdbgen/enumcode.pl: added a general check to prevent enums which are defined in libgimp* from being written to "libgimp/gimpenums.c". * libgimp/gimpenums.h * plug-ins/script-fu/script-fu-constants.c * tools/pdbgen/enums.pl: regenerated. * app/core/core-types.h: include "pdb/pdb-types.h" so including "core/core-types.h" gets the whole core type space. * app/core/gimp.[ch]: added a "stack_trace_mode" parameter to the constructor and store it in the Gimp struct because the value is also passed to plug-ins and nobody should include "appenv.h". * app/gimprc.[ch]: pass the alternate_system_gimprc and alternate_gimprc filenames from the command line to gimprc_prase() so we don't need to include "appenv.h". * app/batch.[ch]: pass the "batch_cmds" as parameter, don't include "append.h". * app/app_procs.c: pass more parameters around. * app/devices.c * app/errors.c * app/gimphelp.c * app/main.c * app/core/gimpgradient.c * app/display/gimpdisplay.c * app/display/gimpdisplayshell.c * app/file/file-open.c * app/file/file-save.c * app/file/file-utils.c * app/gui/commands.c * app/gui/error-console-dialog.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/gui/paths-dialog.c * app/gui/user-install-dialog.c * app/tools/gimpbezierselecttool.c * app/tools/xinput_airbrush.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/message.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly: - changed "plug-in.h" include where needed. - don't call gimp_fatal_error() directly, it's called via the log handler when calling g_error(). - don't incude "errors.h" except from main.c. - changed stack_trace and message_handler enum names. - get "stack_trace_mode" from Gimp. - removed many inclusions of "appenv.h". * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/message_cmds.c * app/pdb/plug_in_cmds.c * app/pdb/procedural_db.c: regenerated.
2001-12-01 08:14:14 +08:00
if (gimp->be_verbose)
The unbelievable happened: a menu bar per display (optionally) 2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query.
2002-12-11 00:38:16 +08:00
g_print (_("Starting extension: \"%s\""), proc_def->db_info.name);
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
(* status_callback) (NULL, proc_def->db_info.name, nth / n_plugins);
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
plug_in_run (gimp, &proc_def->db_info, NULL, 0, FALSE, TRUE, -1);
1997-11-25 06:05:25 +08:00
}
}
The unbelievable happened: a menu bar per display (optionally) 2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query.
2002-12-11 00:38:16 +08:00
/* free up stuff */
for (tmp = plug_in_defs; tmp; tmp = g_slist_next (tmp))
1997-11-25 06:05:25 +08:00
{
plug_in_def = tmp->data;
2000-02-24 06:31:26 +08:00
plug_in_def_free (plug_in_def, FALSE);
1997-11-25 06:05:25 +08:00
}
These changes enable help support for 3rd party plug-ins which install 2000-05-21 Michael Natterer <mitch@gimp.org> These changes enable help support for 3rd party plug-ins which install their help files outside GIMP's main help dir. Instead of calling gimp_help(), gimp_plugin_help_func() etc., all help callbacks now have to call gimp_standard_help_func() which has different implementations in the app and in libgimp. There is a new function gimp_plugin_help_register() which can be called during plug-in query. plug_in.c keeps a list of executable_name/help_path pairs. Plug-ins have to pass their exec. name to gimp_help() which uses the list to find the plug-in's help directory. * app/gimphelp.[ch]: gimp_help() now takes a help_path parameter. help_path == NULL means the standard help directory. Various changes to pass the help_path to the help browser. * app/gimprc.c: save the plug-in's help_path in the pluginrc file. * app/menus.c: ugly hack to enable help_paths in the "F1" callback. * app/plug_in.[ch]: many help_path related changes. Use g_basename() instead of strrchr(str,G_DIR_SEPARATOR), cosmetic cleanups. * app/internal_procs.c * app/gimphelp_cmds.c * tools/pdbgen/pdb/gimphelp.pdb: new procedure gimp_plugin_help_register(). gimp_help() takes a second parameter which is the executable name (not the help_path). * app/color_notebook.c * app/commands.c * app/lc_dialog.c * app/preferences_dialog.c * app/tools.c: call gimp_standard_help_func() instead of gimp_help(). * libgimp/gimp.c: new function gimp_get_progname() which returns the full path of the plug-in's executable. * libgimp/gimp.h: export the new function, removed gimp_plugin_help_func(), gimp_help() takes the executable name as second parameter. * libgimp/gimpcompat.h: added gimp_plugin_help_func(). * libgimp/gimphelp.c: a wrapper for gimp_plugin_help_register(), changed the calls to gimp_help. * libgimp/gimphelpui.[ch]: call gimp_standard_help_func() instead of gimp_help(). * plug-ins/helpbrowser/helpbrowser.c: now called with an additional help_path parameter. Various changes to enable help_path != gimp_standard_help_path. Unrelated stuff: * app/batch.h: added missing GPL header. * app/gimpunit.c: had a LGPL header, merged some fprintf's into one call. * app/procedural_db.[ch]: cosmetic: g* types, s/g_malloc/g_new/, prototypes, indentation. * app/resize.c: use less packing widgets. didn't find the "offset" redraw bug :(
2000-05-22 01:41:02 +08:00
1997-11-25 06:05:25 +08:00
g_slist_free (plug_in_defs);
These changes enable help support for 3rd party plug-ins which install 2000-05-21 Michael Natterer <mitch@gimp.org> These changes enable help support for 3rd party plug-ins which install their help files outside GIMP's main help dir. Instead of calling gimp_help(), gimp_plugin_help_func() etc., all help callbacks now have to call gimp_standard_help_func() which has different implementations in the app and in libgimp. There is a new function gimp_plugin_help_register() which can be called during plug-in query. plug_in.c keeps a list of executable_name/help_path pairs. Plug-ins have to pass their exec. name to gimp_help() which uses the list to find the plug-in's help directory. * app/gimphelp.[ch]: gimp_help() now takes a help_path parameter. help_path == NULL means the standard help directory. Various changes to pass the help_path to the help browser. * app/gimprc.c: save the plug-in's help_path in the pluginrc file. * app/menus.c: ugly hack to enable help_paths in the "F1" callback. * app/plug_in.[ch]: many help_path related changes. Use g_basename() instead of strrchr(str,G_DIR_SEPARATOR), cosmetic cleanups. * app/internal_procs.c * app/gimphelp_cmds.c * tools/pdbgen/pdb/gimphelp.pdb: new procedure gimp_plugin_help_register(). gimp_help() takes a second parameter which is the executable name (not the help_path). * app/color_notebook.c * app/commands.c * app/lc_dialog.c * app/preferences_dialog.c * app/tools.c: call gimp_standard_help_func() instead of gimp_help(). * libgimp/gimp.c: new function gimp_get_progname() which returns the full path of the plug-in's executable. * libgimp/gimp.h: export the new function, removed gimp_plugin_help_func(), gimp_help() takes the executable name as second parameter. * libgimp/gimpcompat.h: added gimp_plugin_help_func(). * libgimp/gimphelp.c: a wrapper for gimp_plugin_help_register(), changed the calls to gimp_help. * libgimp/gimphelpui.[ch]: call gimp_standard_help_func() instead of gimp_help(). * plug-ins/helpbrowser/helpbrowser.c: now called with an additional help_path parameter. Various changes to enable help_path != gimp_standard_help_path. Unrelated stuff: * app/batch.h: added missing GPL header. * app/gimpunit.c: had a LGPL header, merged some fprintf's into one call. * app/procedural_db.[ch]: cosmetic: g* types, s/g_malloc/g_new/, prototypes, indentation. * app/resize.c: use less packing widgets. didn't find the "offset" redraw bug :(
2000-05-22 01:41:02 +08:00
plug_in_defs = NULL;
1997-11-25 06:05:25 +08:00
}
void
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
plug_ins_exit (Gimp *gimp)
1997-11-25 06:05:25 +08:00
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
GSList *list;
1997-11-25 06:05:25 +08:00
plug_in_exit (gimp);
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
for (list = locale_domain_defs; list; list = g_slist_next (list))
1997-11-25 06:05:25 +08:00
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
PlugInLocaleDomainDef *locale_domain_def;
1997-11-25 06:05:25 +08:00
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
locale_domain_def = list->data;
1997-11-25 06:05:25 +08:00
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
g_free (locale_domain_def->prog_name);
g_free (locale_domain_def->locale_domain);
g_free (locale_domain_def->locale_path);
g_free (locale_domain_def);
1997-11-25 06:05:25 +08:00
}
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
g_slist_free (locale_domain_defs);
locale_domain_defs = NULL;
1997-11-25 06:05:25 +08:00
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
for (list = help_path_defs; list; list = g_slist_next (list))
{
PlugInHelpPathDef *help_path_def;
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
help_path_def = list->data;
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
g_free (help_path_def->prog_name);
g_free (help_path_def->help_path);
g_free (help_path_def);
1997-11-25 06:05:25 +08:00
}
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
g_slist_free (help_path_defs);
help_path_defs = NULL;
1997-11-25 06:05:25 +08:00
}
void
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
plug_ins_add_internal (PlugInProcDef *proc_def)
1997-11-25 06:05:25 +08:00
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
g_return_if_fail (proc_def != NULL);
1997-11-25 06:05:25 +08:00
proc_defs = g_slist_prepend (proc_defs, proc_def);
}
PlugInProcDef *
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
plug_ins_file_handler (gchar *name,
gchar *extensions,
gchar *prefixes,
gchar *magics)
1997-11-25 06:05:25 +08:00
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
GSList *list;
1997-11-25 06:05:25 +08:00
g_return_val_if_fail (name != NULL, NULL);
1997-11-25 06:05:25 +08:00
if (current_plug_in)
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
list = current_plug_in->plug_in_def->proc_defs;
1997-11-25 06:05:25 +08:00
else
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
list = proc_defs;
1997-11-25 06:05:25 +08:00
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
for (; list; list = g_slist_next (list))
1997-11-25 06:05:25 +08:00
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
PlugInProcDef *proc_def;
proc_def = list->data;
1997-11-25 06:05:25 +08:00
if (strcmp (proc_def->db_info.name, name) == 0)
{
/* EXTENSIONS can be proc_def->extensions */
if (proc_def->extensions != extensions)
{
if (proc_def->extensions)
g_free (proc_def->extensions);
proc_def->extensions = g_strdup (extensions);
}
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
proc_def->extensions_list =
plug_ins_extensions_parse (proc_def->extensions);
1997-11-25 06:05:25 +08:00
/* PREFIXES can be proc_def->prefixes */
if (proc_def->prefixes != prefixes)
{
if (proc_def->prefixes)
g_free (proc_def->prefixes);
proc_def->prefixes = g_strdup (prefixes);
}
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
proc_def->prefixes_list =
plug_ins_extensions_parse (proc_def->prefixes);
1997-11-25 06:05:25 +08:00
/* MAGICS can be proc_def->magics */
1997-11-25 06:05:25 +08:00
if (proc_def->magics != magics)
{
if (proc_def->magics)
g_free (proc_def->magics);
proc_def->magics = g_strdup (magics);
}
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
proc_def->magics_list =
plug_ins_extensions_parse (proc_def->magics);
1997-11-25 06:05:25 +08:00
return proc_def;
}
}
return NULL;
}
void
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
plug_ins_def_add_from_rc (PlugInDef *plug_in_def)
1997-11-25 06:05:25 +08:00
{
GSList *list;
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
gchar *basename1;
g_return_if_fail (plug_in_def != NULL);
g_return_if_fail (plug_in_def->prog != NULL);
if (! g_path_is_absolute (plug_in_def->prog))
{
g_warning ("plug_ins_def_add_from_rc: filename not absolute (skipping)");
plug_in_def_free (plug_in_def, TRUE);
return;
}
1997-11-25 06:05:25 +08:00
basename1 = g_path_get_basename (plug_in_def->prog);
1997-11-25 06:05:25 +08:00
/* If this is a file load or save plugin, make sure we have
* something for one of the extensions, prefixes, or magic number.
* Other bits of code rely on detecting file plugins by the presence
* of one of these things, but Nick Lamb's alien/unknown format
* loader needs to be able to register no extensions, prefixes or
* magics. -- austin 13/Feb/99
*/
for (list = plug_in_def->proc_defs; list; list = g_slist_next (list))
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
PlugInProcDef *proc_def;
proc_def = (PlugInProcDef *) list->data;
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
if (! proc_def->extensions &&
! proc_def->prefixes &&
! proc_def->magics &&
proc_def->menu_path &&
(! strncmp (proc_def->menu_path, "<Load>", 6) ||
! strncmp (proc_def->menu_path, "<Save>", 6)))
{
These changes enable help support for 3rd party plug-ins which install 2000-05-21 Michael Natterer <mitch@gimp.org> These changes enable help support for 3rd party plug-ins which install their help files outside GIMP's main help dir. Instead of calling gimp_help(), gimp_plugin_help_func() etc., all help callbacks now have to call gimp_standard_help_func() which has different implementations in the app and in libgimp. There is a new function gimp_plugin_help_register() which can be called during plug-in query. plug_in.c keeps a list of executable_name/help_path pairs. Plug-ins have to pass their exec. name to gimp_help() which uses the list to find the plug-in's help directory. * app/gimphelp.[ch]: gimp_help() now takes a help_path parameter. help_path == NULL means the standard help directory. Various changes to pass the help_path to the help browser. * app/gimprc.c: save the plug-in's help_path in the pluginrc file. * app/menus.c: ugly hack to enable help_paths in the "F1" callback. * app/plug_in.[ch]: many help_path related changes. Use g_basename() instead of strrchr(str,G_DIR_SEPARATOR), cosmetic cleanups. * app/internal_procs.c * app/gimphelp_cmds.c * tools/pdbgen/pdb/gimphelp.pdb: new procedure gimp_plugin_help_register(). gimp_help() takes a second parameter which is the executable name (not the help_path). * app/color_notebook.c * app/commands.c * app/lc_dialog.c * app/preferences_dialog.c * app/tools.c: call gimp_standard_help_func() instead of gimp_help(). * libgimp/gimp.c: new function gimp_get_progname() which returns the full path of the plug-in's executable. * libgimp/gimp.h: export the new function, removed gimp_plugin_help_func(), gimp_help() takes the executable name as second parameter. * libgimp/gimpcompat.h: added gimp_plugin_help_func(). * libgimp/gimphelp.c: a wrapper for gimp_plugin_help_register(), changed the calls to gimp_help. * libgimp/gimphelpui.[ch]: call gimp_standard_help_func() instead of gimp_help(). * plug-ins/helpbrowser/helpbrowser.c: now called with an additional help_path parameter. Various changes to enable help_path != gimp_standard_help_path. Unrelated stuff: * app/batch.h: added missing GPL header. * app/gimpunit.c: had a LGPL header, merged some fprintf's into one call. * app/procedural_db.[ch]: cosmetic: g* types, s/g_malloc/g_new/, prototypes, indentation. * app/resize.c: use less packing widgets. didn't find the "offset" redraw bug :(
2000-05-22 01:41:02 +08:00
proc_def->extensions = g_strdup ("");
}
}
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
/* Check if the entry mentioned in pluginrc matches an executable
* found in the plug_in_path.
*/
for (list = plug_in_defs; list; list = g_slist_next (list))
1997-11-25 06:05:25 +08:00
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
PlugInDef *ondisk_plug_in_def;
gchar *basename2;
1997-11-25 06:05:25 +08:00
ondisk_plug_in_def = (PlugInDef *) list->data;
1997-11-25 06:05:25 +08:00
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
basename2 = g_path_get_basename (ondisk_plug_in_def->prog);
if (! strcmp (basename1, basename2))
1997-11-25 06:05:25 +08:00
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
if (! g_ascii_strcasecmp (plug_in_def->prog,
ondisk_plug_in_def->prog) &&
(plug_in_def->mtime == ondisk_plug_in_def->mtime))
1997-11-25 06:05:25 +08:00
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
/* Use pluginrc entry, deleting ondisk entry */
list->data = plug_in_def;
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
plug_in_def_free (ondisk_plug_in_def, TRUE);
1997-11-25 06:05:25 +08:00
}
else
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
/* Use ondisk entry, deleting pluginrc entry */
plug_in_def_free (plug_in_def, TRUE);
1997-11-25 06:05:25 +08:00
}
g_free (basename2);
g_free (basename1);
1997-11-25 06:05:25 +08:00
return;
}
g_free (basename2);
1997-11-25 06:05:25 +08:00
}
g_free (basename1);
1997-11-25 06:05:25 +08:00
write_pluginrc = TRUE;
g_print ("executable not found: \"%s\"\n", plug_in_def->prog);
plug_in_def_free (plug_in_def, FALSE);
1997-11-25 06:05:25 +08:00
}
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
void
plug_ins_temp_proc_def_add (Gimp *gimp,
PlugInProcDef *proc_def,
const gchar *locale_domain,
const gchar *help_path)
1997-11-25 06:05:25 +08:00
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
g_return_if_fail (GIMP_IS_GIMP (gimp));
g_return_if_fail (proc_def != NULL);
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
if (! gimp->no_interface)
1997-11-25 06:05:25 +08:00
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
if (proc_def->menu_path)
{
if (! locale_domain)
locale_domain = STD_PLUGINS_DOMAIN;
1997-11-25 06:05:25 +08:00
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
plug_in_menus_create_entry (NULL, proc_def, locale_domain, help_path);
}
1997-11-25 06:05:25 +08:00
}
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
/* Register the procedural database entry */
procedural_db_register (gimp, &proc_def->db_info);
1997-11-25 06:05:25 +08:00
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
/* Add the definition to the global list */
proc_defs = g_slist_append (proc_defs, proc_def);
}
void
plug_ins_temp_proc_def_remove (Gimp *gimp,
PlugInProcDef *proc_def)
{
g_return_if_fail (GIMP_IS_GIMP (gimp));
g_return_if_fail (proc_def != NULL);
if (! gimp->no_interface)
{
if (proc_def->menu_path)
plug_in_menus_delete_entry (proc_def->menu_path);
1997-11-25 06:05:25 +08:00
}
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
/* Unregister the procedural database entry */
procedural_db_unregister (gimp, proc_def->db_info.name);
/* Remove the definition from the global list */
proc_defs = g_slist_remove (proc_defs, proc_def);
/* Destroy the definition */
plug_in_proc_def_free (proc_def);
1997-11-25 06:05:25 +08:00
}
The unbelievable happened: a menu bar per display (optionally) 2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query.
2002-12-11 00:38:16 +08:00
const gchar *
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
plug_ins_locale_domain (Gimp *gimp,
const gchar *prog_name,
The unbelievable happened: a menu bar per display (optionally) 2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query.
2002-12-11 00:38:16 +08:00
const gchar **locale_path)
{
PlugInLocaleDomainDef *locale_domain_def;
GSList *list;
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
The unbelievable happened: a menu bar per display (optionally) 2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query.
2002-12-11 00:38:16 +08:00
g_return_val_if_fail (prog_name != NULL, NULL);
if (locale_path)
*locale_path = gimp_locale_directory ();
for (list = locale_domain_defs; list; list = g_slist_next (list))
{
locale_domain_def = (PlugInLocaleDomainDef *) list->data;
if (locale_domain_def &&
locale_domain_def->prog_name &&
strcmp (locale_domain_def->prog_name, prog_name) == 0)
{
if (locale_path && locale_domain_def->locale_path)
*locale_path = locale_domain_def->locale_path;
return locale_domain_def->locale_domain;
}
}
return STD_PLUGINS_DOMAIN;
}
const gchar *
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
plug_ins_help_path (Gimp *gimp,
const gchar *prog_name)
These changes enable help support for 3rd party plug-ins which install 2000-05-21 Michael Natterer <mitch@gimp.org> These changes enable help support for 3rd party plug-ins which install their help files outside GIMP's main help dir. Instead of calling gimp_help(), gimp_plugin_help_func() etc., all help callbacks now have to call gimp_standard_help_func() which has different implementations in the app and in libgimp. There is a new function gimp_plugin_help_register() which can be called during plug-in query. plug_in.c keeps a list of executable_name/help_path pairs. Plug-ins have to pass their exec. name to gimp_help() which uses the list to find the plug-in's help directory. * app/gimphelp.[ch]: gimp_help() now takes a help_path parameter. help_path == NULL means the standard help directory. Various changes to pass the help_path to the help browser. * app/gimprc.c: save the plug-in's help_path in the pluginrc file. * app/menus.c: ugly hack to enable help_paths in the "F1" callback. * app/plug_in.[ch]: many help_path related changes. Use g_basename() instead of strrchr(str,G_DIR_SEPARATOR), cosmetic cleanups. * app/internal_procs.c * app/gimphelp_cmds.c * tools/pdbgen/pdb/gimphelp.pdb: new procedure gimp_plugin_help_register(). gimp_help() takes a second parameter which is the executable name (not the help_path). * app/color_notebook.c * app/commands.c * app/lc_dialog.c * app/preferences_dialog.c * app/tools.c: call gimp_standard_help_func() instead of gimp_help(). * libgimp/gimp.c: new function gimp_get_progname() which returns the full path of the plug-in's executable. * libgimp/gimp.h: export the new function, removed gimp_plugin_help_func(), gimp_help() takes the executable name as second parameter. * libgimp/gimpcompat.h: added gimp_plugin_help_func(). * libgimp/gimphelp.c: a wrapper for gimp_plugin_help_register(), changed the calls to gimp_help. * libgimp/gimphelpui.[ch]: call gimp_standard_help_func() instead of gimp_help(). * plug-ins/helpbrowser/helpbrowser.c: now called with an additional help_path parameter. Various changes to enable help_path != gimp_standard_help_path. Unrelated stuff: * app/batch.h: added missing GPL header. * app/gimpunit.c: had a LGPL header, merged some fprintf's into one call. * app/procedural_db.[ch]: cosmetic: g* types, s/g_malloc/g_new/, prototypes, indentation. * app/resize.c: use less packing widgets. didn't find the "offset" redraw bug :(
2000-05-22 01:41:02 +08:00
{
PlugInHelpPathDef *help_path_def;
The unbelievable happened: a menu bar per display (optionally) 2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query.
2002-12-11 00:38:16 +08:00
GSList *list;
These changes enable help support for 3rd party plug-ins which install 2000-05-21 Michael Natterer <mitch@gimp.org> These changes enable help support for 3rd party plug-ins which install their help files outside GIMP's main help dir. Instead of calling gimp_help(), gimp_plugin_help_func() etc., all help callbacks now have to call gimp_standard_help_func() which has different implementations in the app and in libgimp. There is a new function gimp_plugin_help_register() which can be called during plug-in query. plug_in.c keeps a list of executable_name/help_path pairs. Plug-ins have to pass their exec. name to gimp_help() which uses the list to find the plug-in's help directory. * app/gimphelp.[ch]: gimp_help() now takes a help_path parameter. help_path == NULL means the standard help directory. Various changes to pass the help_path to the help browser. * app/gimprc.c: save the plug-in's help_path in the pluginrc file. * app/menus.c: ugly hack to enable help_paths in the "F1" callback. * app/plug_in.[ch]: many help_path related changes. Use g_basename() instead of strrchr(str,G_DIR_SEPARATOR), cosmetic cleanups. * app/internal_procs.c * app/gimphelp_cmds.c * tools/pdbgen/pdb/gimphelp.pdb: new procedure gimp_plugin_help_register(). gimp_help() takes a second parameter which is the executable name (not the help_path). * app/color_notebook.c * app/commands.c * app/lc_dialog.c * app/preferences_dialog.c * app/tools.c: call gimp_standard_help_func() instead of gimp_help(). * libgimp/gimp.c: new function gimp_get_progname() which returns the full path of the plug-in's executable. * libgimp/gimp.h: export the new function, removed gimp_plugin_help_func(), gimp_help() takes the executable name as second parameter. * libgimp/gimpcompat.h: added gimp_plugin_help_func(). * libgimp/gimphelp.c: a wrapper for gimp_plugin_help_register(), changed the calls to gimp_help. * libgimp/gimphelpui.[ch]: call gimp_standard_help_func() instead of gimp_help(). * plug-ins/helpbrowser/helpbrowser.c: now called with an additional help_path parameter. Various changes to enable help_path != gimp_standard_help_path. Unrelated stuff: * app/batch.h: added missing GPL header. * app/gimpunit.c: had a LGPL header, merged some fprintf's into one call. * app/procedural_db.[ch]: cosmetic: g* types, s/g_malloc/g_new/, prototypes, indentation. * app/resize.c: use less packing widgets. didn't find the "offset" redraw bug :(
2000-05-22 01:41:02 +08:00
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
The unbelievable happened: a menu bar per display (optionally) 2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query.
2002-12-11 00:38:16 +08:00
g_return_val_if_fail (prog_name != NULL, NULL);
These changes enable help support for 3rd party plug-ins which install 2000-05-21 Michael Natterer <mitch@gimp.org> These changes enable help support for 3rd party plug-ins which install their help files outside GIMP's main help dir. Instead of calling gimp_help(), gimp_plugin_help_func() etc., all help callbacks now have to call gimp_standard_help_func() which has different implementations in the app and in libgimp. There is a new function gimp_plugin_help_register() which can be called during plug-in query. plug_in.c keeps a list of executable_name/help_path pairs. Plug-ins have to pass their exec. name to gimp_help() which uses the list to find the plug-in's help directory. * app/gimphelp.[ch]: gimp_help() now takes a help_path parameter. help_path == NULL means the standard help directory. Various changes to pass the help_path to the help browser. * app/gimprc.c: save the plug-in's help_path in the pluginrc file. * app/menus.c: ugly hack to enable help_paths in the "F1" callback. * app/plug_in.[ch]: many help_path related changes. Use g_basename() instead of strrchr(str,G_DIR_SEPARATOR), cosmetic cleanups. * app/internal_procs.c * app/gimphelp_cmds.c * tools/pdbgen/pdb/gimphelp.pdb: new procedure gimp_plugin_help_register(). gimp_help() takes a second parameter which is the executable name (not the help_path). * app/color_notebook.c * app/commands.c * app/lc_dialog.c * app/preferences_dialog.c * app/tools.c: call gimp_standard_help_func() instead of gimp_help(). * libgimp/gimp.c: new function gimp_get_progname() which returns the full path of the plug-in's executable. * libgimp/gimp.h: export the new function, removed gimp_plugin_help_func(), gimp_help() takes the executable name as second parameter. * libgimp/gimpcompat.h: added gimp_plugin_help_func(). * libgimp/gimphelp.c: a wrapper for gimp_plugin_help_register(), changed the calls to gimp_help. * libgimp/gimphelpui.[ch]: call gimp_standard_help_func() instead of gimp_help(). * plug-ins/helpbrowser/helpbrowser.c: now called with an additional help_path parameter. Various changes to enable help_path != gimp_standard_help_path. Unrelated stuff: * app/batch.h: added missing GPL header. * app/gimpunit.c: had a LGPL header, merged some fprintf's into one call. * app/procedural_db.[ch]: cosmetic: g* types, s/g_malloc/g_new/, prototypes, indentation. * app/resize.c: use less packing widgets. didn't find the "offset" redraw bug :(
2000-05-22 01:41:02 +08:00
for (list = help_path_defs; list; list = g_slist_next (list))
{
help_path_def = (PlugInHelpPathDef *) list->data;
if (help_path_def &&
help_path_def->prog_name &&
strcmp (help_path_def->prog_name, prog_name) == 0)
return help_path_def->help_path;
}
return NULL;
}
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
GSList *
plug_ins_extensions_parse (gchar *extensions)
{
GSList *list;
gchar *extension;
gchar *next_token;
list = NULL;
/* EXTENSIONS can be NULL. Avoid calling strtok if it is. */
if (extensions)
{
extensions = g_strdup (extensions);
next_token = extensions;
extension = strtok (next_token, " \t,");
while (extension)
{
list = g_slist_prepend (list, g_strdup (extension));
extension = strtok (NULL, " \t,");
}
g_free (extensions);
}
return g_slist_reverse (list);
}
PlugInImageType
plug_ins_image_types_parse (gchar *image_types)
{
gchar *type_spec = image_types;
PlugInImageType types = 0;
/*
* If the plug_in registers with image_type == NULL or "", return 0
* By doing so it won't be touched by plug_in_set_menu_sensitivity()
*/
if (!image_types)
return types;
while (*image_types)
{
while (*image_types &&
((*image_types == ' ') ||
(*image_types == '\t') ||
(*image_types == ',')))
image_types++;
if (*image_types)
{
if (strncmp (image_types, "RGBA", 4) == 0)
{
types |= PLUG_IN_RGBA_IMAGE;
image_types += 4;
}
else if (strncmp (image_types, "RGB*", 4) == 0)
{
types |= PLUG_IN_RGB_IMAGE | PLUG_IN_RGBA_IMAGE;
image_types += 4;
}
else if (strncmp (image_types, "RGB", 3) == 0)
{
types |= PLUG_IN_RGB_IMAGE;
image_types += 3;
}
else if (strncmp (image_types, "GRAYA", 5) == 0)
{
types |= PLUG_IN_GRAYA_IMAGE;
image_types += 5;
}
else if (strncmp (image_types, "GRAY*", 5) == 0)
{
types |= PLUG_IN_GRAY_IMAGE | PLUG_IN_GRAYA_IMAGE;
image_types += 5;
}
else if (strncmp (image_types, "GRAY", 4) == 0)
{
types |= PLUG_IN_GRAY_IMAGE;
image_types += 4;
}
else if (strncmp (image_types, "INDEXEDA", 8) == 0)
{
types |= PLUG_IN_INDEXEDA_IMAGE;
image_types += 8;
}
else if (strncmp (image_types, "INDEXED*", 8) == 0)
{
types |= PLUG_IN_INDEXED_IMAGE | PLUG_IN_INDEXEDA_IMAGE;
image_types += 8;
}
else if (strncmp (image_types, "INDEXED", 7) == 0)
{
types |= PLUG_IN_INDEXED_IMAGE;
image_types += 7;
}
else if (strncmp (image_types, "*", 1) == 0)
{
types |= PLUG_IN_RGB_IMAGE | PLUG_IN_RGBA_IMAGE
| PLUG_IN_GRAY_IMAGE | PLUG_IN_GRAYA_IMAGE
| PLUG_IN_INDEXED_IMAGE | PLUG_IN_INDEXEDA_IMAGE;
image_types += 1;
}
else
{
g_warning ("image_type contains unrecognizable parts: '%s'", type_spec);
while (*image_types &&
((*image_types != ' ') ||
(*image_types != '\t') ||
(*image_types != ',')))
image_types++;
}
}
}
return types;
}
/* private functions */
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
static void
Moved generic datafile loading to LibGimpBase: 2002-10-23 Michael Natterer <mitch@gimp.org> Moved generic datafile loading to LibGimpBase: * app/core/gimpdatafiles.[ch]: removed... * libgimpbase/gimpdatafiles.[ch]: ...and add here with a changed API which requires no more global variables. * libgimpbase/Makefile.am * libgimpbase/gimpbase.h * libgimpbase/gimpbasetypes.h * app/core/Makefile.am * app/core/core-types.h * app/core/gimpdatafactory.c * app/gui/gui.c * app/plug-in/plug-in.c * app/plug-in/plug-ins.c * app/tools/tools.c: changed accordingly. Moved module loading to LibGimpModule: * app/core/gimpmodules.c: removed lots of code... * libgimpmodule/gimpmoduledb.[ch]: ...and added it here as GimpModuleDB object. * libgimpmodule/Makefile.am * libgimpmodule/gimpmoduletypes.h: changed accordingly. * app/core/gimp.[ch]: replaced gimp->modules by gimp->module_db. * libgimpmodule/gimpmodule.[ch]: added gimp_module_query(). Internal cleanup. Stuff... * app/gui/module-browser.c: changed accordingly. Unfinished... * app/core/gimpcontainer.c * app/core/gimplist.c: reverted the HACKS introduced recently. * app/core/gimpobject.[ch]: added gimp_g_object_get_memsize() utility function. * libgimpproxy/gimpobject.[ch]: regenerated. Changed display filter configuration stuff: * libgimpwidgets/gimpcolordisplay.[ch]: made the virtual configure() function return a GtkWidget instead of opening a dialog. Changed configure_cancel() to configure_reset(). Added "changed" signal. * app/display/gimpdisplayshell-filter-dialog.c: embed the filters' config GUI in the dialog. Connect to "changed" and added a "Reset" button which resets the filter. * modules/cdisplay_gamma.c * modules/cdisplay_highcontrast.c: changed accordingly. * modules/colorsel_triangle.c * modules/colorsel_water.c: minor fixes. 2002-10-23 Michael Natterer <mitch@gimp.org> * libgimpbase/libgimpbase-docs.sgml * libgimpbase/libgimpbase-sections.txt * libgimpbase/tmpl/gimpbasetypes.sgml * libgimpbase/tmpl/gimpdatafiles.sgml: added GimpDatafiles * libgimpmodule/libgimpmodule-docs.sgml * libgimpmodule/libgimpmodule-sections.txt * libgimpmodule/tmpl/gimpmoduledb.sgml: added GimpModuleDB. * libgimpwidgets/libgimpwidgets.types: added gimp_dialog_get_type * libgimpmodule/tmpl/gimpmodule.sgml * libgimpwidgets/tmpl/gimpcolordisplay.sgml * libgimpwidgets/tmpl/gimpdialog.sgml: updated.
2002-10-23 22:55:07 +08:00
plug_ins_init_file (GimpDatafileData *file_data)
1997-11-25 06:05:25 +08:00
{
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
PlugInDef *plug_in_def;
GSList **plug_in_defs;
GSList *list;
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
gchar *basename;
plug_in_defs = file_data->user_data;
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
Moved generic datafile loading to LibGimpBase: 2002-10-23 Michael Natterer <mitch@gimp.org> Moved generic datafile loading to LibGimpBase: * app/core/gimpdatafiles.[ch]: removed... * libgimpbase/gimpdatafiles.[ch]: ...and add here with a changed API which requires no more global variables. * libgimpbase/Makefile.am * libgimpbase/gimpbase.h * libgimpbase/gimpbasetypes.h * app/core/Makefile.am * app/core/core-types.h * app/core/gimpdatafactory.c * app/gui/gui.c * app/plug-in/plug-in.c * app/plug-in/plug-ins.c * app/tools/tools.c: changed accordingly. Moved module loading to LibGimpModule: * app/core/gimpmodules.c: removed lots of code... * libgimpmodule/gimpmoduledb.[ch]: ...and added it here as GimpModuleDB object. * libgimpmodule/Makefile.am * libgimpmodule/gimpmoduletypes.h: changed accordingly. * app/core/gimp.[ch]: replaced gimp->modules by gimp->module_db. * libgimpmodule/gimpmodule.[ch]: added gimp_module_query(). Internal cleanup. Stuff... * app/gui/module-browser.c: changed accordingly. Unfinished... * app/core/gimpcontainer.c * app/core/gimplist.c: reverted the HACKS introduced recently. * app/core/gimpobject.[ch]: added gimp_g_object_get_memsize() utility function. * libgimpproxy/gimpobject.[ch]: regenerated. Changed display filter configuration stuff: * libgimpwidgets/gimpcolordisplay.[ch]: made the virtual configure() function return a GtkWidget instead of opening a dialog. Changed configure_cancel() to configure_reset(). Added "changed" signal. * app/display/gimpdisplayshell-filter-dialog.c: embed the filters' config GUI in the dialog. Connect to "changed" and added a "Reset" button which resets the filter. * modules/cdisplay_gamma.c * modules/cdisplay_highcontrast.c: changed accordingly. * modules/colorsel_triangle.c * modules/colorsel_water.c: minor fixes. 2002-10-23 Michael Natterer <mitch@gimp.org> * libgimpbase/libgimpbase-docs.sgml * libgimpbase/libgimpbase-sections.txt * libgimpbase/tmpl/gimpbasetypes.sgml * libgimpbase/tmpl/gimpdatafiles.sgml: added GimpDatafiles * libgimpmodule/libgimpmodule-docs.sgml * libgimpmodule/libgimpmodule-sections.txt * libgimpmodule/tmpl/gimpmoduledb.sgml: added GimpModuleDB. * libgimpwidgets/libgimpwidgets.types: added gimp_dialog_get_type * libgimpmodule/tmpl/gimpmodule.sgml * libgimpwidgets/tmpl/gimpcolordisplay.sgml * libgimpwidgets/tmpl/gimpdialog.sgml: updated.
2002-10-23 22:55:07 +08:00
basename = g_path_get_basename (file_data->filename);
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
for (list = *plug_in_defs; list; list = g_slist_next (list))
1997-11-25 06:05:25 +08:00
{
gchar *plug_in_name;
plug_in_def = (PlugInDef *) list->data;
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
plug_in_name = g_path_get_basename (plug_in_def->prog);
if (g_ascii_strcasecmp (basename, plug_in_name) == 0)
1997-11-25 06:05:25 +08:00
{
g_print ("skipping duplicate plug-in: \"%s\"\n",
Moved generic datafile loading to LibGimpBase: 2002-10-23 Michael Natterer <mitch@gimp.org> Moved generic datafile loading to LibGimpBase: * app/core/gimpdatafiles.[ch]: removed... * libgimpbase/gimpdatafiles.[ch]: ...and add here with a changed API which requires no more global variables. * libgimpbase/Makefile.am * libgimpbase/gimpbase.h * libgimpbase/gimpbasetypes.h * app/core/Makefile.am * app/core/core-types.h * app/core/gimpdatafactory.c * app/gui/gui.c * app/plug-in/plug-in.c * app/plug-in/plug-ins.c * app/tools/tools.c: changed accordingly. Moved module loading to LibGimpModule: * app/core/gimpmodules.c: removed lots of code... * libgimpmodule/gimpmoduledb.[ch]: ...and added it here as GimpModuleDB object. * libgimpmodule/Makefile.am * libgimpmodule/gimpmoduletypes.h: changed accordingly. * app/core/gimp.[ch]: replaced gimp->modules by gimp->module_db. * libgimpmodule/gimpmodule.[ch]: added gimp_module_query(). Internal cleanup. Stuff... * app/gui/module-browser.c: changed accordingly. Unfinished... * app/core/gimpcontainer.c * app/core/gimplist.c: reverted the HACKS introduced recently. * app/core/gimpobject.[ch]: added gimp_g_object_get_memsize() utility function. * libgimpproxy/gimpobject.[ch]: regenerated. Changed display filter configuration stuff: * libgimpwidgets/gimpcolordisplay.[ch]: made the virtual configure() function return a GtkWidget instead of opening a dialog. Changed configure_cancel() to configure_reset(). Added "changed" signal. * app/display/gimpdisplayshell-filter-dialog.c: embed the filters' config GUI in the dialog. Connect to "changed" and added a "Reset" button which resets the filter. * modules/cdisplay_gamma.c * modules/cdisplay_highcontrast.c: changed accordingly. * modules/colorsel_triangle.c * modules/colorsel_water.c: minor fixes. 2002-10-23 Michael Natterer <mitch@gimp.org> * libgimpbase/libgimpbase-docs.sgml * libgimpbase/libgimpbase-sections.txt * libgimpbase/tmpl/gimpbasetypes.sgml * libgimpbase/tmpl/gimpdatafiles.sgml: added GimpDatafiles * libgimpmodule/libgimpmodule-docs.sgml * libgimpmodule/libgimpmodule-sections.txt * libgimpmodule/tmpl/gimpmoduledb.sgml: added GimpModuleDB. * libgimpwidgets/libgimpwidgets.types: added gimp_dialog_get_type * libgimpmodule/tmpl/gimpmodule.sgml * libgimpwidgets/tmpl/gimpcolordisplay.sgml * libgimpwidgets/tmpl/gimpdialog.sgml: updated.
2002-10-23 22:55:07 +08:00
file_data->filename);
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
g_free (plug_in_name);
g_free (basename);
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
return;
1997-11-25 06:05:25 +08:00
}
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
g_free (plug_in_name);
1997-11-25 06:05:25 +08:00
}
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
g_free (basename);
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
plug_in_def = plug_in_def_new (file_data->filename);
plug_in_def_set_mtime (plug_in_def, file_data->mtime);
plug_in_def_set_needs_query (plug_in_def, TRUE);
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
*plug_in_defs = g_slist_append (*plug_in_defs, plug_in_def);
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
}
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
static void
plug_ins_add_to_db (Gimp *gimp)
1997-11-25 06:05:25 +08:00
{
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
PlugInProcDef *proc_def;
Argument args[4];
Argument *return_vals;
GSList *list;
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
for (list = proc_defs; list; list = g_slist_next (list))
1997-11-25 06:05:25 +08:00
{
proc_def = (PlugInProcDef *) list->data;
1997-11-25 06:05:25 +08:00
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
if (proc_def->prog && (proc_def->db_info.proc_type != GIMP_INTERNAL))
1997-11-25 06:05:25 +08:00
{
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
proc_def->db_info.exec_method.plug_in.filename = proc_def->prog;
procedural_db_register (gimp, &proc_def->db_info);
1997-11-25 06:05:25 +08:00
}
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
}
1997-11-25 06:05:25 +08:00
for (list = proc_defs; list; list = list->next)
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
{
proc_def = (PlugInProcDef *) list->data;
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
if (proc_def->extensions || proc_def->prefixes || proc_def->magics)
{
args[0].arg_type = GIMP_PDB_STRING;
args[0].value.pdb_pointer = proc_def->db_info.name;
1997-11-25 06:05:25 +08:00
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
args[1].arg_type = GIMP_PDB_STRING;
args[1].value.pdb_pointer = proc_def->extensions;
added -DG_DISABLE_DEPRECATED and -DGDK_DISABLE_COMPAT_H. 2001-08-29 Michael Natterer <mitch@gimp.org> * configure.in: added -DG_DISABLE_DEPRECATED and -DGDK_DISABLE_COMPAT_H. * app/batch.c * app/file-utils.c * app/gdisplay.c * app/gdisplay_ops.c * app/gimprc.[ch] * app/module_db.c * app/nav_window.c * app/undo_history.c * app/core/gimpgradient.c * app/core/gimpimagefile.c * app/core/gimppalette.c * app/gui/color-notebook.c * app/gui/convert-dialog.c * app/gui/error-console-dialog.c * app/gui/file-commands.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/gui/gradient-editor.c * app/gui/info-window.c * app/gui/menus.c * app/gui/palette-import-dialog.c * app/tools/gimpbycolorselecttool.c * app/widgets/gimpcontainerview-utils.c * app/widgets/gimpdatafactoryview.c * libgimp/gimpmenu.c * plug-ins/common/bz2.c * plug-ins/common/compose.c * plug-ins/common/csource.c * plug-ins/common/decompose.c * plug-ins/common/gz.c * plug-ins/common/uniteditor.c * plug-ins/common/wmf.c * plug-ins/common/xbm.c * plug-ins/rcm/rcm_dialog.c * plug-ins/script-fu/interp_slib.c * plug-ins/script-fu/script-fu-console.c * plug-ins/script-fu/script-fu-scripts.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/gimprc.pdb * app/pdb/fileops_cmds.c * app/pdb/gimprc_cmds.c: removed deprecated stuff like g_basename(), g_dirname(), g_strup() and friends. Added some "const gchar *" declarations while I was on it. Added some G_N_ELEMENTS() macros instead of declaring a useless variable for the number of items. * app/widgets/gtkhwrapbox.[ch] * app/widgets/gtkvwrapbox.[ch] * app/widgets/gtkwrapbox.[ch]: replaced with the latest versions from GLE, ported by the master himself. * app/gui/toolbox.c: changed accordingly. * app/plug_in.c * libgimp/gimp.c * libgimpbase/gimpwire.[ch]: use evil hacks to get binary mode from the new GIOChannel implementation (upstream bugreport already posted).
2001-08-30 01:48:28 +08:00
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
args[2].arg_type = GIMP_PDB_STRING;
args[2].value.pdb_pointer = proc_def->prefixes;
1999-03-07 20:56:03 +08:00
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
args[3].arg_type = GIMP_PDB_STRING;
args[3].value.pdb_pointer = proc_def->magics;
1997-11-25 06:05:25 +08:00
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
if (proc_def->image_types)
{
return_vals =
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
procedural_db_execute (gimp,
"gimp_register_save_handler",
args);
g_free (return_vals);
}
else
{
return_vals =
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
procedural_db_execute (gimp,
"gimp_register_magic_load_handler",
args);
g_free (return_vals);
}
1997-11-25 06:05:25 +08:00
}
}
}
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
static PlugInProcDef *
plug_ins_proc_def_insert (PlugInProcDef *proc_def)
1997-11-25 06:05:25 +08:00
{
GSList *list;
GSList *prev = NULL;
1997-11-25 06:05:25 +08:00
for (list = proc_defs; list; list = g_slist_next (list))
{
PlugInProcDef *tmp_proc_def;
tmp_proc_def = (PlugInProcDef *) list->data;
1997-11-25 06:05:25 +08:00
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
if (strcmp (proc_def->db_info.name, tmp_proc_def->db_info.name) == 0)
1999-03-07 20:56:03 +08:00
{
list->data = proc_def;
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
if (proc_def->menu_path)
g_free (proc_def->menu_path);
if (proc_def->accelerator)
g_free (proc_def->accelerator);
1997-11-25 06:05:25 +08:00
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
proc_def->menu_path = tmp_proc_def->menu_path;
proc_def->accelerator = tmp_proc_def->accelerator;
1997-11-25 06:05:25 +08:00
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
tmp_proc_def->menu_path = NULL;
tmp_proc_def->accelerator = NULL;
1997-11-25 06:05:25 +08:00
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
return tmp_proc_def;
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
}
else if (! proc_def->menu_path ||
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
(tmp_proc_def->menu_path &&
(strcmp (proc_def->menu_path, tmp_proc_def->menu_path) < 0)))
{
GSList *new;
new = g_slist_alloc ();
new->data = proc_def;
1997-11-25 06:05:25 +08:00
new->next = list;
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
if (prev)
prev->next = new;
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
else
proc_defs = new;
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
return NULL;
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
}
1997-11-25 06:05:25 +08:00
prev = list;
}
1997-11-25 06:05:25 +08:00
badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-in.[ch]: badly chopped into the new files below. Pass around much more "PlugIn" and "Gimp" pointers instead of using "current_plug_in" and "the_gimp". Needs much more hacking though... :( * app/plug-in/Makefile.am * app/plug-in/plug-in-def.[ch] * app/plug-in/plug-in-params.[ch] * app/plug-in/plug-in-progress.[ch] * app/plug-in/plug-ins.[ch]: new files. * app/gui/Makefile.am * app/gui/plug-in-commands.[ch] * app/gui/plug-in-menus.[ch]: ditto. * app/plug-in/plug-in-rc.c * app/plug-in/plug-in-types.h: changed accordingly. * app/pdb/procedural_db.c: changed procedural_db_destroy_args() so it can be used from plug_in_args_destroy(). Fixed a parasite memory leak (or introduced a new SEGV, we'll see...). * app/display/Makefile.am: another "truly ugly hack" until the plug-in menu stuff is chopped even more... * app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here, it is now in plug-in-commands.[ch]. * app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*() hacks. We have a GimpItemFactory available in most cases we used to call this functions, and can use gimp_item_factors_from_path() in all other cases. The item factory stuff needs more work anyway... * app/app_procs.c * app/gimphelp.c * app/display/gimpdisplayshell.c * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch] * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/xcf/xcf.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes, renamed functions and gimp_menu_item_*() removal). * app/pdb/fileops_cmds.c * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated.
2002-03-21 01:46:13 +08:00
proc_defs = g_slist_append (proc_defs, proc_def);
1997-11-25 06:05:25 +08:00
One more Plug-In cleanup, it's still a mess... 2003-01-17 Michael Natterer <mitch@gimp.org> One more Plug-In cleanup, it's still a mess... * app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field to "needs_query". Added setters for all values. Added g_return_if_fail() stuff to all functions. * app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new(). Removed the "gboolean data_only" parameter from plug_in_proc_def_destroy() and renamed it to plug_in_proc_def_free(). Added plug_in_proc_def_get_progname() which handles GIMP_TEMPORARY procedures correctly. * app/plug-in/plug-in-rc.c: use the new stuff above. * app/plug-in/plug-in.[ch]: renamed field "user_data" to "plug_in_def" and added a comment that it is valid only during query() and init(). Use the new APIs above. Pass meaningful locale_domains and help_paths when adding temporary procedures (fixes Scrip-Fu menu translation the right way (TM)). Cleanup. * app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]() to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters to plug_ins_help_path() and plug_ins_locale_domain(). Removed unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types(). Reverse gimp->load_procs and gimp->save_procs after all procedures are registered. Removed Script-Fu translation hack. Reordered stuff. * app/gui/plug-in-menus.[ch]: changed accordingly. Named all public functions plug_in_menus_*(). Fixed Script-Fu menu translation by using plug_in_proc_def_get_progname(). Cleanup. * app/gui/file-open-menu.c * app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs and gimp->save_procs here. * app/gui/toolbox-menu.c * app/gui/image-menu.c * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/plug_in.pdb: changed accordingly. * app/pdb/help_cmds.c * app/pdb/plug_in_cmds.c: regenerated. Unrelated: * app/gui/image-menu.c * app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't get why the "1" was there. Minor cleanup.
2003-01-18 02:07:37 +08:00
return NULL;
1997-11-25 06:05:25 +08:00
}