X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/178f951f78abbc04abba3f9ff52432513c309068..2b260bc3e2f269de090eefdaefc1450207a7734e:/include/wx/os2/frame.h diff --git a/include/wx/os2/frame.h b/include/wx/os2/frame.h index 1ff9224fac..ed2be61380 100644 --- a/include/wx/os2/frame.h +++ b/include/wx/os2/frame.h @@ -12,19 +12,24 @@ #ifndef _WX_FRAME_H_ #define _WX_FRAME_H_ -class WXDLLEXPORT wxFrame : public wxFrameBase +// +// Get the default resource ID's for frames +// +#include "wx/os2/wxOs2.h" + +class WXDLLEXPORT wxFrameOS2 : public wxFrameBase { public: // construction - wxFrame() { Init(); } - wxFrame( wxWindow* pParent - ,wxWindowID vId - ,const wxString& rsTitle - ,const wxPoint& rPos = wxDefaultPosition - ,const wxSize& rSize = wxDefaultSize - ,long lStyle = wxDEFAULT_FRAME_STYLE - ,const wxString& rsName = wxFrameNameStr - ) + wxFrameOS2() { Init(); } + wxFrameOS2( wxWindow* pParent + ,wxWindowID vId + ,const wxString& rsTitle + ,const wxPoint& rPos = wxDefaultPosition + ,const wxSize& rSize = wxDefaultSize + ,long lStyle = wxDEFAULT_FRAME_STYLE + ,const wxString& rsName = wxFrameNameStr + ) { Init(); @@ -40,7 +45,7 @@ public: ,const wxString& rsName = wxFrameNameStr ); - virtual ~wxFrame(); + virtual ~wxFrameOS2(); // implement base class pure virtuals virtual void Maximize(bool bMaximize = TRUE); @@ -53,7 +58,7 @@ public: virtual bool ShowFullScreen( bool bShow ,long lStyle = wxFULLSCREEN_ALL ); - virtual bool IsFullScreen(void) const { return m_fsIsShowing; }; + virtual bool IsFullScreen(void) const { return m_bFsIsShowing; }; // implementation only from now on @@ -91,9 +96,9 @@ public: // TODO: should this go into a wxFrameworkSettings class perhaps? static void UseNativeStatusBar(bool bUseNative) - { m_useNativeStatusBar = useNative; }; + { m_bUseNativeStatusBar = bUseNative; }; static bool UsesNativeStatusBar() - { return m_useNativeStatusBar; }; + { return m_bUseNativeStatusBar; }; #endif // wxUSE_STATUSBAR WXHMENU GetWinMenu() const { return m_hMenu; } @@ -131,10 +136,24 @@ public: // tooltip management #if wxUSE_TOOLTIPS - WXHWND GetToolTipCtrl(void) const { return m_hwndToolTip; } - void SetToolTipCtrl(WXHWND hHwndTT) { m_hwndToolTip = hwndTT; } + WXHWND GetToolTipCtrl(void) const { return m_hWndToolTip; } + void SetToolTipCtrl(WXHWND hHwndTT) { m_hWndToolTip = hHwndTT; } #endif // tooltips + // + // Called by wxWindow whenever it gets focus + // + void SetLastFocus(wxWindow* pWin) { m_pWinLastFocused = pWin; } + wxWindow *GetLastFocus(void) const { return m_pWinLastFocused; } + + void SetClient(WXHWND c_Hwnd); + void SetClient(wxWindow* c_Window); + wxWindow *GetClient(); + HWND GetFrame(void) const { return m_hFrame; } + + friend MRESULT EXPENTRY wxFrameWndProc(HWND hWnd,ULONG ulMsg, MPARAM wParam, MPARAM lParam); + friend MRESULT EXPENTRY wxFrameMainWndProc(HWND hWnd,ULONG ulMsg, MPARAM wParam, MPARAM lParam); + protected: // common part of all ctors void Init(void); @@ -159,10 +178,13 @@ protected: // helper void DetachMenuBar(void); +#if wxUSE_MENUS_NATIVE + // perform MSW-specific action when menubar is changed + virtual void AttachMenuBar(wxMenuBar* pMenubar); // a plug in for MDI frame classes which need to do something special when // the menubar is set virtual void InternalSetMenuBar(void); - +#endif // propagate our state change to all child frames void IconizeChildFrames(bool bIconize); @@ -191,14 +213,38 @@ protected: int m_nFsToolBarHeight; bool m_bFsIsMaximized; bool m_bFsIsShowing; + bool m_bIsShown; + wxWindow* m_pWinLastFocused; private: #if wxUSE_TOOLTIPS - WXHWND m_hHwndToolTip; + WXHWND m_hWndToolTip; #endif // tooltips + // + // Handles to child windows of the Frame, and the frame itself, + // that we don't have child objects for (m_hWnd in wxWindow is the + // handle of the Frame's client window! + // + WXHWND m_hFrame; + WXHWND m_hTitleBar; + WXHWND m_hHScroll; + WXHWND m_hVScroll; + + // + // Swp structures for various client data + // DW: Better off in attached RefData? + // + SWP m_vSwp; + SWP m_vSwpClient; + SWP m_vSwpTitleBar; + SWP m_vSwpMenuBar; + SWP m_vSwpHScroll; + SWP m_vSwpVScroll; + SWP m_vSwpStatusBar; + SWP m_vSwpToolBar; + DECLARE_EVENT_TABLE() - DECLARE_DYNAMIC_CLASS(wxFrame) }; #endif