-
-#include "wx/window.h"
-#include "wx/toolbar.h"
-#include "wx/accel.h"
-#include "wx/icon.h"
-
-WXDLLEXPORT_DATA(extern const char*) wxFrameNameStr;
-WXDLLEXPORT_DATA(extern const char*) wxToolBarNameStr;
-
-class WXDLLEXPORT wxMenuBar;
-class WXDLLEXPORT wxStatusBar;
-class WXDLLEXPORT wxMacToolTip ;
-
-class WXDLLEXPORT wxFrame: public wxFrameBase {
-
- DECLARE_DYNAMIC_CLASS(wxFrame)
-
-public:
- // construction
- wxFrame() { Init(); }
- wxFrame(wxWindow *parent,
- wxWindowID id,
- const wxString& title,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxDEFAULT_FRAME_STYLE,
- const wxString& name = wxFrameNameStr)
- {
- Init();
-
- Create(parent, id, title, pos, size, style, name);
- }
-
- bool Create(wxWindow *parent,
- wxWindowID id,
- const wxString& title,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxDEFAULT_FRAME_STYLE,
- const wxString& name = wxFrameNameStr);
-
- virtual ~wxFrame();
-
- // implement base class pure virtuals
- virtual void Maximize(bool maximize = TRUE);
- virtual bool IsMaximized() const;
- virtual void Iconize(bool iconize = TRUE);
- virtual bool IsIconized() const;
- virtual void Restore();
- virtual void SetMenuBar(wxMenuBar *menubar);
- virtual void SetIcon(const wxIcon& icon);
-
- // implementation only from now on
- // -------------------------------
-
- // override some more virtuals
- virtual bool Enable(bool enable) ;
-
- // get the origin of the client area (which may be different from (0, 0)
- // if the frame has a toolbar) in client coordinates
- virtual wxPoint GetClientAreaOrigin() const;
-
- // event handlers
- void OnActivate(wxActivateEvent& event);
- void OnSysColourChanged(wxSysColourChangedEvent& event);
-
- // Toolbar
-#if wxUSE_TOOLBAR
- virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER | wxTB_HORIZONTAL | wxTB_FLAT,
- wxWindowID id = -1,
- const wxString& name = wxToolBarNameStr);
-
- virtual void PositionToolBar();
-#endif // wxUSE_TOOLBAR
-
- // Status bar
-#if wxUSE_STATUSBAR
- virtual wxStatusBar* OnCreateStatusBar(int number = 1,
- long style = wxST_SIZEGRIP,
- wxWindowID id = 0,
- const wxString& name = wxStatusLineNameStr);
-
- virtual void PositionStatusBar();
-
- // Hint to tell framework which status bar to use
- // TODO: should this go into a wxFrameworkSettings class perhaps?
- static void UseNativeStatusBar(bool useNative) { m_useNativeStatusBar = useNative; };
- static bool UsesNativeStatusBar() { return m_useNativeStatusBar; };
-#endif // wxUSE_STATUSBAR
-
- // tooltip management
-#if wxUSE_TOOLTIPS
- wxMacToolTip* GetToolTipCtrl() const { return m_hwndToolTip; }
- void SetToolTipCtrl(wxMacToolTip *tt) { m_hwndToolTip = tt; }
- wxMacToolTip* m_hwndToolTip ;
-#endif // tooltips
-
-protected:
- // common part of all ctors
- void Init();
-
- // override base class virtuals
- virtual void DoGetClientSize(int *width, int *height) const;
- virtual void DoSetClientSize(int width, int height);
-
-protected:
- bool m_iconized;
-#if wxUSE_STATUSBAR
- static bool m_useNativeStatusBar;
-#endif // wxUSE_STATUSBAR
-
-private:
- DECLARE_EVENT_TABLE()
-};
-
-#endif
- // _WX_FRAME_H_