Ignore:
Timestamp:
Aug 4, 2011, 8:42:53 PM (14 years ago)
Author:
Dmitry A. Kuminov
Message:

OS/2: gui: Make blocked widgets follow modal on Z-order change.

This makes sure that whenever the modal widget is brought
to front, all the ones it blocks will be placed right underneath it
keeping their original z-order at the time of blocking.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gui/kernel/qwidget_p.h

    r878 r938  
    236236    HSWITCH swEntry;
    237237    HPOINTER iconPointer;
     238    QWidget *modalBlocker;
    238239#endif
    239240};
     
    782783    uint noPaintOnScreen : 1; // see qwidget_pm.cpp ::paintEngine()
    783784
    784     inline HWND frameWinId() const
    785     { return maybeTopData() && maybeTopData()->fId != NULLHANDLE ?
    786              maybeTopData()->fId : data.winid; }
     785    inline HWND frameWinId() const;
    787786    HWND effectiveFrameWinId() const;
    788787    void validateObstacles();
    789788    void reparentChildren();
     789    void setModalBlocker (QWidget *modal);
     790    QWidget *modalBlocker() const;
    790791#elif defined(Q_WS_WIN) // <--------------------------------------------------------- WIN
    791792    uint noPaintOnScreen : 1; // see qwidget_win.cpp ::paintEngine()
     
    10161017}
    10171018
     1019#if defined(Q_WS_PM)
     1020
     1021inline HWND QWidgetPrivate::frameWinId() const
     1022{
     1023    return maybeTopData() && maybeTopData()->fId != NULLHANDLE ?
     1024             maybeTopData()->fId : data.winid;
     1025}
     1026
     1027inline void QWidgetPrivate::setModalBlocker (QWidget *modal)
     1028{
     1029    topData()->modalBlocker = modal;
     1030}
     1031
     1032inline QWidget *QWidgetPrivate::modalBlocker() const
     1033{
     1034    QTLWExtra *top = maybeTopData();
     1035    return top ? top->modalBlocker : 0;
     1036}
     1037
     1038#endif
     1039
    10181040QT_END_NAMESPACE
    10191041
Note: See TracChangeset for help on using the changeset viewer.