gtktreeview.c



Hello to all,

Context:
=======
- I did set the gtk_tree_selection to SELECT_NONE for a treeview instance, but after that the
GtkCellRenderers dont work at all.

- I use Gtk+-2.0-2.20.1, but the incriminated code remains in gtk+-3.2

Question:
========

In function "static gboolean gtk_tree_view_button_press(GtkWidget* widget, GdkEventButton *event)", 
there is :

----------------------------------------------------------------------
...
	  if ((anchor && !gtk_tree_path_compare (anchor, path))
	      || !_gtk_tree_view_column_has_editable_cell (column))

...
----------------------------------------------------------------------

What does the "!" before "_gtk_tree_view_column_has_editable_cell(column)" stand for  ?

The signification of this code is somhing like :

if (
     ("there is a row selected" _AND_ "the user just clicked on that row" )
       _OR_
     ( "the clicked column has no editable cell" )
   )
{
	...
	cell_renderer->start_editing(...)
	...
}

That seems contradictory ; it should be :

if (
     ("there is a row selected" _AND_ "the user just clicked on that row" )
       _OR_
     ( "the clicked column HAS AT LEAST ONE editable cell" )
   )
{
	...
	cell_renderer->start_editing(...)
	...
}

( i.e. no "!" )

Test :
====
I have recompiled gtk+ without the "!", and now my GtkCellRendererCombo works, my editable 
GtkCellRendereralText too, although the row do not become selected.

Regards.

 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]