added lots more "GimpFooFunc gui_foo_func" vtable entries to the Gimp

2003-09-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: added lots more "GimpFooFunc gui_foo_func"
	vtable entries to the Gimp struct and wrapper function for them.
	They cover plug-in menu creation and plug-in progress utilities.

	* app/gui/gui.c: fill in the funtion pointers and dispatch
	to the actual functions.

	* app/pdb/Makefile.am (libapppdb_a_LIBADD): removed most hacks
	since the symbols are referenced within libappgui.a now.

	Removed any GTK+ dependency from the plug-ins/ directory:

	* app/plug-in/Makefile.am (INCLUDES): replaces GTK_CFLAGS by
	GDK_PIXBUF_CFLAGS.

	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-ins.c: replaced gui function calls to create
	menus and progress bars by calls to the wrappers.

	* app/plug-in/plug-in.c (plug_in_close): check dangling PDB
	dialogs using the new wrapper.

	* app/plug-in/plug-in-def.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in-run.c: removed trailing whitespace.
This commit is contained in:
Michael Natterer 2003-09-10 22:06:45 +00:00 committed by Michael Natterer
parent eeadbee0bb
commit 268c4fb1ce
17 changed files with 428 additions and 171 deletions

View File

@ -1,3 +1,31 @@
2003-09-10 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: added lots more "GimpFooFunc gui_foo_func"
vtable entries to the Gimp struct and wrapper function for them.
They cover plug-in menu creation and plug-in progress utilities.
* app/gui/gui.c: fill in the funtion pointers and dispatch
to the actual functions.
* app/pdb/Makefile.am (libapppdb_a_LIBADD): removed most hacks
since the symbols are referenced within libappgui.a now.
Removed any GTK+ dependency from the plug-ins/ directory:
* app/plug-in/Makefile.am (INCLUDES): replaces GTK_CFLAGS by
GDK_PIXBUF_CFLAGS.
* app/plug-in/plug-in-progress.c
* app/plug-in/plug-ins.c: replaced gui function calls to create
menus and progress bars by calls to the wrappers.
* app/plug-in/plug-in.c (plug_in_close): check dangling PDB
dialogs using the new wrapper.
* app/plug-in/plug-in-def.c
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-in-run.c: removed trailing whitespace.
2003-09-10 Manish Singh <yosh@gimp.org>
* configure.in: AC_SUBST the GDK_PIXBUF vars, to workaround automake

View File

