2023-09-26 00:35:21 +02:00
/* PIKA - Photo and Image Kooker Application
* a rebranding of The GNU Image Manipulation Program ( created with heckimp )
* A derived work which may be trivial . However , any changes may be ( C ) 2023 by Aldercone Studio
*
* Original copyright , applying to most contents ( license remains unchanged ) :
* 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 3 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 , see < https : //www.gnu.org/licenses/>.
*/
/* NOTE: This file is auto-generated by pdbgen.pl. */
# include "config.h"
# include "stamp-pdbgen.h"
# include <gegl.h>
# include <gdk-pixbuf/gdk-pixbuf.h>
# include "libpikabase/pikabase.h"
# include "pdb-types.h"
# include "core/pika.h"
# include "core/pikaparamspecs.h"
# include "plug-in/pikaplugin-progress.h"
# include "plug-in/pikaplugin.h"
# include "plug-in/pikapluginmanager.h"
# include "pikapdb.h"
# include "pikaprocedure.h"
# include "internal-procs.h"
static PikaValueArray *
progress_init_invoker ( PikaProcedure * procedure ,
Pika * pika ,
PikaContext * context ,
PikaProgress * progress ,
const PikaValueArray * args ,
GError * * error )
{
gboolean success = TRUE ;
const gchar * message ;
PikaDisplay * gdisplay ;
message = g_value_get_string ( pika_value_array_index ( args , 0 ) ) ;
gdisplay = g_value_get_object ( pika_value_array_index ( args , 1 ) ) ;
if ( success )
{
PikaPlugIn * plug_in = pika - > plug_in_manager - > current_plug_in ;
if ( plug_in & & plug_in - > open )
{
if ( ! pika - > no_interface )
pika_plug_in_progress_start ( plug_in , message , gdisplay ) ;
}
else
success = FALSE ;
}
return pika_procedure_get_return_values ( procedure , success ,
error ? * error : NULL ) ;
}
static PikaValueArray *
progress_update_invoker ( PikaProcedure * procedure ,
Pika * pika ,
PikaContext * context ,
PikaProgress * progress ,
const PikaValueArray * args ,
GError * * error )
{
gboolean success = TRUE ;
gdouble percentage ;
percentage = g_value_get_double ( pika_value_array_index ( args , 0 ) ) ;
if ( success )
{
PikaPlugIn * plug_in = pika - > plug_in_manager - > current_plug_in ;
if ( plug_in & & plug_in - > open )
{
if ( ! pika - > no_interface )
pika_plug_in_progress_set_value ( plug_in , percentage ) ;
}
else
success = FALSE ;
}
return pika_procedure_get_return_values ( procedure , success ,
error ? * error : NULL ) ;
}
static PikaValueArray *
progress_pulse_invoker ( PikaProcedure * procedure ,
Pika * pika ,
PikaContext * context ,
PikaProgress * progress ,
const PikaValueArray * args ,
GError * * error )
{
gboolean success = TRUE ;
PikaPlugIn * plug_in = pika - > plug_in_manager - > current_plug_in ;
if ( plug_in & & plug_in - > open )
{
if ( ! pika - > no_interface )
pika_plug_in_progress_pulse ( plug_in ) ;
}
else
success = FALSE ;
return pika_procedure_get_return_values ( procedure , success ,
error ? * error : NULL ) ;
}
static PikaValueArray *
progress_set_text_invoker ( PikaProcedure * procedure ,
Pika * pika ,
PikaContext * context ,
PikaProgress * progress ,
const PikaValueArray * args ,
GError * * error )
{
gboolean success = TRUE ;
const gchar * message ;
message = g_value_get_string ( pika_value_array_index ( args , 0 ) ) ;
if ( success )
{
PikaPlugIn * plug_in = pika - > plug_in_manager - > current_plug_in ;
if ( plug_in & & plug_in - > open )
{
if ( ! pika - > no_interface )
pika_plug_in_progress_set_text ( plug_in , message ) ;
}
else
success = FALSE ;
}
return pika_procedure_get_return_values ( procedure , success ,
error ? * error : NULL ) ;
}
static PikaValueArray *
progress_end_invoker ( PikaProcedure * procedure ,
Pika * pika ,
PikaContext * context ,
PikaProgress * progress ,
const PikaValueArray * args ,
GError * * error )
{
gboolean success = TRUE ;
PikaPlugIn * plug_in = pika - > plug_in_manager - > current_plug_in ;
if ( plug_in & & plug_in - > open )
{
PikaPlugInProcFrame * proc_frame = pika_plug_in_get_proc_frame ( plug_in ) ;
pika_plug_in_progress_end ( plug_in , proc_frame ) ;
}
else
success = FALSE ;
return pika_procedure_get_return_values ( procedure , success ,
error ? * error : NULL ) ;
}
static PikaValueArray *
progress_get_window_handle_invoker ( PikaProcedure * procedure ,
Pika * pika ,
PikaContext * context ,
PikaProgress * progress ,
const PikaValueArray * args ,
GError * * error )
{
gboolean success = TRUE ;
PikaValueArray * return_vals ;
2023-10-30 23:55:30 +01:00
GBytes * handle = NULL ;
2023-09-26 00:35:21 +02:00
PikaPlugIn * plug_in = pika - > plug_in_manager - > current_plug_in ;
if ( plug_in & & plug_in - > open )
{
if ( ! pika - > no_interface )
2023-10-30 23:55:30 +01:00
handle = pika_plug_in_progress_get_window_id ( plug_in ) ;
2023-09-26 00:35:21 +02:00
}
else
success = FALSE ;
return_vals = pika_procedure_get_return_values ( procedure , success ,
error ? * error : NULL ) ;
if ( success )
2023-10-30 23:55:30 +01:00
g_value_take_boxed ( pika_value_array_index ( return_vals , 1 ) , handle ) ;
2023-09-26 00:35:21 +02:00
return return_vals ;
}
static PikaValueArray *
progress_install_invoker ( PikaProcedure * procedure ,
Pika * pika ,
PikaContext * context ,
PikaProgress * progress ,
const PikaValueArray * args ,
GError * * error )
{
gboolean success = TRUE ;
const gchar * progress_callback ;
progress_callback = g_value_get_string ( pika_value_array_index ( args , 0 ) ) ;
if ( success )
{
PikaPlugIn * plug_in = pika - > plug_in_manager - > current_plug_in ;
if ( plug_in & & plug_in - > open )
success = pika_plug_in_progress_install ( plug_in , progress_callback ) ;
else
success = FALSE ;
}
return pika_procedure_get_return_values ( procedure , success ,
error ? * error : NULL ) ;
}
static PikaValueArray *
progress_uninstall_invoker ( PikaProcedure * procedure ,
Pika * pika ,
PikaContext * context ,
PikaProgress * progress ,
const PikaValueArray * args ,
GError * * error )
{
gboolean success = TRUE ;
const gchar * progress_callback ;
progress_callback = g_value_get_string ( pika_value_array_index ( args , 0 ) ) ;
if ( success )
{
PikaPlugIn * plug_in = pika - > plug_in_manager - > current_plug_in ;
if ( plug_in & & plug_in - > open )
success = pika_plug_in_progress_uninstall ( plug_in , progress_callback ) ;
else
success = FALSE ;
}
return pika_procedure_get_return_values ( procedure , success ,
error ? * error : NULL ) ;
}
static PikaValueArray *
progress_cancel_invoker ( PikaProcedure * procedure ,
Pika * pika ,
PikaContext * context ,
PikaProgress * progress ,
const PikaValueArray * args ,
GError * * error )
{
gboolean success = TRUE ;
const gchar * progress_callback ;
progress_callback = g_value_get_string ( pika_value_array_index ( args , 0 ) ) ;
if ( success )
{
PikaPlugIn * plug_in = pika - > plug_in_manager - > current_plug_in ;
if ( plug_in & & plug_in - > open )
success = pika_plug_in_progress_cancel ( plug_in , progress_callback ) ;
else
success = FALSE ;
}
return pika_procedure_get_return_values ( procedure , success ,
error ? * error : NULL ) ;
}
void
register_progress_procs ( PikaPDB * pdb )
{
PikaProcedure * procedure ;
/*
* pika - progress - init
*/
procedure = pika_procedure_new ( progress_init_invoker ) ;
pika_object_set_static_name ( PIKA_OBJECT ( procedure ) ,
" pika-progress-init " ) ;
pika_procedure_set_static_help ( procedure ,
" 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. " ,
NULL ) ;
pika_procedure_set_static_attribution ( procedure ,
" Spencer Kimball & Peter Mattis " ,
" Spencer Kimball & Peter Mattis " ,
" 1995-1996 " ) ;
pika_procedure_add_argument ( procedure ,
pika_param_spec_string ( " message " ,
" message " ,
" Message to use in the progress dialog " ,
FALSE , TRUE , FALSE ,
NULL ,
PIKA_PARAM_READWRITE ) ) ;
pika_procedure_add_argument ( procedure ,
pika_param_spec_display ( " gdisplay " ,
" gdisplay " ,
" PikaDisplay to update progressbar in, or %NULL for a separate window " ,
TRUE ,
PIKA_PARAM_READWRITE ) ) ;
pika_pdb_register_procedure ( pdb , procedure ) ;
g_object_unref ( procedure ) ;
/*
* pika - progress - update
*/
procedure = pika_procedure_new ( progress_update_invoker ) ;
pika_object_set_static_name ( PIKA_OBJECT ( procedure ) ,
" pika-progress-update " ) ;
pika_procedure_set_static_help ( procedure ,
" 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. " ,
NULL ) ;
pika_procedure_set_static_attribution ( procedure ,
" Spencer Kimball & Peter Mattis " ,
" Spencer Kimball & Peter Mattis " ,
" 1995-1996 " ) ;
pika_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 ,
PIKA_PARAM_READWRITE ) ) ;
pika_pdb_register_procedure ( pdb , procedure ) ;
g_object_unref ( procedure ) ;
/*
* pika - progress - pulse
*/
procedure = pika_procedure_new ( progress_pulse_invoker ) ;
pika_object_set_static_name ( PIKA_OBJECT ( procedure ) ,
" pika-progress-pulse " ) ;
pika_procedure_set_static_help ( procedure ,
" 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 'pika-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. " ,
NULL ) ;
pika_procedure_set_static_attribution ( procedure ,
" Sven Neumann <sven@gimp.org> " ,
" Sven Neumann " ,
" 2005 " ) ;
pika_pdb_register_procedure ( pdb , procedure ) ;
g_object_unref ( procedure ) ;
/*
* pika - progress - set - text
*/
procedure = pika_procedure_new ( progress_set_text_invoker ) ;
pika_object_set_static_name ( PIKA_OBJECT ( procedure ) ,
" pika-progress-set-text " ) ;
pika_procedure_set_static_help ( procedure ,
" Changes the text in the progress bar for the current plug-in. " ,
" This function changes the text in the progress bar for the current plug-in. Unlike 'pika-progress-init' it does not change the displayed value. " ,
NULL ) ;
pika_procedure_set_static_attribution ( procedure ,
" Sven Neumann <sven@gimp.org> " ,
" Sven Neumann " ,
" 2005 " ) ;
pika_procedure_add_argument ( procedure ,
pika_param_spec_string ( " message " ,
" message " ,
" Message to use in the progress dialog " ,
FALSE , TRUE , FALSE ,
NULL ,
PIKA_PARAM_READWRITE ) ) ;
pika_pdb_register_procedure ( pdb , procedure ) ;
g_object_unref ( procedure ) ;
/*
* pika - progress - end
*/
procedure = pika_procedure_new ( progress_end_invoker ) ;
pika_object_set_static_name ( PIKA_OBJECT ( procedure ) ,
" pika-progress-end " ) ;
pika_procedure_set_static_help ( procedure ,
" Ends the progress bar for the current plug-in. " ,
" Ends the progress display for the current plug-in. Most plug-ins don't need to call this, they just exit when the work is done. It is only valid to call this procedure from a plug-in. " ,
NULL ) ;
pika_procedure_set_static_attribution ( procedure ,
" Sven Neumann <sven@gimp.org> " ,
" Sven Neumann " ,
" 2007 " ) ;
pika_pdb_register_procedure ( pdb , procedure ) ;
g_object_unref ( procedure ) ;
/*
* pika - progress - get - window - handle
*/
procedure = pika_procedure_new ( progress_get_window_handle_invoker ) ;
pika_object_set_static_name ( PIKA_OBJECT ( procedure ) ,
" pika-progress-get-window-handle " ) ;
pika_procedure_set_static_help ( procedure ,
2023-10-30 23:55:30 +01:00
" Returns the native handle of the toplevel window this plug-in's progress is displayed in. " ,
" This function returns the native handle allowing to identify the toplevel window this plug-in's progress is displayed in. \n "
" This handle can be of various types (integer, string, etc.) depending on the platform you are running on which is why it returns a GBytes. There are usually no reasons to call this directly. " ,
2023-09-26 00:35:21 +02:00
NULL ) ;
pika_procedure_set_static_attribution ( procedure ,
" Michael Natterer <mitch@gimp.org> " ,
" Michael Natterer " ,
" 2004 " ) ;
pika_procedure_add_return_value ( procedure ,
2023-10-30 23:55:30 +01:00
g_param_spec_boxed ( " handle " ,
" handle " ,
" The progress bar's toplevel window's handle " ,
G_TYPE_BYTES ,
PIKA_PARAM_READWRITE ) ) ;
2023-09-26 00:35:21 +02:00
pika_pdb_register_procedure ( pdb , procedure ) ;
g_object_unref ( procedure ) ;
/*
* pika - progress - install
*/
procedure = pika_procedure_new ( progress_install_invoker ) ;
pika_object_set_static_name ( PIKA_OBJECT ( procedure ) ,
" pika-progress-install " ) ;
pika_procedure_set_static_help ( procedure ,
" 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. " ,
NULL ) ;
pika_procedure_set_static_attribution ( procedure ,
" Michael Natterer <mitch@gimp.org> " ,
" Michael Natterer " ,
" 2004 " ) ;
pika_procedure_add_argument ( procedure ,
pika_param_spec_string ( " progress-callback " ,
" progress callback " ,
" The callback PDB proc to call " ,
FALSE , FALSE , TRUE ,
NULL ,
PIKA_PARAM_READWRITE ) ) ;
pika_pdb_register_procedure ( pdb , procedure ) ;
g_object_unref ( procedure ) ;
/*
* pika - progress - uninstall
*/
procedure = pika_procedure_new ( progress_uninstall_invoker ) ;
pika_object_set_static_name ( PIKA_OBJECT ( procedure ) ,
" pika-progress-uninstall " ) ;
pika_procedure_set_static_help ( procedure ,
" Uninstalls the progress callback for the current plug-in. " ,
" This function uninstalls any progress callback installed with 'pika-progress-install' before. " ,
NULL ) ;
pika_procedure_set_static_attribution ( procedure ,
" Michael Natterer <mitch@gimp.org> " ,
" Michael Natterer " ,
" 2004 " ) ;
pika_procedure_add_argument ( procedure ,
pika_param_spec_string ( " progress-callback " ,
" progress callback " ,
" The name of the callback registered for this progress " ,
FALSE , FALSE , TRUE ,
NULL ,
PIKA_PARAM_READWRITE ) ) ;
pika_pdb_register_procedure ( pdb , procedure ) ;
g_object_unref ( procedure ) ;
/*
* pika - progress - cancel
*/
procedure = pika_procedure_new ( progress_cancel_invoker ) ;
pika_object_set_static_name ( PIKA_OBJECT ( procedure ) ,
" pika-progress-cancel " ) ;
pika_procedure_set_static_help ( procedure ,
" Cancels a running progress. " ,
" This function cancels the currently running progress. " ,
NULL ) ;
pika_procedure_set_static_attribution ( procedure ,
" Michael Natterer <mitch@gimp.org> " ,
" Michael Natterer " ,
" 2004 " ) ;
pika_procedure_add_argument ( procedure ,
pika_param_spec_string ( " progress-callback " ,
" progress callback " ,
" The name of the callback registered for this progress " ,
FALSE , FALSE , TRUE ,
NULL ,
PIKA_PARAM_READWRITE ) ) ;
pika_pdb_register_procedure ( pdb , procedure ) ;
g_object_unref ( procedure ) ;
}