[gimp] app: add gimp_tool_gui_set,get_overlay()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: add gimp_tool_gui_set,get_overlay()
- Date: Fri, 7 Jun 2013 23:35:00 +0000 (UTC)
commit 1982cf1db74bc3d9fb5d6d06f8efcbd950236f93
Author: Michael Natterer <mitch gimp org>
Date: Sat Jun 8 01:32:34 2013 +0200
app: add gimp_tool_gui_set,get_overlay()
which allow to toggle embedded and dialog style gui.
app/display/gimptoolgui.c | 43 +++++++++++++++++++++++++++++++++++++++++++
app/display/gimptoolgui.h | 4 ++++
2 files changed, 47 insertions(+), 0 deletions(-)
---
diff --git a/app/display/gimptoolgui.c b/app/display/gimptoolgui.c
index 277a8b5..52d42cc 100644
--- a/app/display/gimptoolgui.c
+++ b/app/display/gimptoolgui.c
@@ -391,6 +391,49 @@ gimp_tool_gui_hide (GimpToolGui *gui)
}
void
+gimp_tool_gui_set_overlay (GimpToolGui *gui,
+ gboolean overlay)
+{
+ GimpToolGuiPrivate *private;
+ gboolean visible;
+
+ g_return_if_fail (GIMP_IS_TOOL_GUI (gui));
+
+ private = GET_PRIVATE (gui);
+
+ if (private->overlay == overlay)
+ return;
+
+ visible = gtk_widget_get_visible (private->dialog);
+
+ if (visible)
+ gimp_tool_gui_hide (gui);
+
+ gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (private->vbox)),
+ private->vbox);
+
+ if (private->overlay)
+ g_object_unref (private->dialog);
+ else
+ gtk_widget_destroy (private->dialog);
+
+ private->overlay = overlay ? TRUE : FALSE;
+
+ gimp_tool_gui_create_dialog (gui);
+
+ if (visible)
+ gimp_tool_gui_show (gui);
+}
+
+gboolean
+gimp_tool_gui_get_overlay (GimpToolGui *gui)
+{
+ g_return_val_if_fail (GIMP_IS_TOOL_GUI (gui), FALSE);
+
+ return GET_PRIVATE (gui)->overlay;
+}
+
+void
gimp_tool_gui_set_default_response (GimpToolGui *gui,
gint response_id)
{
diff --git a/app/display/gimptoolgui.h b/app/display/gimptoolgui.h
index b9f1e3d..372eb40 100644
--- a/app/display/gimptoolgui.h
+++ b/app/display/gimptoolgui.h
@@ -71,6 +71,10 @@ GtkWidget * gimp_tool_gui_get_vbox (GimpToolGui *gui);
void gimp_tool_gui_show (GimpToolGui *gui);
void gimp_tool_gui_hide (GimpToolGui *gui);
+void gimp_tool_gui_set_overlay (GimpToolGui *gui,
+ gboolean overlay);
+gboolean gimp_tool_gui_get_overlay (GimpToolGui *gui);
+
void gimp_tool_gui_set_default_response (GimpToolGui *gui,
gint response_id);
void gimp_tool_gui_set_response_sensitive (GimpToolGui *gui,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]