]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/mdig.h
centralized Esc key handling for closing the dialogs in wxDialogBase:
[wxWidgets.git] / include / wx / generic / mdig.h
index b39318a65950b0320f141f8c77c8acfd9efe2d92..eb253e08ef28979ad7d68f1a2060561bf84736e1 100644 (file)
 #ifndef _WX_MDIG_H_
 #define _WX_MDIG_H_
 
 #ifndef _WX_MDIG_H_
 #define _WX_MDIG_H_
 
-#ifdef __GNUG__
-    #pragma interface "mdig.h"
-#endif
-
 // ----------------------------------------------------------------------------
 // headers
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // headers
 // ----------------------------------------------------------------------------
@@ -24,8 +20,8 @@
 #include "wx/panel.h"
 #include "wx/notebook.h"
 
 #include "wx/panel.h"
 #include "wx/notebook.h"
 
-WXDLLEXPORT_DATA(extern const wxChar*) wxFrameNameStr;
-WXDLLEXPORT_DATA(extern const wxChar*) wxStatusLineNameStr;
+extern WXDLLEXPORT_DATA(const wxChar) wxFrameNameStr[];
+extern WXDLLEXPORT_DATA(const wxChar) wxStatusLineNameStr[];
 
 
 //-----------------------------------------------------------------------------
 
 
 //-----------------------------------------------------------------------------
