#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();
,const wxString& rsName = wxFrameNameStr
);
- virtual ~wxFrame();
+ virtual ~wxFrameOS2();
// implement base class pure virtuals
virtual void Maximize(bool bMaximize = TRUE);
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);
int m_nFsToolBarHeight;
bool m_bFsIsMaximized;
bool m_bFsIsShowing;
+ bool m_bIsShown;
+ wxWindow* m_pWinLastFocused;
private:
#if wxUSE_TOOLTIPS
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)
+ DECLARE_DYNAMIC_CLASS(wxFrameOS2)
};
#endif