24
24
#include <glib-object.h>
26
26
#include "pdb-types.h"
27
#include "procedural_db.h"
28
#include "gimpprocedure.h"
29
#include "core/gimpparamspecs.h"
29
31
#include "core/gimp.h"
30
32
#include "core/gimpdatafactory.h"
32
static ProcRecord patterns_popup_proc;
33
static ProcRecord patterns_close_popup_proc;
34
static ProcRecord patterns_set_popup_proc;
37
register_pattern_select_procs (Gimp *gimp)
39
procedural_db_register (gimp, &patterns_popup_proc);
40
procedural_db_register (gimp, &patterns_close_popup_proc);
41
procedural_db_register (gimp, &patterns_set_popup_proc);
45
patterns_popup_invoker (Gimp *gimp,
47
GimpProgress *progress,
34
#include "internal_procs.h"
38
patterns_popup_invoker (GimpProcedure *procedure,
41
GimpProgress *progress,
42
const GValueArray *args)
50
44
gboolean success = TRUE;
51
gchar *pattern_callback;
53
gchar *initial_pattern;
55
pattern_callback = (gchar *) args[0].value.pdb_pointer;
56
if (pattern_callback == NULL || !g_utf8_validate (pattern_callback, -1, NULL))
59
popup_title = (gchar *) args[1].value.pdb_pointer;
60
if (popup_title == NULL || !g_utf8_validate (popup_title, -1, NULL))
63
initial_pattern = (gchar *) args[2].value.pdb_pointer;
64
if (initial_pattern && !g_utf8_validate (initial_pattern, -1, NULL))
45
const gchar *pattern_callback;
46
const gchar *popup_title;
47
const gchar *initial_pattern;
49
pattern_callback = g_value_get_string (&args->values[0]);
50
popup_title = g_value_get_string (&args->values[1]);
51
initial_pattern = g_value_get_string (&args->values[2]);
69
55
if (gimp->no_interface ||
70
! procedural_db_lookup (gimp, pattern_callback) ||
71
! gimp_pdb_dialog_new (gimp, context, gimp->pattern_factory->container,
56
! gimp_pdb_lookup_procedure (gimp->pdb, pattern_callback) ||
57
! gimp_pdb_dialog_new (gimp, context, progress,
58
gimp->pattern_factory->container,
72
59
popup_title, pattern_callback, initial_pattern,
77
return procedural_db_return_args (&patterns_popup_proc, success);
64
return gimp_procedure_get_return_values (procedure, success);
80
static ProcArg patterns_popup_inargs[] =
85
"The callback PDB proc to call when pattern selection is made"
90
"Title to give the pattern popup window"
95
"The name of the pattern to set as the first selected"
99
static ProcRecord patterns_popup_proc =
101
"gimp_patterns_popup",
102
"Invokes the Gimp pattern selection.",
103
"This procedure popups the pattern selection dialog.",
110
patterns_popup_inargs,
113
{ { patterns_popup_invoker } }
117
patterns_close_popup_invoker (Gimp *gimp,
118
GimpContext *context,
119
GimpProgress *progress,
68
patterns_close_popup_invoker (GimpProcedure *procedure,
71
GimpProgress *progress,
72
const GValueArray *args)
122
74
gboolean success = TRUE;
123
gchar *pattern_callback;
75
const gchar *pattern_callback;
125
pattern_callback = (gchar *) args[0].value.pdb_pointer;
126
if (pattern_callback == NULL || !g_utf8_validate (pattern_callback, -1, NULL))
77
pattern_callback = g_value_get_string (&args->values[0]);
131
81
if (gimp->no_interface ||
132
! procedural_db_lookup (gimp, pattern_callback) ||
82
! gimp_pdb_lookup_procedure (gimp->pdb, pattern_callback) ||
133
83
! gimp_pdb_dialog_close (gimp, gimp->pattern_factory->container,
134
84
pattern_callback))
138
return procedural_db_return_args (&patterns_close_popup_proc, success);
88
return gimp_procedure_get_return_values (procedure, success);
141
static ProcArg patterns_close_popup_inargs[] =
146
"The name of the callback registered for this popup"
150
static ProcRecord patterns_close_popup_proc =
152
"gimp_patterns_close_popup",
153
"Popdown the Gimp pattern selection.",
154
"This procedure closes an opened pattern selection dialog.",
161
patterns_close_popup_inargs,
164
{ { patterns_close_popup_invoker } }
168
patterns_set_popup_invoker (Gimp *gimp,
169
GimpContext *context,
170
GimpProgress *progress,
92
patterns_set_popup_invoker (GimpProcedure *procedure,
95
GimpProgress *progress,
96
const GValueArray *args)
173
98
gboolean success = TRUE;
174
gchar *pattern_callback;
177
pattern_callback = (gchar *) args[0].value.pdb_pointer;
178
if (pattern_callback == NULL || !g_utf8_validate (pattern_callback, -1, NULL))
181
pattern_name = (gchar *) args[1].value.pdb_pointer;
182
if (pattern_name == NULL || !g_utf8_validate (pattern_name, -1, NULL))
99
const gchar *pattern_callback;
100
const gchar *pattern_name;
102
pattern_callback = g_value_get_string (&args->values[0]);
103
pattern_name = g_value_get_string (&args->values[1]);
187
107
if (gimp->no_interface ||
188
! procedural_db_lookup (gimp, pattern_callback) ||
108
! gimp_pdb_lookup_procedure (gimp->pdb, pattern_callback) ||
189
109
! gimp_pdb_dialog_set (gimp, gimp->pattern_factory->container,
190
110
pattern_callback, pattern_name,
195
return procedural_db_return_args (&patterns_set_popup_proc, success);
198
static ProcArg patterns_set_popup_inargs[] =
203
"The name of the callback registered for this popup"
208
"The name of the pattern to set as selected"
212
static ProcRecord patterns_set_popup_proc =
214
"gimp_patterns_set_popup",
215
"Sets the current pattern selection in a popup.",
216
"Sets the current pattern selection in a popup.",
223
patterns_set_popup_inargs,
226
{ { patterns_set_popup_invoker } }
115
return gimp_procedure_get_return_values (procedure, success);
119
register_pattern_select_procs (GimpPDB *pdb)
121
GimpProcedure *procedure;
124
* gimp-patterns-popup
126
procedure = gimp_procedure_new (patterns_popup_invoker);
127
gimp_object_set_static_name (GIMP_OBJECT (procedure), "gimp-patterns-popup");
128
gimp_procedure_set_static_strings (procedure,
129
"gimp-patterns-popup",
130
"Invokes the Gimp pattern selection.",
131
"This procedure opens the pattern selection dialog.",
136
gimp_procedure_add_argument (procedure,
137
gimp_param_spec_string ("pattern-callback",
139
"The callback PDB proc to call when pattern selection is made",
142
GIMP_PARAM_READWRITE));
143
gimp_procedure_add_argument (procedure,
144
gimp_param_spec_string ("popup-title",
146
"Title of the pattern selection dialog",
149
GIMP_PARAM_READWRITE));
150
gimp_procedure_add_argument (procedure,
151
gimp_param_spec_string ("initial-pattern",
153
"The name of the pattern to set as the first selected",
156
GIMP_PARAM_READWRITE));
157
gimp_pdb_register_procedure (pdb, procedure);
158
g_object_unref (procedure);
161
* gimp-patterns-close-popup
163
procedure = gimp_procedure_new (patterns_close_popup_invoker);
164
gimp_object_set_static_name (GIMP_OBJECT (procedure), "gimp-patterns-close-popup");
165
gimp_procedure_set_static_strings (procedure,
166
"gimp-patterns-close-popup",
167
"Close the pattern selection dialog.",
168
"This procedure closes an opened pattern selection dialog.",
173
gimp_procedure_add_argument (procedure,
174
gimp_param_spec_string ("pattern-callback",
176
"The name of the callback registered for this pop-up",
179
GIMP_PARAM_READWRITE));
180
gimp_pdb_register_procedure (pdb, procedure);
181
g_object_unref (procedure);
184
* gimp-patterns-set-popup
186
procedure = gimp_procedure_new (patterns_set_popup_invoker);
187
gimp_object_set_static_name (GIMP_OBJECT (procedure), "gimp-patterns-set-popup");
188
gimp_procedure_set_static_strings (procedure,
189
"gimp-patterns-set-popup",
190
"Sets the current pattern in a pattern selection dialog.",
191
"Sets the current pattern in a pattern selection dialog.",
196
gimp_procedure_add_argument (procedure,
197
gimp_param_spec_string ("pattern-callback",
199
"The name of the callback registered for this pop-up",
202
GIMP_PARAM_READWRITE));
203
gimp_procedure_add_argument (procedure,
204
gimp_param_spec_string ("pattern-name",
206
"The name of the pattern to set as selected",
209
GIMP_PARAM_READWRITE));
210
gimp_pdb_register_procedure (pdb, procedure);
211
g_object_unref (procedure);