Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 40023 | Differences between
and this patch

Collapse All | Expand All

(-)gap/gap_dbbrowser_utils.c (-179 lines)
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

Return to bug 40023