GtkFileChooser preview widget
Hi I'm trying to add a preview widget that is a drawing area for cairo to my file chooser but have encountered a couple of problems. I have attached a configure-event signal to the drawing-area to redraw when the widget resizes but this is causing problems on initialisation, I get the following error: Gtk-WARNING **: GtkDrawingArea 0x1700340 is mapped but visible=1 child_visible=1 parent GtkBox 0x1c1eba0 mapped=0 I believe this is coming from a call to gtk_file_chooser_set_preview_widget_active(w, FALSE) which is required to prevent the file chooser from displaying an empty box for the preview widget when the file chooser first starts. After the initial error, the file chooser behaves correctly. Below are the configure-event and update-preview callbacks. Any idea what I'm doing wrong? Cheers, Franco static cairo_surface_t *colour_scheme_preview_surface; static gboolean colour_scheme_update_preview_cb(GtkWidget *widget, gpointer data) { gboolean preview = FALSE; char *filename = gtk_file_chooser_get_preview_filename(GTK_FILE_CHOOSER(widget)); if(filename){ if(pegasus_colour_bar_init(DS_PREVIEW, colour_scheme_preview_surface, filename)){ preview = TRUE; gtk_widget_queue_draw(GTK_WIDGET(data)); } free(filename); } gtk_file_chooser_set_preview_widget_active(GTK_FILE_CHOOSER(widget), preview); return FALSE; } static gboolean colour_scheme_configure_event_cb(GtkWidget *widget, GdkEventConfigure *event, gpointer data) { if(colour_scheme_preview_surface) cairo_surface_destroy(colour_scheme_preview_surface); gint width, height; width = gtk_widget_get_allocated_width(widget); height = gtk_widget_get_allocated_height(widget); colour_scheme_preview_surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height); colour_scheme_update_preview_cb(GTK_WIDGET(data), widget); return FALSE; } ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
gtktreeview: Why does gtktreeview retrieve all columns although 99% are not visible? (psppire)
Hi, i currently work on psppire http://savannah.gnu.org/projects/pspp/ and want to use gtktreeview for a large number of columns (2000) and rows (1). I use only a kind of fake tree model while the actual rendering and data retrieval is done via gtk_tree_view_column_set_cell_data_func. I noticed that during redraw all columns are actually retrieved but only for the visible rows. Here is a log showing the access pattern: (here columns 0 to 1995) render_data_cell: row: 6, column: 1996 render_data_cell: row: 6, column: 1997 render_data_cell: row: 6, column: 1998 render_data_cell: row: 6, column: 1999 render_data_cell: row: 6, column: 0 render_data_cell: row: 6, column: 1 render_data_cell: row: 6, column: 2 render_data_cell: row: 6, column: 3 render_data_cell: row: 6, column: 4 render_data_cell: row: 6, column: 5 render_data_cell: row: 6, column: 6 render_data_cell: row: 6, column: 7 render_data_cell: row: 6, column: 8 render_data_cell: row: 6, column: 9 render_data_cell: row: 6, column: 10 render_data_cell: row: 6, column: 11 render_data_cell: row: 6, column: 12 render_data_cell: row: 6, column: 13 render_data_cell: row: 6, column: 14 render_data_cell: row: 6, column: 15 Only columns 0 to 15 are visible in the window. Is there any specific reason why 2000 columns are retrieved when only 16 are visible? I configured the columns as GTK_TREE_VIEW_COLUMN_FIXED. The treeview has the fixed-height mode activated. I use gtk3 18.5 on macports. Is there a configuration of the columns or the treeview that would prevent this? The code is here: http://git.savannah.gnu.org/cgit/pspp.git/tree/src/ui/gui/psppire-data-sheet.c?h=treeview#n244 Friedrich ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list