mirror of https://github.com/GNOME/gimp.git
app: add gimp_tool_gui_set,get_overlay()
which allow to toggle embedded and dialog style gui.
This commit is contained in:
parent
ad8d12ed69
commit
1982cf1db7
|
@ -390,6 +390,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)
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue