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

Re: Re: Help with flickering widgets when showing and hiding!!



On Thu, 22 Jul 2004 crypto_stonelock sympatico ca wrote:

> 
> > 
> > From: Tristan Van Berkom <vantr touchtunes com>
> > Date: 2004/07/22 Thu AM 11:24:41 EST
> > To: crypto_stonelock sympatico ca
> > CC: Maciej Katafiasz <mnews22 wp pl>,  gtk-app-devel-list gnome org
> > Subject: Re: Help with flickering widgets when showing and hiding!!
> > 
> > crypto > Alright i'll restate my problem without talking about the GtkList.
> > 
> > I know, it must have been said before but, just because a GtkList *is* a
> > GtkWidget (in OO terms), it doesn't mean that it behaves the same way as
> > any other widget, I glanced at the source and the GtkList is quite a beast.
> > 
> > for instance, look what it implements on its own:
> > 
> >    gobject_class->dispose = gtk_list_dispose;
> >    object_class->set_arg = gtk_list_set_arg;
> >    object_class->get_arg = gtk_list_get_arg;
> >    widget_class->unmap = gtk_list_unmap;
> >    widget_class->style_set = gtk_list_style_set;
> >    widget_class->realize = gtk_list_realize;
> >    widget_class->button_press_event = gtk_list_button_press;
> >    widget_class->button_release_event = gtk_list_button_release;
> >    widget_class->motion_notify_event = gtk_list_motion_notify;
> >    widget_class->size_request = gtk_list_size_request;
> >    widget_class->size_allocate = gtk_list_size_allocate;
> >    widget_class->drag_begin = gtk_list_drag_begin;
> >    widget_class->focus = gtk_list_focus;
> >    container_class->add = gtk_list_add;
> >    container_class->remove = gtk_list_remove;
> >    container_class->forall = gtk_list_forall;
> >    container_class->child_type = gtk_list_child_type;
> >    container_class->set_focus_child = gtk_list_set_focus_child;
> >    class->selection_changed = NULL;
> >    class->select_child = gtk_real_list_select_child;
> >    class->unselect_child = gtk_real_list_unselect_child;
> > 
> > This is an old old container implementation that should be avoided
> > at all costs.
> > 
> > So I'll assume that you have tested your scenario and that you have
> > the same problem with, say a GtkWindow with some GtkButtons inside.
> 
> Then again, I would agree if I was using it as is; but i'm not as it 
> didn't exactly do what i wanted nor how i wanted. I'm patching up what 
> it lacks manually and for scrolling, i'm using gtk_widget_hide/ 
> gtk_widget_show where it applies to "simulate" scrolling. My problem 
> isn't a GtkList problem, its the same redraw problem everybody gets 
> from not using a backbuffer before redrawing. Its the same problem 
> game programmers are confronted with every day since the dawn of man :).

um, why are you using show/hide to do scrolling?  the proper method is 
to pack the GtkList widget into a GtkScrolledWindow.  you may need to 
use gtk_scrolled_window_add_with_viewport(), as i don't recall if 
GtkList has its own viewport (my guess would be it doesn't).

	-brian



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