static void gtkDialogUnMapMethod(Ihandle* ih) { GtkWidget* fixed; #if GTK_CHECK_VERSION(2, 10, 0) GtkStatusIcon* status_icon; #endif if (ih->data->menu) { ih->data->menu->handle = NULL; /* the dialog will destroy the native menu */ IupDestroy(ih->data->menu); } #if GTK_CHECK_VERSION(2, 10, 0) status_icon = (GtkStatusIcon*)iupAttribGet(ih, "_IUPDLG_STATUSICON"); if (status_icon) g_object_unref(status_icon); #endif fixed = gtk_bin_get_child((GtkBin*)ih->handle); gtk_widget_unrealize(fixed); gtk_widget_destroy(fixed); gtk_widget_unrealize(ih->handle); /* To match the call to gtk_widget_realize */ gtk_widget_destroy(ih->handle); /* To match the call to gtk_window_new */ }
/* Work around a gtk bug (?): without that, the selected menu item's * colored rectangle is drawn at 0,0 in the window... */ static void refresh_menu (GtkWidget *menushell, gpointer data) { GtkMenu *menu = (GtkMenu *)data; GtkWidget *widget = gtk_menu_get_attach_widget(menu); #if !GTK_CHECK_VERSION(3, 0, 0) gtk_widget_hide_all(widget); gtk_widget_unrealize(widget); gtk_widget_show_all(widget); #else gtk_widget_hide(widget); gtk_widget_unrealize(widget); gtk_widget_show(widget); #endif gtk_widget_queue_draw(widget); }
void iupdrvBaseUnMapMethod(Ihandle* ih) { GtkWidget* widget = (GtkWidget*)iupAttribGet(ih, "_IUP_EXTRAPARENT"); if (!widget) widget = ih->handle; gtk_widget_unrealize(widget); gtk_widget_destroy(widget); /* To match the call to gtk_*****_new */ }
wxNotebookPage *wxNotebook::DoRemovePage( size_t page ) { // We cannot remove the page yet, as GTK sends the "switch_page" // signal before it has removed the notebook-page from its // corresponding list. Thus, if we were to remove the page from // m_pages at this point, the two lists of pages would be out // of sync during the PAGE_CHANGING/PAGE_CHANGED events. wxNotebookPage *client = GetPage(page); if ( !client ) return NULL; gtk_widget_unrealize( client->m_widget ); // we don't need to unparent the client->m_widget; GTK+ will do // that for us (and will throw a warning if we do it!) gtk_notebook_remove_page( GTK_NOTEBOOK(m_widget), page ); // It's safe to remove the page now. wxASSERT_MSG(GetPage(page) == client, wxT("pages changed during delete")); wxNotebookBase::DoRemovePage(page); wxGtkNotebookPage* p = GetNotebookPage(page); m_pagesData.DeleteObject(p); delete p; return client; }
wxNotebookPage *wxNotebook::DoRemovePage( size_t page ) { if ( m_selection != wxNOT_FOUND && (size_t)m_selection >= page ) { // the index will become invalid after the page is deleted m_selection = wxNOT_FOUND; } wxNotebookPage *client = wxNotebookBase::DoRemovePage(page); if ( !client ) return NULL; gtk_widget_ref( client->m_widget ); gtk_widget_unrealize( client->m_widget ); gtk_widget_unparent( client->m_widget ); // gtk_notebook_remove_page() sends "switch_page" signal with some strange // new page index (when deleting selected page 0, new page is 1 although, // clearly, the selection should stay 0), so suppress this gtk_signal_disconnect_by_func( GTK_OBJECT(m_widget), GTK_SIGNAL_FUNC(gtk_notebook_page_change_callback), (gpointer) this ); gtk_notebook_remove_page( GTK_NOTEBOOK(m_widget), page ); gtk_signal_connect( GTK_OBJECT(m_widget), "switch_page", GTK_SIGNAL_FUNC(gtk_notebook_page_change_callback), (gpointer)this ); wxGtkNotebookPage* p = GetNotebookPage(page); m_pagesData.DeleteObject(p); delete p; return client; }
void realizeOpenGL(struct OpenGL* ogl, long long gtkWindow_) { GtkWidget* window = GTK_WIDGET((void*) gtkWindow_); GdkGLConfig * config = gdk_gl_config_new_by_mode_for_screen( gdk_screen_get_default(), GDK_GL_MODE_RGB | GDK_GL_MODE_SINGLE/*| GDK_GL_MODE_DOUBLE*/); if (config == NULL) return; //printf("ogl=%p\n", ogl); ogl->config = config; gtk_widget_unrealize(window); if (!gtk_widget_set_gl_capability(window, ogl->config, NULL, FALSE, GDK_GL_RGBA_TYPE)) { fprintf(stderr, "Cannot enable GDKGL on window"); return; } gtk_widget_realize(window); GdkGLDrawable* drawable = gtk_widget_get_gl_drawable(GTK_WIDGET(window)); ogl->drawable = drawable; ogl->widget = GTK_WIDGET(window); ogl->context = gtk_widget_get_gl_context(ogl->widget); glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_COLOR_ARRAY); glVertexPointer(2, GL_SHORT, 0, ogl->vertices); //gdk_gl_drawable_gl_begin(ogl->drawable, ogl->context); }
void notify_stack_remove_window(NotifyStack* stack, GtkWindow* nw) { GList* remove_l = NULL; notify_stack_shift_notifications(stack, nw, &remove_l, 0, 0, NULL, NULL); if (remove_l != NULL) { stack->windows = g_list_delete_link(stack->windows, remove_l); } #if GTK_CHECK_VERSION(2, 20, 0) if (gtk_widget_get_realized(GTK_WIDGET(nw))) gtk_widget_unrealize(GTK_WIDGET(nw)); #else if (GTK_WIDGET_REALIZED(GTK_WIDGET(nw))) gtk_widget_unrealize(GTK_WIDGET(nw)); #endif }
int clip_GTK_WIDGETUNREALIZE(ClipMachine * cm) { C_widget *cwid = _fetch_cw_arg(cm); CHECKCWID(cwid,GTK_IS_WIDGET); gtk_widget_unrealize(cwid->widget); return 0; err: return 1; }
static void cinnamon_tray_manager_child_redisplay (gpointer socket_pointer, gpointer child_pointer, gpointer user_data) { CinnamonTrayManagerChild *child = child_pointer; g_return_if_fail(child != NULL); g_return_if_fail(GTK_IS_WIDGET(child->window)); gtk_widget_unrealize(child->window); gtk_widget_realize(child->window); }
static void gtkSetGlobalColors(void) { GtkWidget* dialog = gtk_window_new(GTK_WINDOW_TOPLEVEL); GtkWidget* text = gtk_entry_new(); gtk_container_add((GtkContainer*)dialog, text); gtk_widget_show(text); gtk_widget_realize(text); gtk_widget_realize(dialog); gtkUpdateGlobalColors(dialog, text); gtk_widget_unrealize(dialog); gtk_widget_destroy(dialog); }
char* iupdrvGetSystemFont(void) { static char systemfont[200] = ""; GtkStyle* style; GtkWidget* widget = gtk_invisible_new(); gtk_widget_realize(widget); style = gtk_widget_get_style(widget); if (!style || !style->font_desc) strcpy(systemfont, "Sans, 10"); else strcpy(systemfont, pango_font_description_to_string(style->font_desc)); gtk_widget_unrealize(widget); gtk_widget_destroy(widget); return systemfont; }
static void toplevel_delete_event (GtkWidget *toplevel, GdkEvent *event, gpointer none) { GdkWindow *gdk_win; GtkWidget *label = create_tab_label (toplevel); gdk_win = gtk_widget_get_window (notebook); g_assert (gdk_win); gtk_widget_hide (toplevel); gtk_widget_unrealize (toplevel); gtk_widget_set_parent_window (toplevel, gdk_win); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), toplevel, label); gtk_widget_show (toplevel); }
static void update_properties_for_wm(PagerData* pager) { switch (pager->wm) { case PAGER_WM_MARCO: if (pager->workspaces_frame) gtk_widget_show(pager->workspaces_frame); if (pager->workspace_names_label) gtk_widget_show(pager->workspace_names_label); if (pager->workspace_names_scroll) gtk_widget_show(pager->workspace_names_scroll); if (pager->display_workspaces_toggle) gtk_widget_show(pager->display_workspaces_toggle); break; case PAGER_WM_COMPIZ: if (pager->workspaces_frame) gtk_widget_show(pager->workspaces_frame); if (pager->workspace_names_label) gtk_widget_hide(pager->workspace_names_label); if (pager->workspace_names_scroll) gtk_widget_hide(pager->workspace_names_scroll); if (pager->display_workspaces_toggle) gtk_widget_hide(pager->display_workspaces_toggle); break; case PAGER_WM_UNKNOWN: if (pager->workspaces_frame) gtk_widget_hide(pager->workspaces_frame); break; default: g_assert_not_reached(); } #if GTK_CHECK_VERSION (3, 0, 0) if (pager->properties_dialog) { gtk_widget_hide (pager->properties_dialog); gtk_widget_unrealize (pager->properties_dialog); gtk_widget_show (pager->properties_dialog); } #else if (pager->properties_dialog) gtk_window_reshow_with_initial_size(GTK_WINDOW(pager->properties_dialog)); #endif }
void budgie_popover_hide(BudgiePopover *self) { __attribute__ ((unused)) gboolean ret; /* tear us down */ if (self->pointer) { gdk_device_ungrab(self->pointer, GDK_CURRENT_TIME); self->pointer = NULL; } gtk_widget_hide(GTK_WIDGET(self)); if (self->con_id > 0 && self->parent_widget) { g_signal_handler_disconnect(self->parent_widget, self->con_id); self->parent_widget = NULL; } g_signal_handler_block(self, self->focus_id); g_signal_emit_by_name(self, "focus-out-event", NULL, &ret); g_signal_handler_unblock(self, self->focus_id); if (gtk_widget_get_realized(GTK_WIDGET(self))) gtk_widget_unrealize(GTK_WIDGET(self)); self->con_id = 0; }
static void update_properties_for_wm (PagerData *pager) { switch (pager->wm) { case PAGER_WM_METACITY: if (pager->workspaces_frame) gtk_widget_show (pager->workspaces_frame); if (pager->workspace_names_label) gtk_widget_show (pager->workspace_names_label); if (pager->workspace_names_scroll) gtk_widget_show (pager->workspace_names_scroll); if (pager->display_workspaces_toggle) gtk_widget_show (pager->display_workspaces_toggle); break; case PAGER_WM_COMPIZ: if (pager->workspaces_frame) gtk_widget_show (pager->workspaces_frame); if (pager->workspace_names_label) gtk_widget_hide (pager->workspace_names_label); if (pager->workspace_names_scroll) gtk_widget_hide (pager->workspace_names_scroll); if (pager->display_workspaces_toggle) gtk_widget_hide (pager->display_workspaces_toggle); break; case PAGER_WM_UNKNOWN: if (pager->workspaces_frame) gtk_widget_hide (pager->workspaces_frame); break; default: g_assert_not_reached (); } if (pager->properties_dialog) { gtk_widget_hide (pager->properties_dialog); gtk_widget_unrealize (pager->properties_dialog); gtk_widget_show (pager->properties_dialog); } }
static void bar_unrealize_clutter_fix_cb(GtkWidget *widget, gpointer data) { GtkWidget *child = gtk_bin_get_child(GTK_BIN(widget)); if (child) gtk_widget_unrealize(child); }
static VALUE rg_unrealize(VALUE self) { gtk_widget_unrealize(_SELF(self)); return self; }