void TextureOverviewDialog::populateWindow () { GtkWidget* dialogVBox = gtk_vbox_new(FALSE, 6); // Set up the info table GtkWidget* view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(_store)); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), TRUE); // Connect up selection changed callback _selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view)); g_signal_connect(G_OBJECT(_selection), "changed", G_CALLBACK(onSelectionChanged), this); GtkCellRenderer* rend; GtkTreeViewColumn* col; rend = gtk_cell_renderer_pixbuf_new(); gtk_cell_renderer_set_fixed_size(rend, 128, -1); col = gtk_tree_view_column_new(); gtk_tree_view_append_column(GTK_TREE_VIEW(view), col); gtk_tree_view_column_set_title(col, _("Image")); gtk_tree_view_column_pack_start(col, rend, false); gtk_tree_view_column_add_attribute(col, rend, "pixbuf", TEXTUREOVERVIEW_IMAGE); rend = gtk_cell_renderer_text_new(); col = gtk_tree_view_column_new_with_attributes(_("Name"), rend, "text", TEXTUREOVERVIEW_NAME, NULL); g_object_set(G_OBJECT(rend), "weight", 400, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(view), col); rend = gtk_cell_renderer_text_new(); col = gtk_tree_view_column_new_with_attributes(_("Count"), rend, "text", TEXTUREOVERVIEW_COUNT, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(view), col); GtkWidget *scroll = gtkutil::ScrolledFrame(view); gtk_box_pack_start(GTK_BOX(dialogVBox), GTK_WIDGET(scroll), TRUE, TRUE, 0); GtkWidget* hbox = gtk_hbox_new(FALSE, 6); GtkWidget* closeButton = gtk_button_new_from_stock(GTK_STOCK_CLOSE); gtk_widget_set_size_request(closeButton, -1, -1); g_signal_connect(G_OBJECT(closeButton), "clicked", G_CALLBACK(onClose), this); gtk_box_pack_end(GTK_BOX(hbox), closeButton, FALSE, FALSE, 0); GtkWidget* findAndReplaceButton = gtk_button_new_from_stock(GTK_STOCK_FIND_AND_REPLACE); gtk_widget_set_size_request(findAndReplaceButton, -1, -1); g_signal_connect(G_OBJECT(findAndReplaceButton), "clicked", G_CALLBACK(onFindAndReplace), this); gtk_box_pack_end(GTK_BOX(hbox), findAndReplaceButton, FALSE, FALSE, 0); gtk_box_pack_end(GTK_BOX(dialogVBox), GTK_WIDGET(hbox), FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(getWindow()), dialogVBox); TextureCounter counter(_store); Scene_ForEachBrush_ForEachFace(GlobalSceneGraph(), counter); }
void Scene_BrushFindReplaceShader(scene::Graph& graph, const char* find, const char* replace) { Scene_ForEachBrush_ForEachFace(graph, FaceFindReplaceShaderVisitor(find, replace)); }