X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/81d66cf39f810503baed79213bc3122fda0ccc7b..ab8884aca6f480f3568167c7fe592a03e7e102b2:/include/wx/msw/frame.h diff --git a/include/wx/msw/frame.h b/include/wx/msw/frame.h index 30184810c2..9038a6e60b 100644 --- a/include/wx/msw/frame.h +++ b/include/wx/msw/frame.h @@ -9,8 +9,8 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// -#ifndef __FRAMEH__ -#define __FRAMEH__ +#ifndef _WX_FRAME_H_ +#define _WX_FRAME_H_ #ifdef __GNUG__ #pragma interface "frame.h" @@ -18,9 +18,11 @@ #include "wx/window.h" #include "wx/toolbar.h" +#include "wx/msw/accel.h" WXDLLEXPORT_DATA(extern const char*) wxFrameNameStr; WXDLLEXPORT_DATA(extern const char*) wxToolBarNameStr; +WXDLLEXPORT_DATA(extern const char*) wxStatusLineNameStr; class WXDLLEXPORT wxMenuBar; class WXDLLEXPORT wxStatusBar; @@ -53,12 +55,24 @@ public: const wxString& name = wxFrameNameStr); virtual bool Destroy(void); + void SetClientSize(int width, int height); + void SetClientSize(const wxSize& sz) { wxWindow::SetClientSize(sz); } + void GetClientSize(int *width, int *height) const; + wxSize GetClientSize() const { return wxWindow::GetClientSize(); } void GetSize(int *width, int *height) const ; + wxSize GetSize() const { return wxWindow::GetSize(); } + void GetPosition(int *x, int *y) const ; - void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO); + wxPoint GetPosition() const { return wxWindow::GetPosition(); } + + virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO); + + virtual void ClientToScreen(int *x, int *y) const; + + virtual void ScreenToClient(int *x, int *y) const; virtual bool OnClose(void); @@ -89,14 +103,17 @@ public: // Create status line virtual wxStatusBar* CreateStatusBar(int number=1, long style = wxST_SIZEGRIP, wxWindowID id = 0, - const wxString& name = "statusBar"); + const wxString& name = wxStatusLineNameStr); inline wxStatusBar *GetStatusBar() const { return m_frameStatusBar; } + inline void SetStatusBar(wxStatusBar *statusBar) { m_frameStatusBar = statusBar; } virtual void PositionStatusBar(void); virtual wxStatusBar *OnCreateStatusBar(int number, long style, wxWindowID id, const wxString& name); // Create toolbar - virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER|wxTB_HORIZONTAL, wxWindowID id = -1, const wxString& name = wxToolBarNameStr); + virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER | wxTB_HORIZONTAL | wxTB_FLAT, + wxWindowID id = -1, + const wxString& name = wxToolBarNameStr); virtual wxToolBar *OnCreateToolBar(long style, wxWindowID id, const wxString& name); // If made known to the frame, the frame will manage it automatically. virtual inline void SetToolBar(wxToolBar *toolbar) { m_frameToolBar = toolbar; } @@ -122,11 +139,14 @@ public: virtual bool IsIconized(void) const ; + // Is it maximized? + virtual bool IsMaximized(void) const ; + // Compatibility inline bool Iconized(void) const { return IsIconized(); } virtual void Maximize(bool maximize); - virtual bool LoadAccelerators(const wxString& table); +// virtual bool LoadAccelerators(const wxString& table); // Responds to colour changes void OnSysColourChanged(wxSysColourChangedEvent& event); @@ -148,10 +168,14 @@ public: bool MSWOnClose(void); void MSWOnMenuHighlight(WXWORD item, WXWORD flags, WXHMENU sysmenu); bool MSWProcessMessage(WXMSG *msg); + bool MSWTranslateMessage(WXMSG *msg); void MSWCreate(int id, wxWindow *parent, const char *WXUNUSED(wclass), wxWindow *wx_win, const char *title, int x, int y, int width, int height, long style); protected: + // propagate our state change to all child frames + void IconizeChildFrames(bool bIconize); + wxMenuBar * m_frameMenuBar; wxStatusBar * m_frameStatusBar; wxIcon m_icon; @@ -164,4 +188,4 @@ protected: }; #endif - // __FRAMEH__ + // _WX_FRAME_H_