void cairo_dock_steal_interactive_widget_from_desklet (CairoDesklet *pDesklet) { if (pDesklet == NULL) return; GtkWidget *pInteractiveWidget = gtk_bin_get_child (GTK_BIN (pDesklet->pWidget)); if (pInteractiveWidget != NULL) cairo_dock_steal_widget_from_its_container (pInteractiveWidget); }
GtkWidget *gldi_desklet_steal_interactive_widget (CairoDesklet *pDesklet) { if (pDesklet == NULL) return NULL; GtkWidget *pInteractiveWidget = pDesklet->pInteractiveWidget; if (pInteractiveWidget != NULL) { pInteractiveWidget = cairo_dock_steal_widget_from_its_container (pInteractiveWidget); pDesklet->pInteractiveWidget = NULL; GtkWidget *pBox = gtk_bin_get_child (GTK_BIN (pDesklet->container.pWidget)); if (pBox != NULL) gtk_widget_destroy (pBox); } return pInteractiveWidget; }
GtkWidget *gldi_dialog_steal_interactive_widget (CairoDialog *pDialog) { if (pDialog == NULL) return NULL; GtkWidget *pInteractiveWidget = pDialog->pInteractiveWidget; if (pInteractiveWidget != NULL) { pInteractiveWidget = cairo_dock_steal_widget_from_its_container (pInteractiveWidget); pDialog->pInteractiveWidget = NULL; // if we were monitoring the click events on the widget, stop it. g_signal_handlers_disconnect_matched (pInteractiveWidget, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, on_button_press_widget, NULL); } return pInteractiveWidget; }