]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/frame.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxFrame class
4 // Author: David Webster
8 // Copyright: (c) David Webster
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
16 // Get the default resource ID's for frames
18 #include "wx/os2/wxOs2.h"
20 class WXDLLEXPORT wxFrame
: public wxFrameBase
25 wxFrame( wxWindow
* pParent
27 ,const wxString
& rsTitle
28 ,const wxPoint
& rPos
= wxDefaultPosition
29 ,const wxSize
& rSize
= wxDefaultSize
30 ,long lStyle
= wxDEFAULT_FRAME_STYLE
31 ,const wxString
& rsName
= wxFrameNameStr
36 Create(pParent
, vId
, rsTitle
, rPos
, rSize
, lStyle
, rsName
);
39 bool Create( wxWindow
* pParent
41 ,const wxString
& rsTitle
42 ,const wxPoint
& rPos
= wxDefaultPosition
43 ,const wxSize
& rSize
= wxDefaultSize
44 ,long lStyle
= wxDEFAULT_FRAME_STYLE
45 ,const wxString
& rsName
= wxFrameNameStr
50 // implement base class pure virtuals
51 virtual void Maximize(bool bMaximize
= TRUE
);
52 virtual bool IsMaximized(void) const;
53 virtual void Iconize(bool bIconize
= TRUE
);
54 virtual bool IsIconized(void) const;
55 virtual void Restore(void);
56 virtual void SetMenuBar(wxMenuBar
* pMenubar
);
57 virtual void SetIcon(const wxIcon
& rIcon
);
58 virtual bool ShowFullScreen( bool bShow
59 ,long lStyle
= wxFULLSCREEN_ALL
61 virtual bool IsFullScreen(void) const { return m_bFsIsShowing
; };
64 // implementation only from now on
65 // -------------------------------
67 // override some more virtuals
68 virtual bool Show(bool bShow
= TRUE
);
71 void OnActivate(wxActivateEvent
& rEvent
);
72 void OnSysColourChanged(wxSysColourChangedEvent
& rEvent
);
76 virtual wxToolBar
* CreateToolBar( long lStyle
= wxNO_BORDER
| wxTB_HORIZONTAL
| wxTB_FLAT
78 ,const wxString
& rsName
= wxToolBarNameStr
81 virtual void PositionToolBar(void);
82 #endif // wxUSE_TOOLBAR
86 virtual wxStatusBar
* OnCreateStatusBar( int nNumber
= 1
87 ,long lStyle
= wxST_SIZEGRIP
89 ,const wxString
& rsName
= wxStatusLineNameStr
91 virtual void PositionStatusBar(void);
93 // Hint to tell framework which status bar to use: the default is to use
94 // native one for the platforms which support it (Win32), the generic one
97 // TODO: should this go into a wxFrameworkSettings class perhaps?
98 static void UseNativeStatusBar(bool bUseNative
)
99 { m_bUseNativeStatusBar
= bUseNative
; };
100 static bool UsesNativeStatusBar()
101 { return m_bUseNativeStatusBar
; };
102 #endif // wxUSE_STATUSBAR
104 WXHMENU
GetWinMenu() const { return m_hMenu
; }
105 WXHWND
GetFrame() const { return m_hFrame
; }
107 // Returns the origin of client area (may be different from (0,0) if the
108 // frame has a toolbar)
109 virtual wxPoint
GetClientAreaOrigin() const;
112 bool HandlePaint(void);
113 bool HandleSize( int nX
117 bool HandleCommand( WXWORD wId
121 bool HandleMenuSelect( WXWORD wItem
126 bool OS2Create( int nId
128 ,const wxChar
* zWclass
130 ,const wxChar
* zTitle
138 // tooltip management
140 WXHWND
GetToolTipCtrl(void) const { return m_hWndToolTip
; }
141 void SetToolTipCtrl(WXHWND hHwndTT
) { m_hWndToolTip
= hHwndTT
; }
145 // common part of all ctors
148 // common part of Iconize(), Maximize() and Restore()
149 void DoShowWindow(int nShowCmd
);
151 // override base class virtuals
152 virtual void DoGetClientSize( int* pWidth
155 virtual void DoGetSize( int* pWidth
158 virtual void DoGetPosition( int* pX
161 virtual void DoSetClientSize( int nWidth
166 void DetachMenuBar(void);
168 // a plug in for MDI frame classes which need to do something special when
169 // the menubar is set
170 virtual void InternalSetMenuBar(void);
172 // propagate our state change to all child frames
173 void IconizeChildFrames(bool bIconize
);
175 // we add menu bar accel processing
176 bool OS2TranslateMessage(WXMSG
* pMsg
);
178 // window proc for the frames
179 MRESULT
OS2WindowProc( WXUINT uMessage
185 WXHICON m_hDefaultIcon
;
188 static bool m_bUseNativeStatusBar
;
189 #endif // wxUSE_STATUSBAR
191 // Data to save/restore when calling ShowFullScreen
192 long m_lFsStyle
; // Passed to ShowFullScreen
194 long m_lFsOldWindowStyle
;
195 int m_nFsStatusBarFields
; // 0 for no status bar
196 int m_nFsStatusBarHeight
;
197 int m_nFsToolBarHeight
;
198 bool m_bFsIsMaximized
;
203 WXHWND m_hWndToolTip
;
207 // The main handle of a frame window, that used for message processing
208 // is the client handle under PM. But we still need the frame handle
214 // Handles to child windows of the Frame that we don't have child objects for
221 // Swp structures for various client data
222 // DW: Better off in attached RefData?
233 DECLARE_EVENT_TABLE()
234 DECLARE_DYNAMIC_CLASS(wxFrame
)