mirror of https://github.com/GNOME/gimp.git
libgimp: new gimp_procedure_dialog_get_preview_from_drawable() function.
This allows plug-in developers to create GimpPreviewDrawable widgets with the procedure dialog API.
This commit is contained in:
parent
e9f24beb6b
commit
31b4e8122b
|
@ -1373,6 +1373,46 @@ gimp_procedure_dialog_get_size_entry (GimpProcedureDialog *dialog,
|
||||||
return widget;
|
return widget;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gimp_procedure_dialog_get_drawable_preview:
|
||||||
|
* @dialog: the #GimpProcedureDialog.
|
||||||
|
* @preview_id: the ID of #GimpDrawablePreview.
|
||||||
|
* @drawable: the #GimpDrawable.
|
||||||
|
*
|
||||||
|
* Gets or creates a new #GimpDrawablePreview for @drawable.
|
||||||
|
* If a widget with the @preview_id has already been created for
|
||||||
|
* this procedure, it will be returned instead.
|
||||||
|
*
|
||||||
|
* The @preview_id ID can later be used together with property names
|
||||||
|
* to be packed in other containers or inside @dialog itself.
|
||||||
|
|
||||||
|
* Returns: (transfer none): the #GtkWidget representing @preview_id. The
|
||||||
|
* object belongs to @dialog and must not be
|
||||||
|
* freed.
|
||||||
|
*/
|
||||||
|
GtkWidget *
|
||||||
|
gimp_procedure_dialog_get_drawable_preview (GimpProcedureDialog *dialog,
|
||||||
|
const gchar *preview_id,
|
||||||
|
GimpDrawable *drawable)
|
||||||
|
{
|
||||||
|
GtkWidget *w = g_hash_table_lookup (dialog->priv->widgets, preview_id);
|
||||||
|
|
||||||
|
if (w != NULL)
|
||||||
|
{
|
||||||
|
g_warning ("%s: preview_from_drawable identifier '%s' was already configured.",
|
||||||
|
G_STRFUNC, preview_id);
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
|
||||||
|
w = gimp_drawable_preview_new_from_drawable (drawable);
|
||||||
|
|
||||||
|
g_hash_table_insert (dialog->priv->widgets, g_strdup (preview_id), w);
|
||||||
|
if (g_object_is_floating (w))
|
||||||
|
g_object_ref_sink (w);
|
||||||
|
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gimp_procedure_dialog_get_label:
|
* gimp_procedure_dialog_get_label:
|
||||||
* @dialog: the #GimpProcedureDialog.
|
* @dialog: the #GimpProcedureDialog.
|
||||||
|
|
|
@ -113,6 +113,11 @@ GtkWidget * gimp_procedure_dialog_get_file_chooser (GimpProcedureDialog *dialog
|
||||||
const gchar *property,
|
const gchar *property,
|
||||||
GtkFileChooserAction action);
|
GtkFileChooserAction action);
|
||||||
|
|
||||||
|
GtkWidget * gimp_procedure_dialog_get_drawable_preview
|
||||||
|
(GimpProcedureDialog *dialog,
|
||||||
|
const gchar *preview_id,
|
||||||
|
GimpDrawable *drawable);
|
||||||
|
|
||||||
GtkWidget * gimp_procedure_dialog_fill_box (GimpProcedureDialog *dialog,
|
GtkWidget * gimp_procedure_dialog_fill_box (GimpProcedureDialog *dialog,
|
||||||
const gchar *container_id,
|
const gchar *container_id,
|
||||||
const gchar *first_property,
|
const gchar *first_property,
|
||||||
|
|
|
@ -47,6 +47,7 @@ EXPORTS
|
||||||
gimp_procedure_dialog_fill_paned
|
gimp_procedure_dialog_fill_paned
|
||||||
gimp_procedure_dialog_fill_scrolled_window
|
gimp_procedure_dialog_fill_scrolled_window
|
||||||
gimp_procedure_dialog_get_color_widget
|
gimp_procedure_dialog_get_color_widget
|
||||||
|
gimp_procedure_dialog_get_drawable_preview
|
||||||
gimp_procedure_dialog_get_file_chooser
|
gimp_procedure_dialog_get_file_chooser
|
||||||
gimp_procedure_dialog_get_int_combo
|
gimp_procedure_dialog_get_int_combo
|
||||||
gimp_procedure_dialog_get_int_radio
|
gimp_procedure_dialog_get_int_radio
|
||||||
|
|
Loading…
Reference in New Issue