X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a047aff270905b377a81657a90f92eb3297157d0..f944aec0cf131c1be0b8c127ba1ecdbc8410c9b2:/include/wx/msw/window.h?ds=sidebyside diff --git a/include/wx/msw/window.h b/include/wx/msw/window.h index 2b56566a73..dd35d7fd88 100644 --- a/include/wx/msw/window.h +++ b/include/wx/msw/window.h @@ -59,8 +59,19 @@ public: virtual void Raise(); virtual void Lower(); - virtual bool Show( bool show = true ); - virtual void DoEnable( bool enable ); + virtual bool Show(bool show = true); + virtual bool ShowWithEffect(wxShowEffect effect, + unsigned timeout = 0, + wxDirection dir = wxBOTTOM) + { + return MSWShowWithEffect(true, effect, timeout, dir); + } + virtual bool HideWithEffect(wxShowEffect effect, + unsigned timeout = 0, + wxDirection dir = wxBOTTOM) + { + return MSWShowWithEffect(false, effect, timeout, dir); + } virtual void SetFocus(); virtual void SetFocusFromKbd(); @@ -420,6 +431,11 @@ public: return true; } + // common part of Show/HideWithEffect() + bool MSWShowWithEffect(bool show, + wxShowEffect effect, + unsigned timeout, + wxDirection dir); // Responds to colour changes: passes event on to children. void OnSysColourChanged(wxSysColourChangedEvent& event); @@ -433,11 +449,6 @@ public: // check if a native double-buffering applies for this window virtual bool IsDoubleBuffered() const; - // this allows you to implement standard control borders without - // repeating the code in different classes that are not derived from - // wxControl - virtual wxBorder GetDefaultBorderForControl() const; - // synthesize a wxEVT_LEAVE_WINDOW event and set m_mouseInWindow to false void GenerateMouseLeave(); @@ -446,6 +457,17 @@ public: virtual void OnInternalIdle(); protected: + // this allows you to implement standard control borders without + // repeating the code in different classes that are not derived from + // wxControl + virtual wxBorder GetDefaultBorderForControl() const; + + // choose the default border for this window + virtual wxBorder GetDefaultBorder() const; + + // Translate wxBORDER_THEME (and other border styles if necessary to the value + // that makes most sense for this Windows environment + virtual wxBorder TranslateBorder(wxBorder border) const; #if wxUSE_MENUS_NATIVE virtual bool DoPopupMenu( wxMenu *menu, int x, int y ); @@ -479,6 +501,8 @@ protected: virtual void DoCaptureMouse(); virtual void DoReleaseMouse(); + virtual void DoEnable(bool enable); + // this simply moves/resizes the given HWND which is supposed to be our // sibling (this is useful for controls which are composite at MSW level // and for which DoMoveWindow() is not enough) @@ -531,8 +555,7 @@ private: bool HandleNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result); - // number of calls to Freeze() minus number of calls to Thaw() - unsigned int m_frozenness; + // current defer window position operation handle (may be NULL) WXHANDLE m_hDWP; @@ -544,6 +567,10 @@ protected: wxPoint m_pendingPosition; wxSize m_pendingSize; + // number of calls to Freeze() minus number of calls to Thaw() + // protected so that wxTopLevelWindowMSW can access it + unsigned int m_frozenness; + private: #ifdef __POCKETPC__ bool m_contextMenuEnabled;