Start of actual filling in of wxFrame.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2000-02-16 21:51:58 +00:00
parent ea51d98d65
commit 178f951f78

View File

@@ -17,72 +17,80 @@ class WXDLLEXPORT wxFrame : public wxFrameBase
public: public:
// construction // construction
wxFrame() { Init(); } wxFrame() { Init(); }
wxFrame(wxWindow *parent, wxFrame( wxWindow* pParent
wxWindowID id, ,wxWindowID vId
const wxString& title, ,const wxString& rsTitle
const wxPoint& pos = wxDefaultPosition, ,const wxPoint& rPos = wxDefaultPosition
const wxSize& size = wxDefaultSize, ,const wxSize& rSize = wxDefaultSize
long style = wxDEFAULT_FRAME_STYLE, ,long lStyle = wxDEFAULT_FRAME_STYLE
const wxString& name = wxFrameNameStr) ,const wxString& rsName = wxFrameNameStr
)
{ {
Init(); Init();
Create(parent, id, title, pos, size, style, name); Create(pParent, vId, rsTitle, rPos, rSize, lStyle, rsName);
} }
bool Create(wxWindow *parent, bool Create( wxWindow* pParent
wxWindowID id, ,wxWindowID vId
const wxString& title, ,const wxString& rsTitle
const wxPoint& pos = wxDefaultPosition, ,const wxPoint& rPos = wxDefaultPosition
const wxSize& size = wxDefaultSize, ,const wxSize& rSize = wxDefaultSize
long style = wxDEFAULT_FRAME_STYLE, ,long lStyle = wxDEFAULT_FRAME_STYLE
const wxString& name = wxFrameNameStr); ,const wxString& rsName = wxFrameNameStr
);
virtual ~wxFrame(); virtual ~wxFrame();
// implement base class pure virtuals // implement base class pure virtuals
virtual void Maximize(bool maximize = TRUE); virtual void Maximize(bool bMaximize = TRUE);
virtual bool IsMaximized() const; virtual bool IsMaximized(void) const;
virtual void Iconize(bool iconize = TRUE); virtual void Iconize(bool bIconize = TRUE);
virtual bool IsIconized() const; virtual bool IsIconized(void) const;
virtual void Restore(); virtual void Restore(void);
virtual void SetMenuBar(wxMenuBar *menubar); virtual void SetMenuBar(wxMenuBar* pMenubar);
virtual void SetIcon(const wxIcon& icon); virtual void SetIcon(const wxIcon& rIcon);
virtual bool ShowFullScreen( bool bShow
,long lStyle = wxFULLSCREEN_ALL
);
virtual bool IsFullScreen(void) const { return m_fsIsShowing; };
// implementation only from now on // implementation only from now on
// ------------------------------- // -------------------------------
// override some more virtuals // override some more virtuals
virtual bool Show(bool show = TRUE); virtual bool Show(bool bShow = TRUE);
// event handlers // event handlers
void OnActivate(wxActivateEvent& event); void OnActivate(wxActivateEvent& rEvent);
void OnSysColourChanged(wxSysColourChangedEvent& event); void OnSysColourChanged(wxSysColourChangedEvent& rEvent);
// Toolbar // Toolbar
#if wxUSE_TOOLBAR #if wxUSE_TOOLBAR
virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER | wxTB_HORIZONTAL | wxTB_FLAT, virtual wxToolBar* CreateToolBar( long lStyle = wxNO_BORDER | wxTB_HORIZONTAL | wxTB_FLAT
wxWindowID id = -1, ,wxWindowID vId = -1
const wxString& name = wxToolBarNameStr); ,const wxString& rsName = wxToolBarNameStr
);
virtual void PositionToolBar(); virtual void PositionToolBar(void);
#endif // wxUSE_TOOLBAR #endif // wxUSE_TOOLBAR
// Status bar // Status bar
#if wxUSE_STATUSBAR #if wxUSE_STATUSBAR
virtual wxStatusBar* OnCreateStatusBar(int number = 1, virtual wxStatusBar* OnCreateStatusBar( int nNumber = 1
long style = wxST_SIZEGRIP, ,long lStyle = wxST_SIZEGRIP
wxWindowID id = 0, ,wxWindowID vId = 0
const wxString& name = wxStatusLineNameStr); ,const wxString& rsName = wxStatusLineNameStr
);
virtual void PositionStatusBar(); virtual void PositionStatusBar(void);
// Hint to tell framework which status bar to use: the default is to use // Hint to tell framework which status bar to use: the default is to use
// native one for the platforms which support it (Win32), the generic one // native one for the platforms which support it (Win32), the generic one
// otherwise // otherwise
// TODO: should this go into a wxFrameworkSettings class perhaps? // TODO: should this go into a wxFrameworkSettings class perhaps?
static void UseNativeStatusBar(bool useNative) static void UseNativeStatusBar(bool bUseNative)
{ m_useNativeStatusBar = useNative; }; { m_useNativeStatusBar = useNative; };
static bool UsesNativeStatusBar() static bool UsesNativeStatusBar()
{ return m_useNativeStatusBar; }; { return m_useNativeStatusBar; };
@@ -95,44 +103,65 @@ public:
virtual wxPoint GetClientAreaOrigin() const; virtual wxPoint GetClientAreaOrigin() const;
// event handlers // event handlers
bool HandlePaint(); bool HandlePaint(void);
bool HandleSize(int x, int y, WXUINT flag); bool HandleSize( int nX
bool HandleCommand(WXWORD id, WXWORD cmd, WXHWND control); ,int nY
bool HandleMenuSelect(WXWORD nItem, WXWORD nFlags, WXHMENU hMenu); ,WXUINT uFlag
);
bool HandleCommand( WXWORD wId
,WXWORD wCmd
,WXHWND wControl
);
bool HandleMenuSelect( WXWORD wItem
,WXWORD wFlags
,WXHMENU hMenu
);
bool OS2Create(int id, wxWindow *parent, const wxChar *wclass, bool OS2Create( int nId
wxWindow *wx_win, const wxChar *title, ,wxWindow* pParent
int x, int y, int width, int height, long style); ,const wxChar* zWclass
,wxWindow* pWxWin
,const wxChar* zTitle
,int nX
,int nY
,int nWidth
,int nHeight
,long nStyle
);
// tooltip management // tooltip management
#if wxUSE_TOOLTIPS #if wxUSE_TOOLTIPS
WXHWND GetToolTipCtrl() const { return m_hwndToolTip; } WXHWND GetToolTipCtrl(void) const { return m_hwndToolTip; }
void SetToolTipCtrl(WXHWND hwndTT) { m_hwndToolTip = hwndTT; } void SetToolTipCtrl(WXHWND hHwndTT) { m_hwndToolTip = hwndTT; }
#endif // tooltips #endif // tooltips
protected: protected:
// common part of all ctors // common part of all ctors
void Init(); void Init(void);
// common part of Iconize(), Maximize() and Restore() // common part of Iconize(), Maximize() and Restore()
void DoShowWindow(int nShowCmd); void DoShowWindow(int nShowCmd);
// override base class virtuals // override base class virtuals
virtual void DoGetClientSize(int *width, int *height) const; virtual void DoGetClientSize( int* pWidth
virtual void DoGetSize(int *width, int *height) const; ,int* pHeight
virtual void DoGetPosition(int *x, int *y) const; ) const;
virtual void DoGetSize( int* pWidth
virtual void DoSetClientSize(int width, int height); ,int* pHeight
) const;
virtual void DoClientToScreen(int *x, int *y) const; virtual void DoGetPosition( int* pX
virtual void DoScreenToClient(int *x, int *y) const; ,int* pY
) const;
virtual void DoSetClientSize( int nWidth
,int nWeight
);
// helper // helper
void DetachMenuBar(); void DetachMenuBar(void);
// a plug in for MDI frame classes which need to do something special when // a plug in for MDI frame classes which need to do something special when
// the menubar is set // the menubar is set
virtual void InternalSetMenuBar(); virtual void InternalSetMenuBar(void);
// propagate our state change to all child frames // propagate our state change to all child frames
void IconizeChildFrames(bool bIconize); void IconizeChildFrames(bool bIconize);
@@ -141,18 +170,31 @@ protected:
bool OS2TranslateMessage(WXMSG* pMsg); bool OS2TranslateMessage(WXMSG* pMsg);
// window proc for the frames // window proc for the frames
MRESULT OS2WindowProc(HWND hwnd, WXUINT message, WXWPARAM wParam, WXLPARAM lParam); MRESULT OS2WindowProc( WXUINT uMessage
,WXWPARAM wParam
,WXLPARAM lParam
);
bool m_iconized; bool m_bIconized;
WXHICON m_defaultIcon; WXHICON m_hDefaultIcon;
#if wxUSE_STATUSBAR #if wxUSE_STATUSBAR
static bool m_useNativeStatusBar; static bool m_bUseNativeStatusBar;
#endif // wxUSE_STATUSBAR #endif // wxUSE_STATUSBAR
// Data to save/restore when calling ShowFullScreen
long m_lFsStyle; // Passed to ShowFullScreen
wxRect m_vFsOldSize;
long m_lFsOldWindowStyle;
int m_nFsStatusBarFields; // 0 for no status bar
int m_nFsStatusBarHeight;
int m_nFsToolBarHeight;
bool m_bFsIsMaximized;
bool m_bFsIsShowing;
private: private:
#if wxUSE_TOOLTIPS #if wxUSE_TOOLTIPS
WXHWND m_hwndToolTip; WXHWND m_hHwndToolTip;
#endif // tooltips #endif // tooltips
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()