Re: Trouble with Gtk::EventBox and Expose Events



On 22/03/11 14:29, Kjell Ahlstedt wrote:
> Hi Andrew,
> 
> What I think happens is
> 1. The default signal handler draws the background and the label.
> 2. Your signal handler draws a new background on top of it all.
> 
> This is worth trying:
> 
> 1. in BaseBox::BaseBox()
>   signal_expose_event().connect(sigc::mem_fun(*this,
> &BaseBox::_on_expose_event), false);
> 
> after = false makes BaseBox::_on_expose_event run before the default
> signal handler.
> I'm not sure about set_visible_window(false). Perhaps you should remove
> it.
> 
> 2. at the end of BaseBox::_on_expose_event(GdkEventExpose* event)
>   propagate_expose(*get_child(), event);
>   return true;
> 
> The expose_event signal will be sent to the label, making it draw
> itself, I hope, and the default signal handler of EventBox will not be
> called.
> 

The first method worked :)

Many thanks :)

-- 
Andrew


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