[g-a-devel] Which window is on top?



Greetings,
 
I have multiple apps running with windows layered on top of windows.  The user moves the mouse to a point that, as you drill down, is in multiple different windows.  I cannot find a way to figure out what window is on top nor the zorder relationship of the windows.  Every GUI item on every window, regardless if it is totally obscured, partially visible, or totally visible shows up as STATE_VISIBLE and STATE_SHOWING.  Once my app finds the innermost object containing the mouse it displays the complete parent tree.  Every parent is also STATE_VISIBLE and STATE_SHOWING.  I've tried Accessible_getMDIZOrder, but it returns 0 all the time except for two cases of icons on the desktop.
 
If two windows cover the same pixel on the desktop, how can I figure out which one is higher in the zorder and which is lower?  If I've overlooked something really obvious, I apologize.
 
-Sam
 
PS: Just in case Accessible_getMDIZOrder is supposed to be the answer, here's my code that almost always returns 0:
 
short getZOrder(Accessible *accessibleObject)
{
    if(Accessible_isComponent(accessibleObject)) {
        AccessibleComponent *aComponent =  Accessible_getComponent(accessibleObject);
        short zo = AccessibleComponent_getMDIZOrder(aComponent);
        AccessibleComponent_unref(aComponent);
        return zo;
    }
    return -2;  // for applications
}


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