@@ -45,7 +41,7 @@ class WXDLLEXPORT wxGenericMDIParentFrame: public wxFrame
 public:
     wxGenericMDIParentFrame();
     wxGenericMDIParentFrame(wxWindow *parent,
 public:
     wxGenericMDIParentFrame();
     wxGenericMDIParentFrame(wxWindow *parent,
-                     wxWindowID id,
+                     wxWindowID winid,
                      const wxString& title,
                      const wxPoint& pos = wxDefaultPosition,
                      const wxSize& size = wxDefaultSize,
                      const wxString& title,
                      const wxPoint& pos = wxDefaultPosition,
                      const wxSize& size = wxDefaultSize,
@@ -54,7 +50,7 @@ public:
 
     ~wxGenericMDIParentFrame();
     bool Create( wxWindow *parent,
 
     ~wxGenericMDIParentFrame();
     bool Create( wxWindow *parent,
-                 wxWindowID id,
+                 wxWindowID winid,
                  const wxString& title,
                  const wxPoint& pos = wxDefaultPosition,
                  const wxSize& size = wxDefaultSize,
                  const wxString& title,
                  const wxPoint& pos = wxDefaultPosition,
                  const wxSize& size = wxDefaultSize,
@@ -63,7 +59,7 @@ public:
 
 #if wxUSE_MENUS
     wxMenu* GetWindowMenu() const { return m_pWindowMenu; };
 
 #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 void SetMenuBar(wxMenuBar *pMenuBar);
 #endif // wxUSE_MENUS
@@ -79,7 +75,7 @@ public:
     virtual wxGenericMDIClientWindow *OnCreateClient();
 
     virtual void Cascade() { /* Has no effect */ }
     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();
     virtual void ArrangeIcons() { /* Has no effect */ }
     virtual void ActivateNext();
     virtual void ActivatePrevious();
@@ -118,7 +114,7 @@ class WXDLLEXPORT wxGenericMDIChildFrame: public wxPanel
 public:
     wxGenericMDIChildFrame();
     wxGenericMDIChildFrame( wxGenericMDIParentFrame *parent,
 public:
     wxGenericMDIChildFrame();
     wxGenericMDIChildFrame( wxGenericMDIParentFrame *parent,
-                     wxWindowID id,
+                     wxWindowID winid,
                      const wxString& title,
                      const wxPoint& pos = wxDefaultPosition,
                      const wxSize& size = wxDefaultSize,
                      const wxString& title,
                      const wxPoint& pos = wxDefaultPosition,
                      const wxSize& size = wxDefaultSize,
@@ -127,20 +123,20 @@ public:
 
     virtual ~wxGenericMDIChildFrame();
     bool Create( wxGenericMDIParentFrame *parent,
 
     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 );
 
                  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;
     virtual void SetMenuBar( wxMenuBar *menu_bar );
     virtual wxMenuBar *GetMenuBar() const;
-#endif // wxUSE_MENUS  
+#endif // wxUSE_MENUS
 
     virtual void SetTitle(const wxString& title);
 
     virtual void SetTitle(const wxString& title);
-    virtual wxString GetTitle();
+    virtual wxString GetTitle() const;
 
     virtual void Activate();
 
 
     virtual void Activate();
 
@@ -148,7 +144,7 @@ public:
     // no status bars
     virtual wxStatusBar* CreateStatusBar( int WXUNUSED(number) = 1,
                                         long WXUNUSED(style) = 1,
     // 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; }
 
                                         const wxString& WXUNUSED(name) = wxEmptyString)
       { return (wxStatusBar*)NULL; }
 
@@ -158,37 +154,37 @@ public:
 #endif
 
     // no size hints
 #endif
 
     // no size hints
-    virtual void SetSizeHints( int WXUNUSED(minW),
+    virtual void DoSetSizeHints( int WXUNUSED(minW),
                                int WXUNUSED(minH),
                                int WXUNUSED(minH),
-                               int WXUNUSED(maxW) = -1,
-                               int WXUNUSED(maxH) = -1,
-                               int WXUNUSED(incW) = -1,
-                               int WXUNUSED(incH) = -1) {}
+                               int WXUNUSED(maxW) = wxDefaultCoord,
+                               int WXUNUSED(maxH) = wxDefaultCoord,
+                               int WXUNUSED(incW) = wxDefaultCoord,
+                               int WXUNUSED(incH) = wxDefaultCoord) {}
 
 #if wxUSE_TOOLBAR
     // no toolbar bars
     virtual wxToolBar* CreateToolBar( long WXUNUSED(style),
 
 #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
                                        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) ) { }
+    void SetIcons( const wxIconBundle& WXUNUSED(icons) ) { }
 
     // no maximize etc
 
     // 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 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);
 
     void OnMenuHighlight(wxMenuEvent& event);
     void OnActivate(wxActivateEvent& event);
 
@@ -206,7 +202,7 @@ protected:
 
 #if wxUSE_MENUS
     wxMenuBar        *m_pMenuBar;
 
 #if wxUSE_MENUS
     wxMenuBar        *m_pMenuBar;
-#endif // wxUSE_MENUS  
+#endif // wxUSE_MENUS
 
 protected:
     void Init();
 
 protected:
     void Init();
@@ -214,7 +210,7 @@ protected:
     virtual void DoMoveWindow(int x, int y, int width, int height);
 
     // This function needs to be called when a size change is confirmed,
     virtual void DoMoveWindow(int x, int y, int width, int height);
 
     // 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();
 
     // changing the panel... it messes the UI layout when we would allow it.
     void ApplyMDIChildFrameRect();
 
@@ -237,7 +233,7 @@ public:
     ~wxGenericMDIClientWindow();
     virtual bool CreateClient( wxGenericMDIParentFrame *parent, long style = wxVSCROLL | wxHSCROLL );
 
     ~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);
 
 protected:
     void PageChanged(int OldSelection, int newSelection);
@@ -256,7 +252,7 @@ private:
  */
 
 #ifndef wxUSE_GENERIC_MDI_AS_NATIVE
  */
 
 #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
 #define wxUSE_GENERIC_MDI_AS_NATIVE   1
 #else
 #define wxUSE_GENERIC_MDI_AS_NATIVE   0
@@ -265,6 +261,8 @@ private:
 
 #if wxUSE_GENERIC_MDI_AS_NATIVE
 
 
 #if wxUSE_GENERIC_MDI_AS_NATIVE
 
+class wxMDIChildFrame ;
+
 //-----------------------------------------------------------------------------
 // wxMDIParentFrame
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 // wxMDIParentFrame
 //-----------------------------------------------------------------------------
@@ -274,15 +272,18 @@ class WXDLLEXPORT wxMDIParentFrame: public wxGenericMDIParentFrame
 public:
     wxMDIParentFrame() {}
     wxMDIParentFrame(wxWindow *parent,
 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)
                      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)
 
 private:
     DECLARE_DYNAMIC_CLASS(wxMDIParentFrame)
@@ -298,16 +299,15 @@ public:
     wxMDIChildFrame() {}
 
     wxMDIChildFrame( wxGenericMDIParentFrame *parent,
     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 )
                      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)
 };
 private:
     DECLARE_DYNAMIC_CLASS(wxMDIChildFrame)
 };