2004-08-28 04:06:17 +08:00
/* The GIMP -- an image manipulation program
* Copyright ( C ) 1995 - 2003 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 .
*/
/* NOTE: This file is autogenerated by pdbgen.pl. */
# include "config.h"
# include <glib-object.h>
# include "pdb-types.h"
2006-04-26 17:13:47 +08:00
# include "gimppdb.h"
2006-03-31 17:15:08 +08:00
# include "gimpprocedure.h"
2006-03-29 03:58:00 +08:00
# include "core/gimpparamspecs.h"
2004-08-28 04:06:17 +08:00
# include "core/gimp.h"
# include "plug-in/plug-in-progress.h"
# include "plug-in/plug-in.h"
2006-04-04 18:30:58 +08:00
static GValueArray *
progress_init_invoker ( GimpProcedure * procedure ,
Gimp * gimp ,
GimpContext * context ,
GimpProgress * progress ,
const GValueArray * args )
2004-08-28 04:06:17 +08:00
{
gboolean success = TRUE ;
2006-04-03 00:03:32 +08:00
const gchar * message ;
2006-03-24 05:56:13 +08:00
GimpObject * gdisplay ;
2004-08-28 04:06:17 +08:00
2006-04-04 18:30:58 +08:00
message = g_value_get_string ( & args - > values [ 0 ] ) ;
gdisplay = gimp_value_get_display ( & args - > values [ 1 ] , gimp ) ;
2004-08-28 04:06:17 +08:00
if ( success )
{
if ( gimp - > current_plug_in & & gimp - > current_plug_in - > open )
{
if ( ! gimp - > no_interface )
plug_in_progress_start ( gimp - > current_plug_in , message , gdisplay ) ;
}
else
success = FALSE ;
}
2006-04-01 01:42:13 +08:00
return gimp_procedure_get_return_values ( procedure , success ) ;
2004-08-28 04:06:17 +08:00
}
2006-04-04 18:30:58 +08:00
static GValueArray *
progress_update_invoker ( GimpProcedure * procedure ,
Gimp * gimp ,
GimpContext * context ,
GimpProgress * progress ,
const GValueArray * args )
2004-08-28 04:06:17 +08:00
{
gboolean success = TRUE ;
gdouble percentage ;
2006-04-04 18:30:58 +08:00
percentage = g_value_get_double ( & args - > values [ 0 ] ) ;
2004-08-28 04:06:17 +08:00
2006-03-30 07:56:07 +08:00
if ( success )
2004-08-28 04:06:17 +08:00
{
2006-03-30 07:56:07 +08:00
if ( gimp - > current_plug_in & & gimp - > current_plug_in - > open )
{
if ( ! gimp - > no_interface )
plug_in_progress_set_value ( gimp - > current_plug_in , percentage ) ;
}
else
success = FALSE ;
2004-08-28 04:06:17 +08:00
}
2006-04-01 01:42:13 +08:00
return gimp_procedure_get_return_values ( procedure , success ) ;
2004-08-28 04:06:17 +08:00
}
2006-04-04 18:30:58 +08:00
static GValueArray *
progress_pulse_invoker ( GimpProcedure * procedure ,
Gimp * gimp ,
GimpContext * context ,
GimpProgress * progress ,
const GValueArray * args )
2005-02-12 22:18:12 +08:00
{
gboolean success = TRUE ;
if ( gimp - > current_plug_in & & gimp - > current_plug_in - > open )
{
if ( ! gimp - > no_interface )
plug_in_progress_pulse ( gimp - > current_plug_in ) ;
}
else
success = FALSE ;
2006-04-01 01:42:13 +08:00
return gimp_procedure_get_return_values ( procedure , success ) ;
2005-02-12 22:18:12 +08:00
}
2006-04-04 18:30:58 +08:00
static GValueArray *
progress_set_text_invoker ( GimpProcedure * procedure ,
Gimp * gimp ,
GimpContext * context ,
GimpProgress * progress ,
const GValueArray * args )
2005-02-13 02:25:58 +08:00
{
gboolean success = TRUE ;
2006-04-03 00:03:32 +08:00
const gchar * message ;
2005-02-13 02:25:58 +08:00
2006-04-04 18:30:58 +08:00
message = g_value_get_string ( & args - > values [ 0 ] ) ;
2005-02-13 02:25:58 +08:00
if ( success )
{
if ( gimp - > current_plug_in & & gimp - > current_plug_in - > open )
{
if ( ! gimp - > no_interface )
plug_in_progress_set_text ( gimp - > current_plug_in , message ) ;
}
else
success = FALSE ;
}
2006-04-01 01:42:13 +08:00
return gimp_procedure_get_return_values ( procedure , success ) ;
2005-02-13 02:25:58 +08:00
}
2006-04-04 18:30:58 +08:00
static GValueArray *
progress_get_window_handle_invoker ( GimpProcedure * procedure ,
Gimp * gimp ,
GimpContext * context ,
GimpProgress * progress ,
const GValueArray * args )
2005-09-10 02:07:31 +08:00
{
gboolean success = TRUE ;
2006-04-04 18:30:58 +08:00
GValueArray * return_vals ;
2005-09-10 02:07:31 +08:00
gint32 window = 0 ;
if ( gimp - > current_plug_in & & gimp - > current_plug_in - > open )
{
if ( ! gimp - > no_interface )
window = plug_in_progress_get_window ( gimp - > current_plug_in ) ;
}
else
success = FALSE ;
2006-04-01 01:42:13 +08:00
return_vals = gimp_procedure_get_return_values ( procedure , success ) ;
2005-09-10 02:07:31 +08:00
if ( success )
2006-04-04 18:30:58 +08:00
g_value_set_int ( & return_vals - > values [ 1 ] , window ) ;
2005-09-10 02:07:31 +08:00
2006-03-28 05:09:32 +08:00
return return_vals ;
2005-09-10 02:07:31 +08:00
}
2006-04-04 18:30:58 +08:00
static GValueArray *
progress_install_invoker ( GimpProcedure * procedure ,
Gimp * gimp ,
GimpContext * context ,
GimpProgress * progress ,
const GValueArray * args )
2004-08-30 02:36:30 +08:00
{
gboolean success = TRUE ;
2006-04-03 00:03:32 +08:00
const gchar * progress_callback ;
2004-08-30 02:36:30 +08:00
2006-04-04 18:30:58 +08:00
progress_callback = g_value_get_string ( & args - > values [ 0 ] ) ;
2004-08-30 02:36:30 +08:00
if ( success )
{
if ( gimp - > current_plug_in & & gimp - > current_plug_in - > open )
2004-08-31 05:03:52 +08:00
success = plug_in_progress_install ( gimp - > current_plug_in ,
progress_callback ) ;
2004-08-30 02:36:30 +08:00
else
success = FALSE ;
}
2006-04-01 01:42:13 +08:00
return gimp_procedure_get_return_values ( procedure , success ) ;
2004-08-30 02:36:30 +08:00
}
2006-04-04 18:30:58 +08:00
static GValueArray *
progress_uninstall_invoker ( GimpProcedure * procedure ,
Gimp * gimp ,
GimpContext * context ,
GimpProgress * progress ,
const GValueArray * args )
2004-08-30 02:36:30 +08:00
{
gboolean success = TRUE ;
2006-04-03 00:03:32 +08:00
const gchar * progress_callback ;
2004-08-30 02:36:30 +08:00
2006-04-04 18:30:58 +08:00
progress_callback = g_value_get_string ( & args - > values [ 0 ] ) ;
2004-08-30 02:36:30 +08:00
if ( success )
{
if ( gimp - > current_plug_in & & gimp - > current_plug_in - > open )
2004-08-31 05:03:52 +08:00
success = plug_in_progress_uninstall ( gimp - > current_plug_in ,
progress_callback ) ;
2004-08-30 02:36:30 +08:00
else
success = FALSE ;
}
2006-04-01 01:42:13 +08:00
return gimp_procedure_get_return_values ( procedure , success ) ;
2004-08-30 02:36:30 +08:00
}
2006-04-04 18:30:58 +08:00
static GValueArray *
progress_cancel_invoker ( GimpProcedure * procedure ,
Gimp * gimp ,
GimpContext * context ,
GimpProgress * progress ,
const GValueArray * args )
2004-08-30 02:36:30 +08:00
{
gboolean success = TRUE ;
2006-04-03 00:03:32 +08:00
const gchar * progress_callback ;
2004-08-30 02:36:30 +08:00
2006-04-04 18:30:58 +08:00
progress_callback = g_value_get_string ( & args - > values [ 0 ] ) ;
2004-08-30 02:36:30 +08:00
if ( success )
{
if ( gimp - > current_plug_in & & gimp - > current_plug_in - > open )
2004-08-31 05:03:52 +08:00
success = plug_in_progress_cancel ( gimp - > current_plug_in ,
progress_callback ) ;
2004-08-30 02:36:30 +08:00
else
success = FALSE ;
}
2006-04-01 01:42:13 +08:00
return gimp_procedure_get_return_values ( procedure , success ) ;
2004-08-30 02:36:30 +08:00
}
2006-04-05 05:11:45 +08:00
void
2006-04-26 17:13:47 +08:00
register_progress_procs ( GimpPDB * pdb )
2004-08-30 02:36:30 +08:00
{
2006-04-05 05:11:45 +08:00
GimpProcedure * procedure ;
/*
* gimp - progress - init
*/
2006-04-06 18:01:30 +08:00
procedure = gimp_procedure_new ( progress_init_invoker ) ;
2006-04-07 18:04:27 +08:00
gimp_object_set_static_name ( GIMP_OBJECT ( procedure ) , " gimp-progress-init " ) ;
2006-04-05 05:11:45 +08:00
gimp_procedure_set_static_strings ( procedure ,
" gimp-progress-init " ,
" Initializes the progress bar for the current plug-in. " ,
" Initializes the progress bar for the current plug-in. It is only valid to call this procedure from a plug-in. " ,
" Spencer Kimball & Peter Mattis " ,
" Spencer Kimball & Peter Mattis " ,
" 1995-1996 " ,
NULL ) ;
gimp_procedure_add_argument ( procedure ,
gimp_param_spec_string ( " message " ,
" message " ,
" Message to use in the progress dialog " ,
FALSE , TRUE ,
NULL ,
GIMP_PARAM_READWRITE ) ) ;
gimp_procedure_add_argument ( procedure ,
gimp_param_spec_display_id ( " gdisplay " ,
" gdisplay " ,
" GimpDisplay to update progressbar in, or -1 for a seperate window " ,
2006-04-26 17:13:47 +08:00
pdb - > gimp ,
2006-04-05 05:11:45 +08:00
GIMP_PARAM_READWRITE | GIMP_PARAM_NO_VALIDATE ) ) ;
2006-04-26 17:13:47 +08:00
gimp_pdb_register_procedure ( pdb , procedure ) ;
2006-04-07 16:16:26 +08:00
g_object_unref ( procedure ) ;
2006-04-05 05:11:45 +08:00
/*
* gimp - progress - update
*/
2006-04-06 18:01:30 +08:00
procedure = gimp_procedure_new ( progress_update_invoker ) ;
2006-04-07 18:04:27 +08:00
gimp_object_set_static_name ( GIMP_OBJECT ( procedure ) , " gimp-progress-update " ) ;
2006-04-05 05:11:45 +08:00
gimp_procedure_set_static_strings ( procedure ,
" gimp-progress-update " ,
" Updates the progress bar for the current plug-in. " ,
" Updates the progress bar for the current plug-in. It is only valid to call this procedure from a plug-in. " ,
" Spencer Kimball & Peter Mattis " ,
" Spencer Kimball & Peter Mattis " ,
" 1995-1996 " ,
NULL ) ;
gimp_procedure_add_argument ( procedure ,
g_param_spec_double ( " percentage " ,
" percentage " ,
" Percentage of progress completed which must be between 0.0 and 1.0 " ,
- G_MAXDOUBLE , G_MAXDOUBLE , 0 ,
GIMP_PARAM_READWRITE ) ) ;
2006-04-26 17:13:47 +08:00
gimp_pdb_register_procedure ( pdb , procedure ) ;
2006-04-07 16:16:26 +08:00
g_object_unref ( procedure ) ;
2006-04-05 05:11:45 +08:00
/*
* gimp - progress - pulse
*/
2006-04-06 18:01:30 +08:00
procedure = gimp_procedure_new ( progress_pulse_invoker ) ;
2006-04-07 18:04:27 +08:00
gimp_object_set_static_name ( GIMP_OBJECT ( procedure ) , " gimp-progress-pulse " ) ;
2006-04-05 05:11:45 +08:00
gimp_procedure_set_static_strings ( procedure ,
" gimp-progress-pulse " ,
" Pulses the progress bar for the current plug-in. " ,
" Updates the progress bar for the current plug-in. It is only valid to call this procedure from a plug-in. Use this function instead of gimp_progress_update() if you cannot tell how much progress has been made. This usually causes the the progress bar to enter \" activity mode \" , where a block bounces back and forth. " ,
" Sven Neumann <sven@gimp.org> " ,
" Sven Neumann " ,
" 2005 " ,
NULL ) ;
2006-04-26 17:13:47 +08:00
gimp_pdb_register_procedure ( pdb , procedure ) ;
2006-04-07 16:16:26 +08:00
g_object_unref ( procedure ) ;
2006-04-05 05:11:45 +08:00
/*
* gimp - progress - set - text
*/
2006-04-06 18:01:30 +08:00
procedure = gimp_procedure_new ( progress_set_text_invoker ) ;
2006-04-07 18:04:27 +08:00
gimp_object_set_static_name ( GIMP_OBJECT ( procedure ) , " gimp-progress-set-text " ) ;
2006-04-05 05:11:45 +08:00
gimp_procedure_set_static_strings ( procedure ,
" gimp-progress-set-text " ,
" Changes the text in the progress bar for the current plug-in. " ,
" This function allows to change the text in the progress bar for the current plug-in. Unlike gimp_progress_init() it does not change the displayed value. " ,
" Sven Neumann <sven@gimp.org> " ,
" Sven Neumann " ,
" 2005 " ,
NULL ) ;
gimp_procedure_add_argument ( procedure ,
gimp_param_spec_string ( " message " ,
" message " ,
" Message to use in the progress dialog " ,
FALSE , TRUE ,
NULL ,
GIMP_PARAM_READWRITE ) ) ;
2006-04-26 17:13:47 +08:00
gimp_pdb_register_procedure ( pdb , procedure ) ;
2006-04-07 16:16:26 +08:00
g_object_unref ( procedure ) ;
2006-04-05 05:11:45 +08:00
/*
* gimp - progress - get - window - handle
*/
2006-04-06 18:01:30 +08:00
procedure = gimp_procedure_new ( progress_get_window_handle_invoker ) ;
2006-04-07 18:04:27 +08:00
gimp_object_set_static_name ( GIMP_OBJECT ( procedure ) , " gimp-progress-get-window-handle " ) ;
2006-04-05 05:11:45 +08:00
gimp_procedure_set_static_strings ( procedure ,
" gimp-progress-get-window-handle " ,
" Returns the native window ID of the toplevel window this plug-in's progress is displayed in. " ,
" This function returns the native window ID of the toplevel window this plug-in \' s progress is displayed in. " ,
" Michael Natterer <mitch@gimp.org> " ,
" Michael Natterer " ,
" 2004 " ,
NULL ) ;
gimp_procedure_add_return_value ( procedure ,
gimp_param_spec_int32 ( " window " ,
" window " ,
" The progress bar's toplevel window " ,
G_MININT32 , G_MAXINT32 , 0 ,
GIMP_PARAM_READWRITE ) ) ;
2006-04-26 17:13:47 +08:00
gimp_pdb_register_procedure ( pdb , procedure ) ;
2006-04-07 16:16:26 +08:00
g_object_unref ( procedure ) ;
2006-04-05 05:11:45 +08:00
/*
* gimp - progress - install
*/
2006-04-06 18:01:30 +08:00
procedure = gimp_procedure_new ( progress_install_invoker ) ;
2006-04-07 18:04:27 +08:00
gimp_object_set_static_name ( GIMP_OBJECT ( procedure ) , " gimp-progress-install " ) ;
2006-04-05 05:11:45 +08:00
gimp_procedure_set_static_strings ( procedure ,
" gimp-progress-install " ,
" Installs a progress callback for the current plug-in. " ,
" This function installs a temporary PDB procedure which will handle all progress calls made by this plug-in and any procedure it calls. Calling this function multiple times simply replaces the old progress callbacks. " ,
" Michael Natterer <mitch@gimp.org> " ,
" Michael Natterer " ,
" 2004 " ,
NULL ) ;
gimp_procedure_add_argument ( procedure ,
gimp_param_spec_string ( " progress-callback " ,
" progress callback " ,
" The callback PDB proc to call " ,
FALSE , FALSE ,
NULL ,
GIMP_PARAM_READWRITE ) ) ;
2006-04-26 17:13:47 +08:00
gimp_pdb_register_procedure ( pdb , procedure ) ;
2006-04-07 16:16:26 +08:00
g_object_unref ( procedure ) ;
2006-04-05 05:11:45 +08:00
/*
* gimp - progress - uninstall
*/
2006-04-06 18:01:30 +08:00
procedure = gimp_procedure_new ( progress_uninstall_invoker ) ;
2006-04-07 18:04:27 +08:00
gimp_object_set_static_name ( GIMP_OBJECT ( procedure ) , " gimp-progress-uninstall " ) ;
2006-04-05 05:11:45 +08:00
gimp_procedure_set_static_strings ( procedure ,
" gimp-progress-uninstall " ,
" Uninstalls the progress callback for the current plug-in. " ,
" This function uninstalls any progress callback installed with gimp_progress_install() before. " ,
" Michael Natterer <mitch@gimp.org> " ,
" Michael Natterer " ,
" 2004 " ,
NULL ) ;
gimp_procedure_add_argument ( procedure ,
gimp_param_spec_string ( " progress-callback " ,
" progress callback " ,
" The name of the callback registered for this progress " ,
FALSE , FALSE ,
NULL ,
GIMP_PARAM_READWRITE ) ) ;
2006-04-26 17:13:47 +08:00
gimp_pdb_register_procedure ( pdb , procedure ) ;
2006-04-07 16:16:26 +08:00
g_object_unref ( procedure ) ;
2006-04-05 05:11:45 +08:00
/*
* gimp - progress - cancel
*/
2006-04-06 18:01:30 +08:00
procedure = gimp_procedure_new ( progress_cancel_invoker ) ;
2006-04-07 18:04:27 +08:00
gimp_object_set_static_name ( GIMP_OBJECT ( procedure ) , " gimp-progress-cancel " ) ;
2006-04-05 05:11:45 +08:00
gimp_procedure_set_static_strings ( procedure ,
" gimp-progress-cancel " ,
" Cancels a running progress. " ,
" This function cancels the currently running progress. " ,
" Michael Natterer <mitch@gimp.org> " ,
" Michael Natterer " ,
" 2004 " ,
NULL ) ;
gimp_procedure_add_argument ( procedure ,
gimp_param_spec_string ( " progress-callback " ,
" progress callback " ,
" The name of the callback registered for this progress " ,
FALSE , FALSE ,
NULL ,
GIMP_PARAM_READWRITE ) ) ;
2006-04-26 17:13:47 +08:00
gimp_pdb_register_procedure ( pdb , procedure ) ;
2006-04-07 16:16:26 +08:00
g_object_unref ( procedure ) ;
2006-04-05 05:11:45 +08:00
}