Re: Find out if a widget or window is actually visible?



Toralf,

Looking through the thread, I didn't see a mention about the expose event.  This event will get called when a window is un-obscured.  Although, I don't know if you can actually *ask* for this information at any random point in time.

Paul


On 10/30/06, Toralf Lund <toralf procaptura com> wrote:
Chris Vine wrote:
> On Wednesday 25 October 2006 10:21, Toralf Lund wrote:
>
>> Does Gtkmm/Gdkmm offer a nice and simple way to find out if a widget or
>> window is actually visible to the user, i.e. is mapped *and not obscured
>> by another window*? I mean, .e.g Gdk::Window::is_viewable () and
>> Gdk::Window::is_visible ()/Gtk::Widget::is_visible() will answer only
>> first half of that question, I believe, i.e. they will tell me whether
>> the window/widget is mapped, but not check if it is covered by something
>> else.
>>
>
> I am not entirely sure if I understand you but Gtk::Widget::is_visible() will
> tell you whether the widget is obscured.  (Note however that a minimised
> window still counts as visible so in practice you will need to check for
> both.)
>
I thought I proved by testing that is_visible() would merely check
whether show() had been called - not if the widget or window was
actually visible to the user, but maybe I got it wrong...

> The best thing is to connect to the
> Gtk::Widget::signal_visibility_notify_event() signal of the Gtk::Window
> object concerned.  The GdkEventVisibility argument passed to the slot has an
> enumerated member variable called 'state' of type GdkVisibilityState which
> can tell you whether the widget is wholly or partially obscured (it has state
> values of GDK_VISIBILITY_UNOBSCURED GDK_VISIBILITY_PARTIAL and
> GDK_VISIBILITY_FULLY_OBSCURED).  The callback will be called whenever the
> visibility state changes.
>
Unfortunately, that won't do for the case I have in mind (or I wouldn't
have asked), as I want to check visibility in the context of using
Gdk::Window::process_updates().

- Toralf
_______________________________________________
gtkmm-list mailing list
gtkmm-list gnome org
http://mail.gnome.org/mailman/listinfo/gtkmm-list



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