Lines 151-335
Link Here
|
151 |
); |
151 |
); |
152 |
|
152 |
|
153 |
|
153 |
|
154 |
/* ------------------------ |
|
|
155 |
* gimp_proc_view_new |
156 |
* ------------------------ |
157 |
* this procedure is a copy of gimp-2.1.7/plug-ins/dbbrowser/gimpprocbrowser.c |
158 |
*/ |
159 |
GtkWidget * |
160 |
gimp_proc_view_new (const gchar *name, |
161 |
const gchar *menu_path, |
162 |
const gchar *blurb, |
163 |
const gchar *help, |
164 |
const gchar *author, |
165 |
const gchar *copyright, |
166 |
const gchar *date, |
167 |
GimpPDBProcType type, |
168 |
gint n_params, |
169 |
gint n_return_vals, |
170 |
GimpParamDef *params, |
171 |
GimpParamDef *return_vals) |
172 |
{ |
173 |
GtkWidget *main_vbox; |
174 |
GtkWidget *frame; |
175 |
GtkWidget *vbox; |
176 |
GtkWidget *table; |
177 |
GtkWidget *label; |
178 |
GtkSizeGroup *name_group; |
179 |
GtkSizeGroup *type_group; |
180 |
GtkSizeGroup *desc_group; |
181 |
gint row; |
182 |
|
183 |
if (blurb && strlen (blurb) < 2) blurb = NULL; |
184 |
if (help && strlen (help) < 2) help = NULL; |
185 |
if (author && strlen (author) < 2) author = NULL; |
186 |
if (date && strlen (date) < 2) date = NULL; |
187 |
if (copyright && strlen (copyright) < 2) copyright = NULL; |
188 |
|
189 |
if (blurb && help && ! strcmp (blurb, help)) |
190 |
help = NULL; |
191 |
|
192 |
main_vbox = gtk_vbox_new (FALSE, 12); |
193 |
|
194 |
/* show the name */ |
195 |
|
196 |
frame = gimp_frame_new (name); |
197 |
label = gtk_frame_get_label_widget (GTK_FRAME (frame)); |
198 |
gtk_label_set_selectable (GTK_LABEL (label), TRUE); |
199 |
gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); |
200 |
gtk_widget_show (frame); |
201 |
|
202 |
vbox = gtk_vbox_new (FALSE, 8); |
203 |
gtk_container_add (GTK_CONTAINER (frame), vbox); |
204 |
gtk_widget_show (vbox); |
205 |
|
206 |
label = gtk_label_new (GimpPDBProcType_to_string (type)); |
207 |
gimp_label_set_attributes (GTK_LABEL (label), |
208 |
PANGO_ATTR_STYLE, PANGO_STYLE_ITALIC, |
209 |
-1); |
210 |
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); |
211 |
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); |
212 |
gtk_widget_show (label); |
213 |
|
214 |
if (menu_path) |
215 |
{ |
216 |
label = gtk_label_new_with_mnemonic (menu_path); |
217 |
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); |
218 |
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); |
219 |
gtk_label_set_selectable (GTK_LABEL (label), TRUE); |
220 |
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); |
221 |
gtk_widget_show (label); |
222 |
} |
223 |
|
224 |
if (blurb) |
225 |
{ |
226 |
label = gtk_label_new (blurb); |
227 |
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); |
228 |
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); |
229 |
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); |
230 |
gtk_widget_show (label); |
231 |
} |
232 |
|
233 |
name_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); |
234 |
type_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); |
235 |
desc_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); |
236 |
|
237 |
/* in parameters */ |
238 |
if (n_params) |
239 |
{ |
240 |
frame = gimp_frame_new (_("Parameters")); |
241 |
gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); |
242 |
gtk_widget_show (frame); |
243 |
|
244 |
table = gimp_proc_view_create_params (params, n_params, |
245 |
name_group, type_group, desc_group); |
246 |
gtk_container_add (GTK_CONTAINER (frame), table); |
247 |
gtk_widget_show (table); |
248 |
} |
249 |
|
250 |
/* out parameters */ |
251 |
if (n_return_vals) |
252 |
{ |
253 |
frame = gimp_frame_new (_("Return Values")); |
254 |
gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); |
255 |
gtk_widget_show (frame); |
256 |
|
257 |
table = gimp_proc_view_create_params (return_vals, n_return_vals, |
258 |
name_group, type_group, desc_group); |
259 |
gtk_container_add (GTK_CONTAINER (frame), table); |
260 |
gtk_widget_show (table); |
261 |
} |
262 |
|
263 |
if (! help && ! author && ! date && ! copyright) |
264 |
return main_vbox; |
265 |
|
266 |
frame = gimp_frame_new (_("Additional Information")); |
267 |
gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); |
268 |
gtk_widget_show (frame); |
269 |
|
270 |
vbox = gtk_vbox_new (FALSE, 8); |
271 |
gtk_container_add (GTK_CONTAINER (frame), vbox); |
272 |
gtk_widget_show (vbox); |
273 |
|
274 |
/* show the help */ |
275 |
if (help) |
276 |
{ |
277 |
label = gtk_label_new (help); |
278 |
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); |
279 |
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); |
280 |
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); |
281 |
gtk_widget_show (label); |
282 |
} |
283 |
|
284 |
/* show the author & the copyright */ |
285 |
|
286 |
if (! author && ! date && ! copyright) |
287 |
return main_vbox; |
288 |
|
289 |
table = gtk_table_new ((author != 0) + (date != 0) + (copyright != 0), 2, |
290 |
FALSE); |
291 |
gtk_table_set_col_spacings (GTK_TABLE (table), 6); |
292 |
gtk_table_set_row_spacings (GTK_TABLE (table), 4); |
293 |
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); |
294 |
gtk_widget_show (table); |
295 |
|
296 |
row = 0; |
297 |
|
298 |
if (author) |
299 |
{ |
300 |
label = gtk_label_new (author); |
301 |
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); |
302 |
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); |
303 |
|
304 |
gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, |
305 |
_("Author:"), 0.0, 0.0, |
306 |
label, 3, FALSE); |
307 |
} |
308 |
|
309 |
if (date) |
310 |
{ |
311 |
label = gtk_label_new (date); |
312 |
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); |
313 |
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); |
314 |
|
315 |
gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, |
316 |
_("Date:"), 0.0, 0.0, |
317 |
label, 3, FALSE); |
318 |
} |
319 |
|
320 |
if (copyright) |
321 |
{ |
322 |
label = gtk_label_new (copyright); |
323 |
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); |
324 |
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); |
325 |
|
326 |
gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, |
327 |
_("Copyright:"), 0.0, 0.0, |
328 |
label, 3, FALSE); |
329 |
} |
330 |
|
331 |
return main_vbox; |
332 |
} /* end gimp_proc_view_new */ |
333 |
|
154 |
|
334 |
|
155 |
|
335 |
|
156 |
|