[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: GtkTreeView selection- troubles in managing "changed" signal
- From: Rosa Mannini <rosma77 yahoo com>
- To: Kristian Rietveld <kris gtk org>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: GtkTreeView selection- troubles in managing "changed" signal
- Date: Wed, 15 Oct 2003 13:30:34 +0200 (CEST)
--- Kristian Rietveld <kris@gtk.org> ha scritto: > On
Tue, 2003-10-14 at 10:02, Rosa Mannini wrote:
> > I can't understand why for the real FIRST time I
> > select an item different from the first one (row 0
> of
> > the list) the row 0 is selected automatically, and
>
> When the GtkTreeView gets focus for the first time
> (for example when the
> application window is showed up for the first time),
> it will check if
> the cursor has been set. If not, it will set the
> cursor on row 0 by
> default, and this is what's happening here.
>
> The problem is that we can't change that behavior at
> this time. To get
> around it you have two options:
>
> - Set the cursor on row "0" yourself (using
> gtk_tree_view_set_cursor)
> before connecting to the changed signal.
> - Keep a boolean value "first_sel_changed",
> initially set to TRUE, and
> make your ::changed signal handler look like this:
>
> void selection_changed (GtkTreeSelection *sel,
> gpointer data)
> {
> if (first_sel_changed)
> {
> first_sel_changed = FALSE;
> return;
> }
>
> /* else do stuff */
> }
>
> So the first changed signal will be ignored. (If you
> are using a struct
> or object to keep your widgets together, it's of
> course a very good idea
> to put this boolean there).
>
>
I haven't already test your advice .. but I have some
doubts about the possibility it has to work. As I said
in my PS I tried to use a counter, that is very
similar to the boolean parameter. But if the first
really selected row is really row 0 the signal isn't
emitted.
Do you think your implementation will have a different
beaviour?
>
Thank you very very much!!!!
Rosa
______________________________________________________________________
Yahoo! Mail: 6MB di spazio gratuito, 30MB per i tuoi allegati, l'antivirus, il filtro Anti-spam
http://it.yahoo.com/mail_it/foot/?http://it.mail.yahoo.com/
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]