#ifndef _WX_MDIG_H_
#define _WX_MDIG_H_
-#ifdef __GNUG__
- #pragma interface "mdig.h"
-#endif
-
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#include "wx/panel.h"
#include "wx/notebook.h"
-WXDLLEXPORT_DATA(extern const wxChar*) wxFrameNameStr;
-WXDLLEXPORT_DATA(extern const wxChar*) wxStatusLineNameStr;
+class WXDLLIMPEXP_FWD_CORE wxIcon;
+class WXDLLIMPEXP_FWD_CORE wxIconBundle;
+
+extern WXDLLIMPEXP_DATA_CORE(const char) wxStatusLineNameStr[];
//-----------------------------------------------------------------------------
// classes
//-----------------------------------------------------------------------------
-class WXDLLEXPORT wxGenericMDIParentFrame;
-class WXDLLEXPORT wxGenericMDIClientWindow;
-class WXDLLEXPORT wxGenericMDIChildFrame;
+class WXDLLIMPEXP_FWD_CORE wxGenericMDIParentFrame;
+class WXDLLIMPEXP_FWD_CORE wxGenericMDIClientWindow;
+class WXDLLIMPEXP_FWD_CORE wxGenericMDIChildFrame;
//-----------------------------------------------------------------------------
// wxGenericMDIParentFrame
//-----------------------------------------------------------------------------
-class WXDLLEXPORT wxGenericMDIParentFrame: public wxFrame
+class WXDLLIMPEXP_CORE wxGenericMDIParentFrame: public wxFrame
{
public:
wxGenericMDIParentFrame();
wxGenericMDIParentFrame(wxWindow *parent,
- wxWindowID id,
+ wxWindowID winid,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
const wxString& name = wxFrameNameStr);
- ~wxGenericMDIParentFrame();
+ virtual ~wxGenericMDIParentFrame();
bool Create( wxWindow *parent,
- wxWindowID id,
+ wxWindowID winid,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
#if wxUSE_MENUS
wxMenu* GetWindowMenu() const { return m_pWindowMenu; };
- void SetWindowMenu(wxMenu* pMenu);
+ void SetWindowMenu(wxMenu* pMenu);
virtual void SetMenuBar(wxMenuBar *pMenuBar);
#endif // wxUSE_MENUS
virtual wxGenericMDIClientWindow *OnCreateClient();
virtual void Cascade() { /* Has no effect */ }
- virtual void Tile() { /* Has no effect */ }
+ virtual void Tile(wxOrientation WXUNUSED(orient) = wxHORIZONTAL) { }
virtual void ArrangeIcons() { /* Has no effect */ }
virtual void ActivateNext();
virtual void ActivatePrevious();
// wxGenericMDIChildFrame
//-----------------------------------------------------------------------------
-class WXDLLEXPORT wxGenericMDIChildFrame: public wxPanel
+class WXDLLIMPEXP_CORE wxGenericMDIChildFrame: public wxPanel
{
public:
wxGenericMDIChildFrame();
wxGenericMDIChildFrame( wxGenericMDIParentFrame *parent,
- wxWindowID id,
+ wxWindowID winid,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
virtual ~wxGenericMDIChildFrame();
bool Create( wxGenericMDIParentFrame *parent,
- wxWindowID id,
+ wxWindowID winid,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
const wxString& name = wxFrameNameStr );
-#if wxUSE_MENUS
+#if wxUSE_MENUS
virtual void SetMenuBar( wxMenuBar *menu_bar );
virtual wxMenuBar *GetMenuBar() const;
-#endif // wxUSE_MENUS
+#endif // wxUSE_MENUS
virtual void SetTitle(const wxString& title);
- virtual wxString GetTitle();
+ virtual wxString GetTitle() const;
virtual void Activate();
// no status bars
virtual wxStatusBar* CreateStatusBar( int WXUNUSED(number) = 1,
long WXUNUSED(style) = 1,
- wxWindowID WXUNUSED(id) = 1,
+ wxWindowID WXUNUSED(winid) = 1,
const wxString& WXUNUSED(name) = wxEmptyString)
{ return (wxStatusBar*)NULL; }
virtual void SetStatusWidths( int WXUNUSED(n), const int WXUNUSED(widths_field)[] ) {}
#endif
- // no size hints
- virtual void SetSizeHints( int WXUNUSED(minW),
- int WXUNUSED(minH),
- int WXUNUSED(maxW) = -1,
- int WXUNUSED(maxH) = -1,
- int WXUNUSED(incW) = -1,
- int WXUNUSED(incH) = -1) {}
-
#if wxUSE_TOOLBAR
// no toolbar bars
virtual wxToolBar* CreateToolBar( long WXUNUSED(style),
- wxWindowID WXUNUSED(id),
+ wxWindowID WXUNUSED(winid),
const wxString& WXUNUSED(name) )
{ return (wxToolBar*)NULL; }
virtual wxToolBar *GetToolBar() const { return (wxToolBar*)NULL; }
#endif
// no icon
- void SetIcon( const wxIcon &icon ) { /*m_icons = wxIconBundle( icon );*/}
- void SetIcons( const wxIconBundle &icons ) { /*m_icons = icons;*/ }
+ void SetIcon(const wxIcon& WXUNUSED(icon)) { }
+ virtual void SetIcons( const wxIconBundle& WXUNUSED(icons) ) { }
// no maximize etc
- virtual void Maximize( bool WXUNUSED(maximize) = TRUE) { /* Has no effect */ }
+ virtual void Maximize( bool WXUNUSED(maximize) = true) { /* Has no effect */ }
virtual void Restore() { /* Has no effect */ }
- virtual void Iconize(bool WXUNUSED(iconize) = TRUE) { /* Has no effect */ }
- virtual bool IsMaximized() const { return TRUE; }
- virtual bool IsIconized() const { return FALSE; }
- virtual bool ShowFullScreen(bool WXUNUSED(show), long WXUNUSED(style)) { return FALSE; }
- virtual bool IsFullScreen() const { return FALSE; }
-
- virtual bool IsTopLevel() const { return FALSE; }
-
+ virtual void Iconize(bool WXUNUSED(iconize) = true) { /* Has no effect */ }
+ virtual bool IsMaximized() const { return true; }
+ virtual bool IsIconized() const { return false; }
+ virtual bool ShowFullScreen(bool WXUNUSED(show), long WXUNUSED(style)) { return false; }
+ virtual bool IsFullScreen() const { return false; }
+
+ virtual bool IsTopLevel() const { return false; }
+
void OnMenuHighlight(wxMenuEvent& event);
void OnActivate(wxActivateEvent& event);
#if wxUSE_MENUS
wxMenuBar *m_pMenuBar;
-#endif // wxUSE_MENUS
+#endif // wxUSE_MENUS
protected:
void Init();
virtual void DoMoveWindow(int x, int y, int width, int height);
+ // no size hints
+ virtual void DoSetSizeHints(int WXUNUSED(minW), int WXUNUSED(minH),
+ int WXUNUSED(maxW), int WXUNUSED(maxH),
+ int WXUNUSED(incW), int WXUNUSED(incH)) {}
+
// This function needs to be called when a size change is confirmed,
- // we needed this function to prevent any body from the outside
+ // we needed this function to prevent any body from the outside
// changing the panel... it messes the UI layout when we would allow it.
void ApplyMDIChildFrameRect();
// wxGenericMDIClientWindow
//-----------------------------------------------------------------------------
-class WXDLLEXPORT wxGenericMDIClientWindow: public wxNotebook
+class WXDLLIMPEXP_CORE wxGenericMDIClientWindow: public wxNotebook
{
public:
wxGenericMDIClientWindow();
wxGenericMDIClientWindow( wxGenericMDIParentFrame *parent, long style = 0 );
- ~wxGenericMDIClientWindow();
+ virtual ~wxGenericMDIClientWindow();
virtual bool CreateClient( wxGenericMDIParentFrame *parent, long style = wxVSCROLL | wxHSCROLL );
- virtual int SetSelection(int nPage);
+ virtual int SetSelection(size_t nPage);
protected:
void PageChanged(int OldSelection, int newSelection);
*/
#ifndef wxUSE_GENERIC_MDI_AS_NATIVE
-#if defined(__WXUNIVERSAL__)
+#if defined(__WXUNIVERSAL__) || defined(__WXPM__) || defined(__WXCOCOA__)
#define wxUSE_GENERIC_MDI_AS_NATIVE 1
#else
#define wxUSE_GENERIC_MDI_AS_NATIVE 0
#if wxUSE_GENERIC_MDI_AS_NATIVE
+class wxMDIChildFrame ;
+
//-----------------------------------------------------------------------------
// wxMDIParentFrame
//-----------------------------------------------------------------------------
-class WXDLLEXPORT wxMDIParentFrame: public wxGenericMDIParentFrame
+class WXDLLIMPEXP_CORE wxMDIParentFrame: public wxGenericMDIParentFrame
{
public:
wxMDIParentFrame() {}
wxMDIParentFrame(wxWindow *parent,
- wxWindowID id,
+ wxWindowID winid,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
const wxString& name = wxFrameNameStr)
- :wxGenericMDIParentFrame(parent, id, title, pos, size, style, name)
- {
- }
+ :wxGenericMDIParentFrame(parent, winid, title, pos, size, style, name)
+ {
+ }
+
+ wxMDIChildFrame * GetActiveChild() const ;
+
private:
DECLARE_DYNAMIC_CLASS(wxMDIParentFrame)
// wxMDIChildFrame
//-----------------------------------------------------------------------------
-class WXDLLEXPORT wxMDIChildFrame: public wxGenericMDIChildFrame
+class WXDLLIMPEXP_CORE wxMDIChildFrame: public wxGenericMDIChildFrame
{
public:
wxMDIChildFrame() {}
wxMDIChildFrame( wxGenericMDIParentFrame *parent,
- wxWindowID id,
+ wxWindowID winid,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
const wxString& name = wxFrameNameStr )
- :wxGenericMDIChildFrame(parent, id, title, pos, size, style, name)
- {
- }
-
+ :wxGenericMDIChildFrame(parent, winid, title, pos, size, style, name)
+ {
+ }
private:
DECLARE_DYNAMIC_CLASS(wxMDIChildFrame)
};
// wxMDIClientWindow
//-----------------------------------------------------------------------------
-class WXDLLEXPORT wxMDIClientWindow: public wxGenericMDIClientWindow
+class WXDLLIMPEXP_CORE wxMDIClientWindow: public wxGenericMDIClientWindow
{
public:
wxMDIClientWindow() {}