From: Wesley Smith <wesley.hoke@xxxxxxxxx> > >> In the situation I'm talking about, there is no GtkWidget object so > >> your technique won't work. This is the code I'm going off of > >> actually. Thus my question is how can I get a pango context from a > >> GtkCellRendererText? > > > > AFAIK, the pango context used by the GtkCellRenderer is the same used > > by the treeview, so try to make something like: > > > > > Hmmm. But then I'm allowed to add many GtkCellRendererText views to > GtkTreeView and each of those can have different font settings, so > what would happen then? I might not be getting the correct > measurements from the PangoContext in GtkTreeView. Hmm, yes, looking a litte deeper on that, it seems that my previous pseudocode was just a rough estimation. (And about the different font settings, I guess that you configure it with the other GtkCellRendererText properties): http://library.gnome.org/devel/gtk/stable/GtkCellRendererText.html#GtkCellRendererText.properties So looking in the current GTK+ code, my advice is check gtk_tree_view_column_cell_get_size, as it tries to solve a similar problem to ours. After a quick review: * gtk_tree_view_column_cell_get_size: C&P the documentation: > * Obtains the width and height needed to render the column. This is used > *primarily by the #GtkTreeView. * internally it calls gtk_cell_renderer_get_size, for each cell renderer in this column. Their doc: > * Obtains the width and height needed to render the cell. Used by view > * widgets to determine the appropriate size for the cell_area passed to > * gtk_cell_renderer_render(). If @cell_area is not %NULL, fills in the > * x and y offsets (if set) of the cell relative to this location. * And the call to this function is that: gtk_cell_renderer_get_size (info->cell, tree_column->tree_view, cell_area, x_offset, y_offset, &new_width, &new_height); So is using the tree_view as widget. * In the specific case of gtk_cell_renderer_text_get_size, it calls a internal get_size, passing NULL as layout. Looking at that function, as it is receiving a NULL layout, then it creates a new pango_layout, based on treeview layout, the cell_renderer attributtes and so on. BR === API (apinheiro@xxxxxxxxxx) _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list