void RenderThemeGtk::refreshComboBoxChildren() const { gtkComboBox(); // Ensure that we've initialized the combo box. // Some themes look at widget ancestry to determine how to render widgets, so // get the GtkButton that is the actual child of the combo box. gtk_container_forall(GTK_CONTAINER(m_gtkComboBox), getGtkComboBoxButton, &m_gtkComboBoxButton); ASSERT(m_gtkComboBoxButton); setupWidget(m_gtkComboBoxButton); g_object_add_weak_pointer(G_OBJECT(m_gtkComboBoxButton), reinterpret_cast<gpointer*>(&m_gtkComboBoxButton)); ComboBoxWidgetPieces pieces = { 0, 0 }; GtkWidget* buttonChild = gtk_bin_get_child(GTK_BIN(gtkComboBoxButton())); if (GTK_IS_HBOX(buttonChild)) gtk_container_forall(GTK_CONTAINER(buttonChild), getGtkComboBoxPieces, &pieces); else if (GTK_IS_ARROW(buttonChild)) pieces.arrow = buttonChild; ASSERT(pieces.arrow); m_gtkComboBoxArrow = pieces.arrow; setupWidget(m_gtkComboBoxArrow); // When the style changes, the combo box may destroy its children. g_object_add_weak_pointer(G_OBJECT(m_gtkComboBoxArrow), reinterpret_cast<gpointer*>(&m_gtkComboBoxArrow)); m_gtkComboBoxSeparator = pieces.separator; if (m_gtkComboBoxSeparator) { setupWidget(m_gtkComboBoxSeparator); // When the style changes, the combo box may destroy its children. g_object_add_weak_pointer(G_OBJECT(m_gtkComboBoxSeparator), reinterpret_cast<gpointer*>(&m_gtkComboBoxSeparator)); } }
static void lyric_show_viewport_set_lyric(LyricShow *iface,const gchar *lyricfile) { gint i = 0; const LyricLine *ll = NULL; LyricInfo *info; LyricShowViewport *lsv; GtkWidget *llw; lsv = LYRIC_SHOW_VIEWPORT(iface); lyric_info_free(lsv->priv->info); gtk_container_forall(GTK_CONTAINER(lsv->priv->lyricbox),(GtkCallback)gtk_widget_destroy,NULL); lsv->priv->info = lyric_read(lyricfile); if(lsv->priv->info) { gchar *text = NULL; info = lsv->priv->info; if(info->title) { text = g_strdup_printf(_("Title:%s"),info->title); llw = lyric_line_widget_new(0,text); g_free(text); text = NULL; gtk_box_pack_start(GTK_BOX(lsv->priv->lyricbox),GTK_WIDGET(llw),FALSE,FALSE,0); } if(info->artist) { text = g_strdup_printf(_("Artist:%s"),info->artist); llw = lyric_line_widget_new(0,text); g_free(text); text = NULL; gtk_box_pack_start(GTK_BOX(lsv->priv->lyricbox),GTK_WIDGET(llw),FALSE,FALSE,0); } if(info->album) { text = g_strdup_printf(_("Album:%s"),info->album); llw = lyric_line_widget_new(0,text); g_free(text); text = NULL; gtk_box_pack_start(GTK_BOX(lsv->priv->lyricbox),GTK_WIDGET(llw),FALSE,FALSE,0); } i= 0; ll = lyric_info_get_line(info,i); while(ll) { llw = lyric_line_widget_new(ll->time,ll->line); gtk_box_pack_start(GTK_BOX(lsv->priv->lyricbox),GTK_WIDGET(llw),FALSE,FALSE,0); i++; ll = lyric_info_get_line(info,i); } gtk_container_forall(GTK_CONTAINER(lsv->priv->lyricbox),(GtkCallback) gtk_widget_show,NULL); gtk_widget_show(lsv->priv->lyricbox); lyric_show_viewport_set_lyric_visible(lsv,TRUE); } }
void QGtkStylePrivate::addAllSubWidgets(GtkWidget *widget, gpointer v) { Q_UNUSED(v); addWidgetToMap(widget); if (G_TYPE_CHECK_INSTANCE_TYPE ((widget), gtk_container_get_type())) gtk_container_forall((GtkContainer*)widget, addAllSubWidgets, NULL); }
CAMLprim value ml_gtk_container_forall (value w, value clos) { CAMLparam1(clos); gtk_container_forall (GtkContainer_val(w), ml_gtk_simple_callback, &clos); CAMLreturn(Val_unit); }
static gint on_draw(GtkWidget *widget, cairo_t *cr, gpointer userdata) { GdkPixbuf *pixbuf; pixbuf = gdk_pixbuf_new_from_file("/usr/share/themes/Ambiance/gtk-2.0/apps/img/panel.png", NULL); if (!pixbuf) { pixbuf = gdk_pixbuf_new_from_file("/usr/share/lxpanel/images/lubuntu-background.png", NULL); } if (!pixbuf) { pixbuf = gdk_pixbuf_new_from_file("/usr/share/themes/Greybird/ubiquity-panel-bg.png", NULL); } if (!pixbuf) { pixbuf = gdk_pixbuf_new_from_file("/usr/share/budgie-desktop/ubiquity-panel-bg.png", NULL); } if (!pixbuf) { pixbuf = gdk_pixbuf_new_from_file("/usr/share/ubiquity/pixmaps/panel.png", NULL); } if (pixbuf) { gdk_cairo_set_source_pixbuf(cr, pixbuf, 0, 0); cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_PAD); cairo_paint(cr); g_object_unref(pixbuf); } else { g_warning("Could not find background image."); } struct { GtkWidget *container; cairo_t *cr; } data; data.container = widget; data.cr = cr; gtk_container_forall (GTK_CONTAINER(widget), draw_child, &data); return FALSE; }
static void gtk_pizza_adjust_allocations (GtkPizza *pizza, gint dx, gint dy) { GList *tmp_list; GtkPizzaAdjData data; data.dx = dx; data.dy = dy; tmp_list = pizza->children; while (tmp_list) { GtkPizzaChild *child = tmp_list->data; tmp_list = tmp_list->next; child->widget->allocation.x += dx; child->widget->allocation.y += dy; if (GTK_WIDGET_NO_WINDOW (child->widget) && GTK_IS_CONTAINER (child->widget)) { gtk_container_forall (GTK_CONTAINER (child->widget), gtk_pizza_adjust_allocations_recurse, &data); } } }
static void connect_widget_signals (GtkWidget *proxy, EggEditableToolbar *etoolbar) { if (GTK_IS_CONTAINER (proxy)) { gtk_container_forall (GTK_CONTAINER (proxy), (GtkCallback) connect_widget_signals, (gpointer) etoolbar); } if (GTK_IS_TOOL_ITEM (proxy)) { g_signal_connect_object (proxy, "drag_begin", G_CALLBACK (drag_begin_cb), etoolbar, 0); g_signal_connect_object (proxy, "drag_end", G_CALLBACK (drag_end_cb), etoolbar, 0); g_signal_connect_object (proxy, "drag_data_get", G_CALLBACK (drag_data_get_cb), etoolbar, 0); g_signal_connect_object (proxy, "drag_data_delete", G_CALLBACK (drag_data_delete_cb), etoolbar, 0); } if (GTK_IS_BUTTON (proxy) || GTK_IS_TOOL_ITEM (proxy)) { g_signal_connect_object (proxy, "button-press-event", G_CALLBACK (button_press_event_cb), etoolbar, 0); } }
static void apply_css (GtkWidget *widget, GtkStyleProvider *provider) { gtk_style_context_add_provider (gtk_widget_get_style_context (widget), provider, G_MAXUINT); if (GTK_IS_CONTAINER (widget)) gtk_container_forall (GTK_CONTAINER (widget), (GtkCallback) apply_css, provider); }
static void create_bidding_widget (window_board_t *win) { /* GtkScrolledWindow *scroll = GTK_SCROLLED_WINDOW (get_widget ("scrolledwindow2")); GdkColor bg = { 0, 0.8*65535, 0.0, 0.0 }; gdk_colormap_alloc_color (gdk_colormap_get_system (), &bg, FALSE, TRUE); gtk_widget_modify_bg (GTK_WIDGET (scroll), GTK_STATE_NORMAL, &bg); */ win->bidding = GTK_TREE_VIEW (get_widget ("treeview_bidding")); //gtk_widget_modify_bg (GTK_WIDGET (bidding), GTK_STATE_NORMAL, &bg); //gdk_window_set_background (gtk_tree_view_get_bin_window (bidding), &bidding_vuln); win->bidding_store = gtk_list_store_new (8, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model (win->bidding, GTK_TREE_MODEL (win->bidding_store)); #if GTK_CHECK_VERSION (2,12,0) g_signal_connect (G_OBJECT (win->bidding), "query-tooltip", G_CALLBACK (bidding_query_tooltip), win); #endif GtkCellRenderer *renderer; renderer = gtk_cell_renderer_text_new (); g_object_set (renderer, "xalign", 0.5, "cell-background", "yellow", "mode", GTK_CELL_RENDERER_MODE_ACTIVATABLE, NULL); char *dir[] = {"W", "N", "E", "S"}; int i; for (i = 0; i < 4; i++) { GtkTreeViewColumn *column; column = gtk_tree_view_column_new_with_attributes (_(dir[i]), renderer, "markup", 2 * i, NULL); gtk_tree_view_column_set_expand (column, TRUE); gtk_tree_view_column_set_min_width (column, 36); gtk_tree_view_column_set_alignment (column, 0.5); //g_signal_connect_swapped (column, "clicked", G_CALLBACK (bidding_clicked), 0); /* win->bidding_label[i] = gtk_label_new (dir[i]); //gtk_label_set_width_chars (win->bidding_label[i], 4); gtk_label_set_ellipsize (win->bidding_label[i], PANGO_ELLIPSIZE_END); gtk_tree_view_column_set_widget (column, win->bidding_label[i]); gtk_widget_show (win->bidding_label[i]); */ gtk_tree_view_append_column (win->bidding, column); win->bidding_column[i] = column; } gtk_container_forall (GTK_CONTAINER (win->bidding), (GtkCallback) create_bidding_widget_cb, win); GdkColormap *cmap = gdk_colormap_get_system (); gdk_colormap_alloc_color (cmap, &bidding_non_vuln, FALSE, TRUE); gdk_colormap_alloc_color (cmap, &bidding_vuln, FALSE, TRUE); }
void glade_gtk_file_chooser_widget_post_create (GladeWidgetAdaptor *adaptor, GObject *object, GladeCreateReason reason) { gtk_container_forall (GTK_CONTAINER (object), glade_gtk_file_chooser_default_forall, NULL); }
static void glade_gtk_file_chooser_forall (GtkWidget * widget, gpointer data) { /* GtkFileChooserWidget packs a GtkFileChooserDefault */ if (GTK_IS_FILE_CHOOSER_WIDGET (widget)) gtk_container_forall (GTK_CONTAINER (widget), glade_gtk_file_chooser_default_forall, NULL); }
static void traverse_container (GtkWidget *widget, gpointer data) { if (GTK_IS_IMAGE_MENU_ITEM (widget)) show_image_change_notify (GTK_IMAGE_MENU_ITEM (widget)); else if (GTK_IS_CONTAINER (widget)) gtk_container_forall (GTK_CONTAINER (widget), traverse_container, NULL); }
void theme_apply(GtkWidget *widget){ if (!provider) return; gtk_style_context_add_provider( gtk_widget_get_style_context(widget), provider, _G_MAXUINT); if(GTK_IS_CONTAINER(widget)) gtk_container_forall(GTK_CONTAINER(widget), (GtkCallback)theme_apply, NULL); }
GList * glade_gtk_table_get_children (GladeWidgetAdaptor * adaptor, GtkContainer * container) { GList *children = NULL; gtk_container_forall (container, gtk_table_children_callback, &children); /* GtkTable has the children list already reversed */ return children; }
void ConfigDialog::setupRendererParams () { // Remove all existing child widgets gtk_container_forall (GTK_CONTAINER (mParamTable), remove_all_callback, mParamTable); ConfigOptionMap options = mSelectedRenderSystem->getConfigOptions (); // Resize the table to hold as many options as we have gtk_table_resize (GTK_TABLE (mParamTable), options.size (), 2); uint row = 0; for (ConfigOptionMap::iterator i = options.begin (); i != options.end (); i++, row++) { if (i->second.possibleValues.empty()) { continue; } GtkWidget *ro_label = gtk_label_new (i->second.name.c_str ()); gtk_widget_show (ro_label); gtk_table_attach (GTK_TABLE (mParamTable), ro_label, 0, 1, row, row + 1, GtkAttachOptions (GTK_EXPAND | GTK_FILL), GtkAttachOptions (0), 5, 0); gtk_label_set_justify (GTK_LABEL (ro_label), GTK_JUSTIFY_RIGHT); gtk_misc_set_alignment (GTK_MISC (ro_label), 1, 0.5); GtkWidget *ro_cb = gtk_combo_box_new_text (); gtk_widget_show (ro_cb); gtk_table_attach (GTK_TABLE (mParamTable), ro_cb, 1, 2, row, row + 1, GtkAttachOptions (GTK_EXPAND | GTK_FILL), GtkAttachOptions (0), 5, 0); // Set up a link from the combobox to the label g_object_set_data (G_OBJECT (ro_cb), "renderer-option", ro_label); StringVector::iterator opt_it; uint idx = 0; for (opt_it = i->second.possibleValues.begin (); opt_it != i->second.possibleValues.end (); opt_it++, idx++) { gtk_combo_box_append_text (GTK_COMBO_BOX (ro_cb), (*opt_it).c_str ()); if (strcmp (i->second.currentValue.c_str (), (*opt_it).c_str ()) == 0) gtk_combo_box_set_active (GTK_COMBO_BOX (ro_cb), idx); } g_signal_connect (G_OBJECT (ro_cb), "changed", G_CALLBACK (optionChanged), this); } gtk_widget_grab_focus (GTK_WIDGET (mOKButton)); }
/** * \internal * Show selected menu report. */ static void validate_clicked(void) { GtkTreeIter iter; struct validate *validate; if (!validate_get_selected(&iter, FALSE)) return; gtk_tree_model_get(GTK_TREE_MODEL(debr.ui_validate.list_store), &iter, VALIDATE_POINTER, &validate, -1); gtk_container_forall(GTK_CONTAINER(debr.ui_validate.text_view_vbox), (GtkCallback) gtk_widget_hide, NULL); gtk_widget_show(validate->widget); }
static void SetExpanded(GtkWidget *widget, gpointer data) { if (GTK_IS_EXPANDER(widget)) { gtk_expander_set_expanded(GTK_EXPANDER(widget), true); } else if (GTK_IS_CONTAINER(widget)) { gtk_container_forall(GTK_CONTAINER(widget), SetExpanded, data); } return; }
static void gtk_image_menu_item_setting_changed (GtkSettings *settings) { GList *list, *l; list = gtk_window_list_toplevels (); for (l = list; l; l = l->next) gtk_container_forall (GTK_CONTAINER (l->data), traverse_container, NULL); g_list_free (list); }
static void menu_item_add_activator (GtkWidget *widget, gpointer function) { GtkWidget *menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget)); if (GTK_IS_CONTAINER (menu)) gtk_container_forall (GTK_CONTAINER (menu), menu_item_add_activator, NULL); else g_object_connect (widget, "signal::activate", function, NULL, NULL); }
GList * glade_gtk_grid_get_children (GladeWidgetAdaptor *adaptor, GtkContainer *container) { GList *children = NULL; g_return_val_if_fail (GTK_IS_GRID (container), NULL); gtk_container_forall (container, gtk_grid_children_callback, &children); /* GtkGrid has the children list already reversed */ return children; }
static gint glade_gtk_header_bar_get_num_children (GObject *object) { ChildrenData data; data.parent = GTK_CONTAINER (object); data.custom_title = gtk_header_bar_get_custom_title (GTK_HEADER_BAR (object)); data.include_placeholders = TRUE; data.count = 0; gtk_container_forall (data.parent, count_children, &data); return data.count; }
void gth_location_chooser_set_relief (GthLocationChooser *self, GtkReliefStyle value) { GtkWidget *button; if (self->priv->relief == value) return; self->priv->relief = value; button = NULL; gtk_container_forall (GTK_CONTAINER (self->priv->combo), get_combo_box_button, &button); if (button != NULL) { gtk_button_set_relief (GTK_BUTTON (button), self->priv->relief); /* show the arrow only when the pointer is over the combo_box */ if (self->priv->arrow == NULL) { gtk_container_forall (GTK_CONTAINER (gtk_bin_get_child (GTK_BIN (button))), get_combo_box_arrow, &self->priv->arrow); g_signal_connect_swapped (button, "enter-notify-event", G_CALLBACK (show_combo_box_arrow), self); g_signal_connect_swapped (button, "leave-notify-event", G_CALLBACK (hide_combo_box_arrow), self); } if (self->priv->arrow != NULL) gtk_widget_set_visible (self->priv->arrow, self->priv->relief != GTK_RELIEF_NONE); } g_object_notify (G_OBJECT (self), "relief"); }
void board_create_table(char *sql) { int questions; if(sql!=NULL) questions = question_load_questions(sql); else { char *query = g_malloc0(1024); sprintf(query,"SELECT questions.caption, questions.filename, Groups.group_name, Grades.grade_name, types.type_name, topics.topic_name, sub_topics.stopic_name FROM questions INNER JOIN Groups ON Groups.Group_ID = questions.Groups INNER JOIN Grades ON Grades.Grade_ID = questions.level INNER JOIN types ON types.type_id = questions.Type INNER JOIN topics ON topics.topic_id = questions.topic INNER JOIN sub_topics ON sub_topics.Subtopic_ID = questions.stopic INNER JOIN sub_cats ON sub_cats.Subcat_ID = questions.scat WHERE Questions.Groups = %d AND Questions.Topic = %d AND Questions.STopic = %d",groups_selected->id, topics_selected->id, stopic_selected->id); if(levels_selected!=NULL) sprintf(query,"%s AND Questions.level = %d",query,levels_selected->id); if(scat_selected!=NULL) sprintf(query,"%s AND Questions.Scat = %d",query,scat_selected->id); sprintf(query,"%s ORDER BY Questions.quest_id DESC",query); printf("Query: %s\n",query); questions = question_load_questions(query); } if(!questions) { error_dialog("No questions were found!"); return; } gtk_container_forall(GTK_CONTAINER(browser_table),(GtkCallback)gtk_widget_destroy,NULL); if(browser_table == NULL) browser_table = gtk_table_new(7,20,1); else { //gtk_table_resize(GTK_TABLE(browser_table),questions/3*5+1,16); gtk_table_resize(GTK_TABLE(browser_table),questions/3*3+1,10); } int q_num = 0; struct quest_node *temp = quest_list; while(temp != NULL) { temp->quest->number = ++q_num; GtkWidget *quest_canvas = board_drawing_area_new(temp->quest); gtk_table_attach(GTK_TABLE(browser_table),quest_canvas,1+((q_num-(((q_num-1)/3)*3)-1)*3), 3+((q_num-(((q_num-1)/3)*3)-1)*3), 1+(((q_num-1)/3)*3),3+(((q_num-1)/3)*3),GTK_FILL|GTK_EXPAND,GTK_FILL|GTK_EXPAND,0,0); // gtk_table_attach(GTK_TABLE(browser_table),quest_canvas,1+((q_num-(((q_num-1)/5)*5)-1)*3), 3+((q_num-(((q_num-1)/5)*5)-1)*3), 1+(((q_num-1)/5)*3),3+(((q_num-1)/5)*3),GTK_FILL|GTK_EXPAND,GTK_FILL|GTK_EXPAND,0,0); temp=temp->next; } gtk_widget_show_all(browser_table); return; }
void wxPizza::scroll(int dx, int dy) { GtkWidget* widget = GTK_WIDGET(this); if (gtk_widget_get_direction(widget) == GTK_TEXT_DIR_RTL) dx = -dx; m_scroll_x -= dx; m_scroll_y -= dy; if (widget->window) { gdk_window_scroll(widget->window, dx, dy); // Adjust child allocations. Doing a queue_resize on the children is not // enough, sometimes they redraw in the wrong place during fast scrolling. AdjustData data = { widget->window, dx, dy }; gtk_container_forall(GTK_CONTAINER(widget), scroll_adjust, &data); } }
static void assign_tooltips_from_actions(GtkWidget* widget) { if(G_LIKELY(GTK_IS_MENU_ITEM(widget))) { if(GTK_IS_ACTIVATABLE(widget)) assign_tooltip_from_action(widget); widget = gtk_menu_item_get_submenu((GtkMenuItem*)widget); if(widget) assign_tooltips_from_actions(widget); } else if (GTK_IS_CONTAINER(widget)) { gtk_container_forall((GtkContainer*)widget, (GtkCallback)assign_tooltips_from_actions, NULL); } }
void MainWindow::freeToolMenu() { XOJ_CHECK_TYPE(MainWindow); for (GList * l = this->toolbarMenuData; l != NULL; l = l->next) { MenuSelectToolbarData * data = (MenuSelectToolbarData *) l->data; delete data; } g_list_free(this->toolbarMenuData); this->toolbarMenuData = NULL; GtkMenuShell * menubar = GTK_MENU_SHELL(get("menuViewToolbar")); g_return_if_fail(menubar != NULL); gtk_container_forall(GTK_CONTAINER(menubar), (GtkCallback) container_remove_foreach, GTK_CONTAINER(menubar)); }
static void scroll_adjust(GtkWidget* widget, void* data) { const AdjustData* p = static_cast<AdjustData*>(data); widget->allocation.x += p->dx; widget->allocation.y += p->dy; if (widget->window == p->window) { // GtkFrame requires a queue_resize, otherwise parts of // the frame newly exposed by the scroll are not drawn. // To be safe, do it for all widgets. gtk_widget_queue_resize_no_redraw(widget); if (GTK_IS_CONTAINER(widget)) gtk_container_forall(GTK_CONTAINER(widget), scroll_adjust, data); } }
static void gtk_pizza_adjust_allocations_recurse (GtkWidget *widget, gpointer cb_data) { GtkPizzaAdjData *data = cb_data; widget->allocation.x += data->dx; widget->allocation.y += data->dy; if (GTK_WIDGET_NO_WINDOW (widget) && GTK_IS_CONTAINER (widget)) { gtk_container_forall (GTK_CONTAINER (widget), gtk_pizza_adjust_allocations_recurse, cb_data); } }
static gboolean glade_gtk_header_bar_verify_size (GObject *object, const GValue *value) { gint new_size; ChildrenData data; new_size = g_value_get_int (value); data.parent = GTK_CONTAINER (object); data.custom_title = gtk_header_bar_get_custom_title (GTK_HEADER_BAR (object)); data.include_placeholders = FALSE; data.count = 0; gtk_container_forall (data.parent, count_children, &data); return data.count <= new_size; }
static void gb_label_get_focus_targets (GtkWidget * widget, GList ** focus_targets) { if (GTK_WIDGET_CAN_FOCUS (widget) && GB_IS_GB_WIDGET (widget)) { *focus_targets = g_list_insert_sorted (*focus_targets, (gchar*) gtk_widget_get_name (widget), g_str_equal); } if (GTK_IS_CONTAINER (widget)) { gtk_container_forall (GTK_CONTAINER (widget), (GtkCallback) gb_label_get_focus_targets, focus_targets); } }