@ -178,28 +178,36 @@ gimp_class_init (GimpClass *klass)
static void
gimp_init (Gimp *gimp)
{
gimp->config = NULL;
gimp->config = NULL;
gimp->be_verbose = FALSE;
gimp->no_data = FALSE;
gimp->no_interface = FALSE;
gimp->use_shm = FALSE;
gimp->message_handler = GIMP_CONSOLE;
gimp->stack_trace_mode = GIMP_STACK_TRACE_NEVER;
gimp->be_verbose = FALSE;
gimp->no_data = FALSE;
gimp->no_interface = FALSE;
gimp->use_shm = FALSE;
gimp->message_handler = GIMP_CONSOLE;
gimp->stack_trace_mode = GIMP_STACK_TRACE_NEVER;
gimp->gui_threads_enter_func = NULL;
gimp->gui_threads_leave_func = NULL;
gimp->gui_create_display_func = NULL;
gimp->gui_set_busy_func = NULL;
gimp->gui_unset_busy_func = NULL;
gimp->gui_message_func = NULL;
gimp->gui_threads_enter_func = NULL;
gimp->gui_threads_leave_func = NULL;
gimp->gui_create_display_func = NULL;
gimp->gui_set_busy_func = NULL;
gimp->gui_unset_busy_func = NULL;
gimp->gui_message_func = NULL;
gimp->gui_menus_init_func = NULL;
gimp->gui_menus_create_func = NULL;
gimp->gui_menus_delete_func = NULL;
gimp->gui_progress_start_func = NULL;
gimp->gui_progress_restart_func = NULL;
gimp->gui_progress_update_func = NULL;
gimp->gui_progress_end_func = NULL;
gimp->gui_pdb_dialogs_check_func = NULL;
gimp->busy = 0;
gimp->busy_idle_id = 0;
gimp->busy = 0;
gimp->busy_idle_id = 0;
gimp_units_init (gimp);
gimp->parasites = gimp_parasite_list_new ();
gimp->parasites = gimp_parasite_list_new ();
gimp_modules_init (gimp);
@ -932,6 +940,107 @@ gimp_message (Gimp *gimp,
g_printerr ("%s: %s\n", domain ? domain : GIMP_OBJECT (gimp)->name, message);
}
void
gimp_menus_init (Gimp *gimp,
GSList *plug_in_defs,
const gchar *std_plugins_domain)
{
g_return_if_fail (GIMP_IS_GIMP (gimp));
g_return_if_fail (std_plugins_domain != NULL);
if (gimp->gui_menus_init_func)
gimp->gui_menus_init_func (gimp, plug_in_defs, std_plugins_domain);
}
void
gimp_menus_create_entry (Gimp *gimp,
PlugInProcDef *proc_def,
const gchar *locale_domain,
const gchar *help_domain)
{
g_return_if_fail (GIMP_IS_GIMP (gimp));
g_return_if_fail (proc_def != NULL);
if (gimp->gui_menus_create_func)
gimp->gui_menus_create_func (gimp, proc_def, locale_domain, help_domain);
}
void
gimp_menus_delete_entry (Gimp *gimp,
const gchar *menu_path)
{
g_return_if_fail (GIMP_IS_GIMP (gimp));
g_return_if_fail (menu_path != NULL);
if (gimp->gui_menus_delete_func)
gimp->gui_menus_delete_func (gimp, menu_path);
}
GimpProgress *
gimp_start_progress (Gimp *gimp,
gint gdisp_ID,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data)
{
g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
if (gimp->gui_progress_start_func)
return gimp->gui_progress_start_func (gimp, gdisp_ID, message,
cancel_cb, cancel_data);
return NULL;
}
GimpProgress *
gimp_restart_progress (Gimp *gimp,
GimpProgress *progress,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data)
{
g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
g_return_val_if_fail (progress != NULL, NULL);
if (gimp->gui_progress_restart_func)
return gimp->gui_progress_restart_func (gimp, progress, message,
cancel_cb, cancel_data);
return NULL;
}
void
gimp_update_progress (Gimp *gimp,
GimpProgress *progress,
gdouble percentage)
{
g_return_if_fail (GIMP_IS_GIMP (gimp));
g_return_if_fail (progress != NULL);
if (gimp->gui_progress_update_func)
gimp->gui_progress_update_func (gimp, progress, percentage);
}
void
gimp_end_progress (Gimp *gimp,
GimpProgress *progress)
{
g_return_if_fail (GIMP_IS_GIMP (gimp));
g_return_if_fail (progress != NULL);
if (gimp->gui_progress_end_func)
gimp->gui_progress_end_func (gimp, progress);
}
void
gimp_pdb_dialogs_check (Gimp *gimp)
{
g_return_if_fail (GIMP_IS_GIMP (gimp));
if (gimp->gui_pdb_dialogs_check_func)
gimp->gui_pdb_dialogs_check_func (gimp);
}
GimpImage *
gimp_create_image (Gimp *gimp,
gint width,

View File

@ -23,15 +23,40 @@
#include "gimpobject.h"
typedef void (* GimpThreadEnterFunc) (Gimp *gimp);
typedef void (* GimpThreadLeaveFunc) (Gimp *gimp);
typedef GimpObject * (* GimpCreateDisplayFunc) (GimpImage *gimage,
guint scale);
typedef void (* GimpSetBusyFunc) (Gimp *gimp);
typedef void (* GimpUnsetBusyFunc) (Gimp *gimp);
typedef void (* GimpMessageFunc) (Gimp *gimp,
const gchar *domain,
const gchar *message);
typedef void (* GimpThreadEnterFunc) (Gimp *gimp);
typedef void (* GimpThreadLeaveFunc) (Gimp *gimp);
typedef GimpObject * (* GimpCreateDisplayFunc) (GimpImage *gimage,
guint scale);
typedef void (* GimpSetBusyFunc) (Gimp *gimp);
typedef void (* GimpUnsetBusyFunc) (Gimp *gimp);
typedef void (* GimpMessageFunc) (Gimp *gimp,
const gchar *domain,
const gchar *message);
typedef void (* GimpMenusInitFunc) (Gimp *gimp,
GSList *plug_in_defs,
const gchar *std_domain);
typedef void (* GimpMenusCreateFunc) (Gimp *gimp,
PlugInProcDef *proc_def,
const gchar *locale_domain,
const gchar *help_domain);
typedef void (* GimpMenusDeleteFunc) (Gimp *gimp,
const gchar *menu_path);
typedef GimpProgress * (* GimpProgressStartFunc) (Gimp *gimp,
gint gdisp_ID,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data);
typedef GimpProgress * (* GimpProgressRestartFunc) (Gimp *gimp,
GimpProgress *progress,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data);
typedef void (* GimpProgressUpdateFunc) (Gimp *gimp,
GimpProgress *progress,
gdouble percentage);
typedef void (* GimpProgressEndFunc) (Gimp *gimp,
GimpProgress *progress);
typedef void (* GimpPDBDialogsCheckFunc) (Gimp *gimp);
#define GIMP_TYPE_GIMP (gimp_get_type ())
@ -66,6 +91,14 @@ struct _Gimp
GimpSetBusyFunc gui_set_busy_func;
GimpUnsetBusyFunc gui_unset_busy_func;
GimpMessageFunc gui_message_func;
GimpMenusInitFunc gui_menus_init_func;
GimpMenusCreateFunc gui_menus_create_func;
GimpMenusDeleteFunc gui_menus_delete_func;
GimpProgressStartFunc gui_progress_start_func;
GimpProgressRestartFunc gui_progress_restart_func;
GimpProgressUpdateFunc gui_progress_update_func;
GimpProgressEndFunc gui_progress_end_func;
GimpPDBDialogsCheckFunc gui_pdb_dialogs_check_func;
gint busy;
guint busy_idle_id;
@ -111,12 +144,12 @@ struct _Gimp
GimpContainer *named_buffers;
GimpContainer *fonts;
GimpDataFactory *brush_factory;
GimpDataFactory *pattern_factory;
GimpDataFactory *gradient_factory;
GimpDataFactory *palette_factory;
GHashTable *procedural_ht;
GList *procedural_db_data_list;
@ -125,7 +158,7 @@ struct _Gimp
GimpContainer *tool_info_list;
GimpToolInfo *standard_tool_info;
/* the opened and saved images in MRU order */
GimpContainer *documents;
@ -189,6 +222,31 @@ void gimp_unset_busy (Gimp *gimp);
void gimp_message (Gimp *gimp,
const gchar *domain,
const gchar *message);
void gimp_menus_init (Gimp *gimp,
GSList *plug_in_defs,
const gchar *std_plugins_domain);
void gimp_menus_create_entry (Gimp *gimp,
PlugInProcDef *proc_def,
const gchar *locale_domain,
const gchar *help_domain);
void gimp_menus_delete_entry (Gimp *gimp,
const gchar *menu_path);
GimpProgress *gimp_start_progress (Gimp *gimp,
gint gdisp_ID,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data);
GimpProgress *gimp_restart_progress (Gimp *gimp,
GimpProgress *progress,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data);
void gimp_update_progress (Gimp *gimp,
GimpProgress *progress,
gdouble percentage);
void gimp_end_progress (Gimp *gimp,
GimpProgress *progress);
void gimp_pdb_dialogs_check (Gimp *gimp);
GimpImage * gimp_create_image (Gimp *gimp,
gint width,

View File

@ -42,6 +42,7 @@
#include "display/gimpdisplay-foreach.h"
#include "display/gimpdisplayshell.h"
#include "display/gimpdisplayshell-render.h"
#include "display/gimpprogress.h"
#include "widgets/gimpdevices.h"
#include "widgets/gimpdevicestatus.h"
@ -53,10 +54,16 @@
#include "widgets/gimpmenufactory.h"
#include "widgets/gimpwidgets-utils.h"
#include "brush-select.h"
#include "dialogs.h"
#include "dialogs-commands.h"
#include "font-select.h"
#include "gradient-select.h"
#include "gui.h"
#include "menus.h"
#include "palette-select.h"
#include "pattern-select.h"
#include "plug-in-menus.h"
#include "session.h"
#include "app_procs.h" /* FIXME */
@ -80,6 +87,31 @@ static void gui_message (Gimp *gimp,
const gchar *message);
static GimpObject * gui_display_new (GimpImage *gimage,
guint scale);
static void gui_menus_init (Gimp *gimp,
GSList *plug_in_defs,
const gchar *std_plugins_domain);
static void gui_menus_create_entry (Gimp *gimp,
PlugInProcDef *proc_def,
const gchar *locale_domain,
const gchar *help_domain);
static void gui_menus_delete_entry (Gimp *gimp,
const gchar *menu_path);
static GimpProgress * gui_start_progress (Gimp *gimp,
gint gdisp_ID,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data);
static GimpProgress * gui_restart_progress (Gimp *gimp,
GimpProgress *progress,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data);
static void gui_update_progress (Gimp *gimp,
GimpProgress *progress,
gdouble percentage);
static void gui_end_progress (Gimp *gimp,
GimpProgress *progress);
static void gui_pdb_dialogs_check (Gimp *gimp);
static void gui_themes_dir_foreach_func (const GimpDatafileData *file_data,
gpointer user_data);
@ -264,12 +296,20 @@ gui_init (Gimp *gimp)
display_config = GIMP_DISPLAY_CONFIG (gimp->config);
gui_config = GIMP_GUI_CONFIG (gimp->config);
gimp->gui_threads_enter_func = gui_threads_enter;
gimp->gui_threads_leave_func = gui_threads_leave;
gimp->gui_set_busy_func = gui_set_busy;
gimp->gui_unset_busy_func = gui_unset_busy;
gimp->gui_message_func = gui_message;
gimp->gui_create_display_func = gui_display_new;
gimp->gui_threads_enter_func = gui_threads_enter;
gimp->gui_threads_leave_func = gui_threads_leave;
gimp->gui_set_busy_func = gui_set_busy;
gimp->gui_unset_busy_func = gui_unset_busy;
gimp->gui_message_func = gui_message;
gimp->gui_create_display_func = gui_display_new;
gimp->gui_menus_init_func = gui_menus_init;
gimp->gui_menus_create_func = gui_menus_create_entry;
gimp->gui_menus_delete_func = gui_menus_delete_entry;
gimp->gui_progress_start_func = gui_start_progress;
gimp->gui_progress_restart_func = gui_restart_progress;
gimp->gui_progress_update_func = gui_update_progress;
gimp->gui_progress_end_func = gui_end_progress;
gimp->gui_pdb_dialogs_check_func = gui_pdb_dialogs_check;
image_disconnect_handler_id =
gimp_container_add_handler (gimp->images, "disconnect",
@ -473,6 +513,80 @@ gui_display_new (GimpImage *gimage,
return GIMP_OBJECT (gdisp);
}
static void
gui_menus_init (Gimp *gimp,
GSList *plug_in_defs,
const gchar *std_plugins_domain)
{
plug_in_menus_init (gimp, plug_in_defs, std_plugins_domain);
}
static void
gui_menus_create_entry (Gimp *gimp,
PlugInProcDef *proc_def,
const gchar *locale_domain,
const gchar *help_domain)
{
plug_in_menus_create_entry (NULL, proc_def, locale_domain, help_domain);
}
static void
gui_menus_delete_entry (Gimp *gimp,
const gchar *menu_path)
{
plug_in_menus_delete_entry (menu_path);
}
static GimpProgress *
gui_start_progress (Gimp *gimp,
gint gdisp_ID,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data)
{
GimpDisplay *gdisp = NULL;
if (gdisp_ID > 0)
gdisp = gimp_display_get_by_ID (gimp, gdisp_ID);
return gimp_progress_start (gdisp, message, TRUE, cancel_cb, cancel_data);
}
static GimpProgress *
gui_restart_progress (Gimp *gimp,
GimpProgress *progress,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data)
{
return gimp_progress_restart (progress, message, cancel_cb, cancel_data);
}
static void
gui_update_progress (Gimp *gimp,
GimpProgress *progress,
gdouble percentage)
{
gimp_progress_update (progress, percentage);
}
static void
gui_end_progress (Gimp *gimp,
GimpProgress *progress)
{
gimp_progress_end (progress);
}
static void
gui_pdb_dialogs_check (Gimp *gimp)
{
brush_select_dialogs_check ();
font_select_dialogs_check ();
gradient_select_dialogs_check ();
palette_select_dialogs_check ();
pattern_select_dialogs_check ();
}
static void
gui_themes_dir_foreach_func (const GimpDatafileData *file_data,
gpointer user_data)

View File

@ -49,7 +49,7 @@ libapppdb_a_SOURCES = \
unit_cmds.c
## This is a truly ugly hack
libapppdb_a_LIBADD = ../core/gimpcontainer-filter.o ../gui/pattern-select.o ../gui/brush-select.o ../gui/font-select.o
libapppdb_a_LIBADD = ../core/gimpcontainer-filter.o
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gimp-PDB\" \

View File

@ -8,7 +8,7 @@ AM_CPPFLAGS = \
INCLUDES = \
-I$(top_srcdir) \
-I$(top_srcdir)/app \
$(GTK_CFLAGS) \
$(GDK_PIXBUF_CFLAGS) \
-I$(includedir)
noinst_LIBRARIES = libappplug-in.a

View File

@ -18,28 +18,22 @@
#include "config.h"
#include <gtk/gtk.h>
#include <glib-object.h>
#include "plug-in-types.h"
#ifdef __GNUC__
#warning FIXME #include "display/display-types.h"
#endif
#include "display/display-types.h"
#include "core/gimp.h"
#include "pdb/procedural_db.h"
#include "display/gimpdisplay.h"
#include "display/gimpprogress.h"
#include "plug-in.h"
#include "plug-in-progress.h"
/* local function prototypes */
static void plug_in_progress_cancel (GtkWidget *widget,
PlugIn *plug_in);
static void plug_in_progress_cancel (gpointer eek,
PlugIn *plug_in);
/* public functions */
@ -49,23 +43,20 @@ plug_in_progress_start (PlugIn *plug_in,
const gchar *message,
gint gdisp_ID)
{
GimpDisplay *gdisp = NULL;
g_return_if_fail (plug_in != NULL);
if (! message)
message = plug_in->prog;
if (gdisp_ID > 0)
gdisp = gimp_display_get_by_ID (plug_in->gimp, gdisp_ID);
if (plug_in->progress)
plug_in->progress = gimp_progress_restart (plug_in->progress, message,
plug_in->progress = gimp_restart_progress (plug_in->gimp,
plug_in->progress, message,
G_CALLBACK (plug_in_progress_cancel),
plug_in);
else
plug_in->progress = gimp_progress_start (gdisp, message, TRUE,
G_CALLBACK (plug_in_progress_cancel),
plug_in->progress = gimp_start_progress (plug_in->gimp,
gdisp_ID, message,
G_CALLBACK (plug_in_progress_cancel),
plug_in);
}
@ -78,7 +69,7 @@ plug_in_progress_update (PlugIn *plug_in,
if (! plug_in->progress)
plug_in_progress_start (plug_in, NULL, -1);
gimp_progress_update (plug_in->progress, percentage);
gimp_update_progress (plug_in->gimp, plug_in->progress, percentage);
}
void
@ -88,7 +79,7 @@ plug_in_progress_end (PlugIn *plug_in)
if (plug_in->progress)
{
gimp_progress_end (plug_in->progress);
gimp_end_progress (plug_in->gimp, plug_in->progress);
plug_in->progress = NULL;
}
}
@ -97,8 +88,8 @@ plug_in_progress_end (PlugIn *plug_in)
/* private functions */
static void
plug_in_progress_cancel (GtkWidget *widget,
PlugIn *plug_in)
plug_in_progress_cancel (gpointer eek,
PlugIn *plug_in)
{
if (plug_in->recurse_main_loop || plug_in->temp_main_loops)
{

View File

@ -39,7 +39,7 @@
#include <sys/param.h>
#endif
#include <gtk/gtk.h>
#include <glib-object.h>
#if defined(G_OS_WIN32) || defined(G_WITH_CYGWIN)
@ -80,13 +80,6 @@
#include "core/gimp.h"
#include "core/gimpenvirontable.h"
#include "gui/brush-select.h"
#include "gui/gradient-select.h"
#include "gui/palette-select.h"
#include "gui/pattern-select.h"
#include "widgets/gimpwidgets-utils.h"
#include "plug-in.h"
#include "plug-ins.h"
#include "plug-in-debug.h"
@ -655,10 +648,7 @@ plug_in_close (PlugIn *plug_in,
}
/* Close any dialogs that this plugin might have opened */
brush_select_dialogs_check ();
gradient_select_dialogs_check ();
palette_select_dialogs_check ();
pattern_select_dialogs_check ();
gimp_pdb_dialogs_check (plug_in->gimp);
gimp->open_plug_ins = g_slist_remove (gimp->open_plug_ins, plug_in);
}

View File

@ -60,7 +60,7 @@ plug_in_run (Gimp *gimp,
ProcRecord *proc_rec,
Argument *args,
gint argc,
gboolean synchronous,
gboolean synchronous,
gboolean destroy_return_vals,
gint gdisp_ID)
{
@ -186,7 +186,7 @@ plug_in_repeat (Gimp *gimp,
args[i].arg_type = gimp->last_plug_in->args[i].arg_type;
/* initialize the first three plug-in arguments */
args[0].value.pdb_int = (with_interface ?
args[0].value.pdb_int = (with_interface ?
GIMP_RUN_INTERACTIVE : GIMP_RUN_WITH_LAST_VALS);
args[1].value.pdb_int = image_ID;
args[2].value.pdb_int = drawable_ID;

View File

@ -60,7 +60,7 @@ plug_in_run (Gimp *gimp,
ProcRecord *proc_rec,
Argument *args,
gint argc,
gboolean synchronous,
gboolean synchronous,
gboolean destroy_return_vals,
gint gdisp_ID)
{
@ -186,7 +186,7 @@ plug_in_repeat (Gimp *gimp,
args[i].arg_type = gimp->last_plug_in->args[i].arg_type;
/* initialize the first three plug-in arguments */
args[0].value.pdb_int = (with_interface ?
args[0].value.pdb_int = (with_interface ?
GIMP_RUN_INTERACTIVE : GIMP_RUN_WITH_LAST_VALS);
args[1].value.pdb_int = image_ID;
args[2].value.pdb_int = drawable_ID;

View File

@ -20,7 +20,7 @@
#include "string.h"
#include <gtk/gtk.h>
#include <glib-object.h>
#include "libgimpbase/gimpbase.h"
#include "libgimpbase/gimpprotocol.h"
@ -36,13 +36,6 @@
#include "core/gimpdrawable.h"
#include "core/gimpimage.h"
#ifdef __GNUC__
#warning FIXME #include "gui/gui-types.h"
#endif
#include "gui/gui-types.h"
#include "gui/plug-in-menus.h"
#include "plug-in.h"
#include "plug-ins.h"
#include "plug-in-def.h"
@ -277,7 +270,7 @@ plug_ins_init (Gimp *gimp,
}
if (! gimp->no_interface)
plug_in_menus_init (gimp, gimp->plug_in_defs, STD_PLUGINS_DOMAIN);
gimp_menus_init (gimp, gimp->plug_in_defs, STD_PLUGINS_DOMAIN);
/* initial the plug-ins */
(* status_callback) (_("Initializing Plug-ins"), "", 0);
@ -575,8 +568,8 @@ plug_ins_temp_proc_def_add (Gimp *gimp,
locale_domain = plug_ins_locale_domain (gimp, progname, NULL);
help_domain = plug_ins_help_domain (gimp, progname, NULL);
plug_in_menus_create_entry (NULL, proc_def,
locale_domain, help_domain);
gimp_menus_create_entry (gimp, proc_def,
locale_domain, help_domain);
}
}
@ -597,7 +590,7 @@ plug_ins_temp_proc_def_remove (Gimp *gimp,
if (! gimp->no_interface)
{
if (proc_def->menu_path)
plug_in_menus_delete_entry (proc_def->menu_path);
gimp_menus_delete_entry (gimp, proc_def->menu_path);
}
/* Unregister the procedural database entry */

View File

@ -37,7 +37,7 @@ plug_in_def_new (const gchar *prog)
plug_in_def = g_new0 (PlugInDef, 1);
plug_in_def->prog = g_strdup (prog);
return plug_in_def;
}
@ -87,10 +87,10 @@ plug_in_def_set_locale_domain_name (PlugInDef *plug_in_def,
g_return_if_fail (plug_in_def != NULL);
if (plug_in_def->locale_domain_name)
g_free (plug_in_def->locale_domain_name);
g_free (plug_in_def->locale_domain_name);
plug_in_def->locale_domain_name = g_strdup (domain_name);
}
void
plug_in_def_set_locale_domain_path (PlugInDef *plug_in_def,
const gchar *domain_path)

View File

@ -18,28 +18,22 @@
#include "config.h"
#include <gtk/gtk.h>
#include <glib-object.h>
#include "plug-in-types.h"
#ifdef __GNUC__
#warning FIXME #include "display/display-types.h"
#endif
#include "display/display-types.h"
#include "core/gimp.h"
#include "pdb/procedural_db.h"
#include "display/gimpdisplay.h"
#include "display/gimpprogress.h"
#include "plug-in.h"
#include "plug-in-progress.h"
/* local function prototypes */
static void plug_in_progress_cancel (GtkWidget *widget,
PlugIn *plug_in);
static void plug_in_progress_cancel (gpointer eek,
PlugIn *plug_in);
/* public functions */
@ -49,23 +43,20 @@ plug_in_progress_start (PlugIn *plug_in,
const gchar *message,
gint gdisp_ID)
{
GimpDisplay *gdisp = NULL;
g_return_if_fail (plug_in != NULL);
if (! message)
message = plug_in->prog;
if (gdisp_ID > 0)
gdisp = gimp_display_get_by_ID (plug_in->gimp, gdisp_ID);
if (plug_in->progress)
plug_in->progress = gimp_progress_restart (plug_in->progress, message,
plug_in->progress = gimp_restart_progress (plug_in->gimp,
plug_in->progress, message,
G_CALLBACK (plug_in_progress_cancel),
plug_in);
else
plug_in->progress = gimp_progress_start (gdisp, message, TRUE,
G_CALLBACK (plug_in_progress_cancel),
plug_in->progress = gimp_start_progress (plug_in->gimp,
gdisp_ID, message,
G_CALLBACK (plug_in_progress_cancel),
plug_in);
}
@ -78,7 +69,7 @@ plug_in_progress_update (PlugIn *plug_in,
if (! plug_in->progress)
plug_in_progress_start (plug_in, NULL, -1);
gimp_progress_update (plug_in->progress, percentage);
gimp_update_progress (plug_in->gimp, plug_in->progress, percentage);
}
void
@ -88,7 +79,7 @@ plug_in_progress_end (PlugIn *plug_in)
if (plug_in->progress)
{
gimp_progress_end (plug_in->progress);
gimp_end_progress (plug_in->gimp, plug_in->progress);
plug_in->progress = NULL;
}
}
@ -97,8 +88,8 @@ plug_in_progress_end (PlugIn *plug_in)
/* private functions */
static void
plug_in_progress_cancel (GtkWidget *widget,
PlugIn *plug_in)
plug_in_progress_cancel (gpointer eek,
PlugIn *plug_in)
{
if (plug_in->recurse_main_loop || plug_in->temp_main_loops)
{

View File

@ -38,7 +38,7 @@
#include "gimp-intl.h"
/*
/*
* All deserialize functions return G_TOKEN_LEFT_PAREN on success,
* or the GTokenType they would have expected but didn't get.
*/
@ -102,7 +102,7 @@ plug_in_rc_parse (Gimp *gimp,
while (g_scanner_peek_next_token (scanner) == token)
{
token = g_scanner_get_next_token (scanner);
switch (token)
{
case G_TOKEN_LEFT_PAREN:
@ -121,12 +121,12 @@ plug_in_rc_parse (Gimp *gimp,
case G_TOKEN_RIGHT_PAREN:
token = G_TOKEN_LEFT_PAREN;
break;
default: /* do nothing */
break;
}
}
if (token != G_TOKEN_LEFT_PAREN)
{
g_scanner_get_next_token (scanner);
@ -174,41 +174,41 @@ plug_in_def_deserialize (Gimp *gimp,
case G_TOKEN_LEFT_PAREN:
token = G_TOKEN_SYMBOL;
break;
case G_TOKEN_SYMBOL:
switch (GPOINTER_TO_INT (scanner->value.v_symbol))
{
case PROC_DEF:
proc_def = plug_in_proc_def_new ();
token = plug_in_proc_def_deserialize (scanner, proc_def);
if (token == G_TOKEN_LEFT_PAREN)
plug_in_def_add_proc_def (plug_in_def, proc_def);
else
plug_in_proc_def_free (proc_def);
break;
case LOCALE_DEF:
token = plug_in_locale_def_deserialize (scanner, plug_in_def);
break;
case HELP_DEF:
token = plug_in_help_def_deserialize (scanner, plug_in_def);
break;
case HAS_INIT:
token = plug_in_has_init_deserialize (scanner, plug_in_def);
break;
default:
break;
}
}
break;
case G_TOKEN_RIGHT_PAREN:
token = G_TOKEN_LEFT_PAREN;
break;
default:
break;
}
@ -239,43 +239,43 @@ plug_in_proc_def_deserialize (GScanner *scanner,
if (! gimp_scanner_parse_string (scanner, &proc_def->db_info.name))
return G_TOKEN_STRING;
if (! gimp_scanner_parse_int (scanner, (gint *) &proc_def->db_info.proc_type))
if (! gimp_scanner_parse_int (scanner, (gint *) &proc_def->db_info.proc_type))
return G_TOKEN_INT;
if (! gimp_scanner_parse_string (scanner, &proc_def->db_info.blurb))
return G_TOKEN_STRING;
if (! gimp_scanner_parse_string (scanner, &proc_def->db_info.help))
return G_TOKEN_STRING;
if (! gimp_scanner_parse_string (scanner, &proc_def->db_info.author))
if (! gimp_scanner_parse_string (scanner, &proc_def->db_info.author))
return G_TOKEN_STRING;
if (! gimp_scanner_parse_string (scanner, &proc_def->db_info.copyright))
if (! gimp_scanner_parse_string (scanner, &proc_def->db_info.copyright))
return G_TOKEN_STRING;
if (! gimp_scanner_parse_string (scanner, &proc_def->db_info.date))
if (! gimp_scanner_parse_string (scanner, &proc_def->db_info.date))
return G_TOKEN_STRING;
if (! gimp_scanner_parse_string (scanner, &proc_def->menu_path))
if (! gimp_scanner_parse_string (scanner, &proc_def->menu_path))
return G_TOKEN_STRING;
if (! gimp_scanner_parse_string (scanner, &proc_def->extensions))
if (! gimp_scanner_parse_string (scanner, &proc_def->extensions))
return G_TOKEN_STRING;
if (! gimp_scanner_parse_string (scanner, &proc_def->prefixes))
if (! gimp_scanner_parse_string (scanner, &proc_def->prefixes))
return G_TOKEN_STRING;
if (! gimp_scanner_parse_string_no_validate (scanner, &proc_def->magics))
if (! gimp_scanner_parse_string_no_validate (scanner, &proc_def->magics))
return G_TOKEN_STRING;
if (! gimp_scanner_parse_string (scanner, &proc_def->image_types))
if (! gimp_scanner_parse_string (scanner, &proc_def->image_types))
return G_TOKEN_STRING;
proc_def->image_types_val =
proc_def->image_types_val =
plug_ins_image_types_parse (proc_def->image_types);
if (! gimp_scanner_parse_int (scanner, (gint *) &proc_def->db_info.num_args))
if (! gimp_scanner_parse_int (scanner, (gint *) &proc_def->db_info.num_args))
return G_TOKEN_INT;
if (! gimp_scanner_parse_int (scanner, (gint *) &proc_def->db_info.num_values))
if (! gimp_scanner_parse_int (scanner, (gint *) &proc_def->db_info.num_values))
return G_TOKEN_INT;
if (proc_def->db_info.num_args > 0)
proc_def->db_info.args = g_new0 (ProcArg, proc_def->db_info.num_args);
for (i = 0; i < proc_def->db_info.num_args; i++)
{
token = plug_in_proc_arg_deserialize (scanner,
token = plug_in_proc_arg_deserialize (scanner,
&proc_def->db_info.args[i]);
if (token != G_TOKEN_LEFT_PAREN)
return token;
@ -286,12 +286,12 @@ plug_in_proc_def_deserialize (GScanner *scanner,
for (i = 0; i < proc_def->db_info.num_values; i++)
{
token = plug_in_proc_arg_deserialize (scanner,
token = plug_in_proc_arg_deserialize (scanner,
&proc_def->db_info.values[i]);
if (token != G_TOKEN_LEFT_PAREN)
return token;
}
if (! gimp_scanner_parse_token (scanner, G_TOKEN_RIGHT_PAREN))
return G_TOKEN_RIGHT_PAREN;
@ -315,7 +315,7 @@ plug_in_proc_arg_deserialize (GScanner *scanner,
return G_TOKEN_STRING;
if (! gimp_scanner_parse_string (scanner, &arg->description))
return G_TOKEN_STRING;
if (! gimp_scanner_parse_token (scanner, G_TOKEN_RIGHT_PAREN))
return G_TOKEN_RIGHT_PAREN;
@ -346,7 +346,7 @@ plug_in_locale_def_deserialize (GScanner *scanner,
return G_TOKEN_LEFT_PAREN;
}
static GTokenType
static GTokenType
plug_in_help_def_deserialize (GScanner *scanner,
PlugInDef *plug_in_def)
{
@ -370,7 +370,7 @@ plug_in_help_def_deserialize (GScanner *scanner,
return G_TOKEN_LEFT_PAREN;
}
static GTokenType
static GTokenType
plug_in_has_init_deserialize (GScanner *scanner,
PlugInDef *plug_in_def)
{
@ -481,7 +481,7 @@ plug_in_rc_write (GSList *plug_in_defs,
gimp_config_writer_close (writer);
}
if (plug_in_def->locale_domain_name)
{
gimp_config_writer_open (writer, "locale-def");
@ -500,14 +500,14 @@ plug_in_rc_write (GSList *plug_in_defs,
gimp_config_writer_open (writer, "help-def");
gimp_config_writer_string (writer,
plug_in_def->help_domain_name);
if (plug_in_def->help_domain_uri)
gimp_config_writer_string (writer,
plug_in_def->help_domain_uri);
gimp_config_writer_close (writer);
}
if (plug_in_def->has_init)
{
gimp_config_writer_open (writer, "has-init");
@ -515,7 +515,7 @@ plug_in_rc_write (GSList *plug_in_defs,
}
gimp_config_writer_close (writer);
}
}
}
return gimp_config_writer_finish (writer, "end of plug-ins", error);

View File

@ -60,7 +60,7 @@ plug_in_run (Gimp *gimp,
ProcRecord *proc_rec,
Argument *args,
gint argc,
gboolean synchronous,
gboolean synchronous,
gboolean destroy_return_vals,
gint gdisp_ID)
{
@ -186,7 +186,7 @@ plug_in_repeat (Gimp *gimp,
args[i].arg_type = gimp->last_plug_in->args[i].arg_type;
/* initialize the first three plug-in arguments */
args[0].value.pdb_int = (with_interface ?
args[0].value.pdb_int = (with_interface ?
GIMP_RUN_INTERACTIVE : GIMP_RUN_WITH_LAST_VALS);
args[1].value.pdb_int = image_ID;
args[2].value.pdb_int = drawable_ID;

View File

@ -39,7 +39,7 @@
#include <sys/param.h>
#endif
#include <gtk/gtk.h>
#include <glib-object.h>
#if defined(G_OS_WIN32) || defined(G_WITH_CYGWIN)
@ -80,13 +80,6 @@
#include "core/gimp.h"
#include "core/gimpenvirontable.h"
#include "gui/brush-select.h"
#include "gui/gradient-select.h"
#include "gui/palette-select.h"
#include "gui/pattern-select.h"
#include "widgets/gimpwidgets-utils.h"
#include "plug-in.h"
#include "plug-ins.h"
#include "plug-in-debug.h"
@ -655,10 +648,7 @@ plug_in_close (PlugIn *plug_in,
}
/* Close any dialogs that this plugin might have opened */
brush_select_dialogs_check ();
gradient_select_dialogs_check ();
palette_select_dialogs_check ();
pattern_select_dialogs_check ();
gimp_pdb_dialogs_check (plug_in->gimp);
gimp->open_plug_ins = g_slist_remove (gimp->open_plug_ins, plug_in);
}

View File

@ -20,7 +20,7 @@
#include "string.h"
#include <gtk/gtk.h>
#include <glib-object.h>
#include "libgimpbase/gimpbase.h"
#include "libgimpbase/gimpprotocol.h"
@ -36,13 +36,6 @@
#include "core/gimpdrawable.h"
#include "core/gimpimage.h"
#ifdef __GNUC__
#warning FIXME #include "gui/gui-types.h"
#endif
#include "gui/gui-types.h"
#include "gui/plug-in-menus.h"
#include "plug-in.h"
#include "plug-ins.h"
#include "plug-in-def.h"
@ -277,7 +270,7 @@ plug_ins_init (Gimp *gimp,
}
if (! gimp->no_interface)
plug_in_menus_init (gimp, gimp->plug_in_defs, STD_PLUGINS_DOMAIN);
gimp_menus_init (gimp, gimp->plug_in_defs, STD_PLUGINS_DOMAIN);
/* initial the plug-ins */
(* status_callback) (_("Initializing Plug-ins"), "", 0);
@ -575,8 +568,8 @@ plug_ins_temp_proc_def_add (Gimp *gimp,
locale_domain = plug_ins_locale_domain (gimp, progname, NULL);
help_domain = plug_ins_help_domain (gimp, progname, NULL);
plug_in_menus_create_entry (NULL, proc_def,
locale_domain, help_domain);
gimp_menus_create_entry (gimp, proc_def,
locale_domain, help_domain);
}
}
@ -597,7 +590,7 @@ plug_ins_temp_proc_def_remove (Gimp *gimp,
if (! gimp->no_interface)
{
if (proc_def->menu_path)
plug_in_menus_delete_entry (proc_def->menu_path);
gimp_menus_delete_entry (gimp, proc_def->menu_path);
}
/* Unregister the procedural database entry */