]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/mdig.h
Don't infinitely recurse when setting the child focus. Without
[wxWidgets.git] / include / wx / generic / mdig.h
index b39318a65950b0320f141f8c77c8acfd9efe2d92..6a9ecbf146e8de3af935f5d68849105a7d65eb72 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef _WX_MDIG_H_
 #define _WX_MDIG_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma interface "mdig.h"
 #endif
 
@@ -45,7 +45,7 @@ class WXDLLEXPORT wxGenericMDIParentFrame: public wxFrame
 public:
     wxGenericMDIParentFrame();
     wxGenericMDIParentFrame(wxWindow *parent,
-                     wxWindowID id,
+                     wxWindowID winid,
                      const wxString& title,
                      const wxPoint& pos = wxDefaultPosition,
                      const wxSize& size = wxDefaultSize,
@@ -54,7 +54,7 @@ public:
 
     ~wxGenericMDIParentFrame();
     bool Create( wxWindow *parent,
-                 wxWindowID id,
+                 wxWindowID winid,
                  const wxString& title,
                  const wxPoint& pos = wxDefaultPosition,
                  const wxSize& size = wxDefaultSize,
@@ -63,7 +63,7 @@ public:
 
 #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
@@ -118,7 +118,7 @@ class WXDLLEXPORT wxGenericMDIChildFrame: public wxPanel
 public:
     wxGenericMDIChildFrame();
     wxGenericMDIChildFrame( wxGenericMDIParentFrame *parent,
-                     wxWindowID id,
+                     wxWindowID winid,
                      const wxString& title,
                      const wxPoint& pos = wxDefaultPosition,
                      const wxSize& size = wxDefaultSize,
@@ -127,20 +127,20 @@ public:
 
     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();
 
@@ -148,7 +148,7 @@ public:
     // 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; }
 
@@ -168,15 +168,15 @@ public:
 #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) ) { }
+    void SetIcons( const wxIconBundle& WXUNUSED(icons) ) { }
 
     // no maximize etc
     virtual void Maximize( bool WXUNUSED(maximize) = TRUE) { /* Has no effect */ }
@@ -187,8 +187,8 @@ public:
     virtual bool ShowFullScreen(bool WXUNUSED(show), long WXUNUSED(style)) { return FALSE; }
     virtual bool IsFullScreen() const { return FALSE; }
 
-    virtual bool IsTopLevel() const { return FALSE; }    
-    
+    virtual bool IsTopLevel() const { return FALSE; }
+
     void OnMenuHighlight(wxMenuEvent& event);
     void OnActivate(wxActivateEvent& event);
 
@@ -206,7 +206,7 @@ protected:
 
 #if wxUSE_MENUS
     wxMenuBar        *m_pMenuBar;
-#endif // wxUSE_MENUS  
+#endif // wxUSE_MENUS
 
 protected:
     void Init();
@@ -214,7 +214,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,
-    // 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();
 
@@ -237,7 +237,7 @@ public:
     ~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);
@@ -256,7 +256,7 @@ private:
  */
 
 #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
@@ -265,6 +265,8 @@ private:
 
 #if wxUSE_GENERIC_MDI_AS_NATIVE
 
+class wxMDIChildFrame ;
+
 //-----------------------------------------------------------------------------
 // wxMDIParentFrame
 //-----------------------------------------------------------------------------
@@ -274,16 +276,19 @@ class WXDLLEXPORT 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)
 };
@@ -298,16 +303,15 @@ 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)
 };