Exemplo n.º 1
0
	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);
	}
Exemplo n.º 2
0
void Scene_BrushFindReplaceShader(scene::Graph& graph, const char* find, const char* replace)
{
  Scene_ForEachBrush_ForEachFace(graph, FaceFindReplaceShaderVisitor(find, replace));
}