static void gdl_dock_item_grip_close_clicked (GtkWidget *widget, GdlDockItemGrip *grip) { g_return_if_fail (grip->item != NULL); gdl_dock_item_hide_item (grip->item); }
static void anjuta_window_maximize_widget (AnjutaShell *shell, const char *widget_name, GError **error) { AnjutaWindow *win = NULL; GtkWidget *dock_item = NULL; gpointer value, key; GtkWidget *widget = NULL; GHashTableIter iter; /* AnjutaWindow assertions */ g_return_if_fail (ANJUTA_IS_WINDOW (shell)); win = ANJUTA_WINDOW (shell); /* If win->maximized is TRUE then another widget is already maximized. Restoring the UI for a new maximization. */ if(win->maximized) gdl_dock_layout_load_layout (win->layout_manager, "back-up"); /* Back-up the layout so it can be restored */ gdl_dock_layout_save_layout(win->layout_manager, "back-up"); /* Mark the win as maximized (the other widgets except center are hidden) */ win->maximized = TRUE; /* Hide all DockItem's except the ones positioned in the center */ g_hash_table_iter_init (&iter, win->widgets); while (g_hash_table_iter_next (&iter, &key, &value)) { if (value == NULL) continue; /* Widget assertions */ widget = GTK_WIDGET (value); if(!GTK_IS_WIDGET (widget)) continue; /* DockItem assertions */ dock_item = g_object_get_data (G_OBJECT (widget), "dockitem"); if(dock_item == NULL || !GDL_IS_DOCK_ITEM (dock_item)) continue; if(!g_strcmp0((gchar*)key, widget_name)) { /* If it's the widget requesting maximization then make sure the * widget is visible*/ gdl_dock_item_show_item (GDL_DOCK_ITEM (dock_item)); } else { /* Hide the other item */ gdl_dock_item_hide_item (GDL_DOCK_ITEM (dock_item)); } } }
static void on_toggle_widget_view (GtkCheckMenuItem *menuitem, GtkWidget *dockitem) { gboolean state; state = gtk_check_menu_item_get_active (menuitem); if (state) gdl_dock_item_show_item (GDL_DOCK_ITEM (dockitem)); else gdl_dock_item_hide_item (GDL_DOCK_ITEM (dockitem)); }
static gboolean gdl_dock_floating_window_delete_event_cb (GtkWidget *widget) { GdlDock *dock; g_return_val_if_fail (GTK_IS_WINDOW (widget), FALSE); dock = GDL_DOCK (g_object_get_data (G_OBJECT (widget), "dock")); if (dock->root) { /* this will call reduce on ourselves, hiding the window if appropiate */ gdl_dock_item_hide_item (GDL_DOCK_ITEM (dock->root)); } return TRUE; }
static void anjuta_window_hide_dockable_widget (AnjutaShell *shell, GtkWidget *widget, GError **error) { AnjutaWindow *win = NULL; GtkWidget *dock_item = NULL; /* Argumments assertions */ g_return_if_fail (ANJUTA_IS_WINDOW (shell)); g_return_if_fail (GTK_IS_WIDGET (widget)); win = ANJUTA_WINDOW (shell); g_return_if_fail (win->widgets != NULL); dock_item = g_object_get_data (G_OBJECT (widget), "dockitem"); g_return_if_fail (dock_item != NULL); /* Hide the dockable item */ gdl_dock_item_hide_item (GDL_DOCK_ITEM (dock_item)); }