added orient parameter to wxMDIParentFrame::Tile()
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 21 Mar 2005 12:27:49 +0000 (12:27 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 21 Mar 2005 12:27:49 +0000 (12:27 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32951 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 files changed:
docs/changes.txt
docs/latex/wx/mdi.tex
include/wx/cocoa/mdi.h
include/wx/generic/mdig.h
include/wx/gtk/mdi.h
include/wx/gtk1/mdi.h
include/wx/mac/carbon/mdi.h
include/wx/mac/classic/mdi.h
include/wx/motif/mdi.h
include/wx/msw/mdi.h
src/mac/carbon/mdi.cpp
src/mac/classic/mdi.cpp
src/motif/mdi.cpp
src/msw/mdi.cpp

index d56a29c43f49f1dd02ead962298bfd0f4035ceb3..001575b604cc07daf2a8c5a8a2b7e9cb5173921b 100644 (file)
@@ -30,6 +30,10 @@ Unix:
 
 - Fixed build on Linux/AMD64
 
+wxMSW:
+
+- Added "orient" parameter to wxMDIParentFrame::Tile()
+
 wxGTK:
 
 - Improved wxSystemSettings::GetMetric() to work better with X11. (Mart Raudsepp)
index 1fba122918fcf4b3b10f03340bb009c8469c1105..f4ed04e3030020f6dfa3e6b22a3508d854486208 100644 (file)
@@ -545,9 +545,12 @@ To remove the window completely, use the wxFRAME\_NO\_WINDOW\_MENU window style.
 
 \membersection{wxMDIParentFrame::Tile}\label{wxmdiparentframetile}
 
-\func{void}{Tile}{\void}
+\func{void}{Tile}{\param{wxOrientation}{ orient = wxHORIZONTAL}}
 
-Tiles the MDI child windows.
+Tiles the MDI child windows either horizontally or vertically depending on
+whether \arg{orient} is wxHORIZONTAL or wxVERTICAL.
+
+Currently only implemented for MSW, does nothing under the other platforms.
 
 \wxheading{See also}
 
index e2e3b6e77226a2b91d8385c60ea0546eb0d7289a..b68ca4431ac6f9af60b0837a28c0920864ed7d33 100644 (file)
@@ -83,7 +83,7 @@ public:
     virtual wxMDIClientWindow *OnCreateClient();
 
     virtual void Cascade() {}
-    virtual void Tile() {}
+    virtual void Tile(wxOrientation WXUNUSED(orient) = wxHORIZONTAL) {}
     virtual void ArrangeIcons() {}
     virtual void ActivateNext();
     virtual void ActivatePrevious();
index 6b7ea2b6daabdab2dd6f667d4fa58e380e6b8226..187efb98029aa29f9e338133fadfb8871a79a479 100644 (file)
@@ -79,7 +79,7 @@ public:
     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();
index e261ea8d08ef71477ab16ddb589de7c27e15f6a5..991610644efecbdd524f3d9cac879381935c80cc 100644 (file)
@@ -74,7 +74,7 @@ public:
     virtual wxMDIClientWindow *OnCreateClient();
 
     virtual void Cascade() {}
-    virtual void Tile() {}
+    virtual void Tile(wxOrientation WXUNUSED(orient) = wxHORIZONTAL) {}
     virtual void ArrangeIcons() {}
     virtual void ActivateNext();
     virtual void ActivatePrevious();
index e261ea8d08ef71477ab16ddb589de7c27e15f6a5..991610644efecbdd524f3d9cac879381935c80cc 100644 (file)
@@ -74,7 +74,7 @@ public:
     virtual wxMDIClientWindow *OnCreateClient();
 
     virtual void Cascade() {}
-    virtual void Tile() {}
+    virtual void Tile(wxOrientation WXUNUSED(orient) = wxHORIZONTAL) {}
     virtual void ArrangeIcons() {}
     virtual void ActivateNext();
     virtual void ActivatePrevious();
index eb55fff2a182ba34848e07527d88362eb7bf7be1..863ff82e8622d208c93ab1dc56f89b14cfd84c10 100644 (file)
@@ -77,7 +77,7 @@ public:
 
   // MDI operations
   virtual void Cascade();
-  virtual void Tile();
+  virtual void Tile(wxOrientation WXUNUSED(orient) = wxHORIZONTAL);
   virtual void ArrangeIcons();
   virtual void ActivateNext();
   virtual void ActivatePrevious();
index 1e5145e7bc9b815a0362aaab48f14b6b8f4b46c6..319bcd9731aa32c1855361cac543d749c4a7d011 100644 (file)
@@ -75,7 +75,7 @@ public:
 
   // MDI operations
   virtual void Cascade();
-  virtual void Tile();
+  virtual void Tile(wxOrientation WXUNUSED(orient) = wxHORIZONTAL);
   virtual void ArrangeIcons();
   virtual void ActivateNext();
   virtual void ActivatePrevious();
index e6026188df1697a4ba6edcc767304296d409349a..a4533d6237fc40af9f72dff4c5109d9b497b6065 100644 (file)
@@ -33,10 +33,10 @@ class WXDLLEXPORT wxMDIChildFrame;
 class WXDLLEXPORT wxMDIParentFrame: public wxFrame
 {
     DECLARE_DYNAMIC_CLASS(wxMDIParentFrame)
-        
+
         friend class WXDLLEXPORT wxMDIChildFrame;
 public:
-    
+
     wxMDIParentFrame();
     inline wxMDIParentFrame(wxWindow *parent,
         wxWindowID id,
@@ -48,9 +48,9 @@ public:
     {
         Create(parent, id, title, pos, size, style, name);
     }
-    
+
     ~wxMDIParentFrame();
-    
+
     bool Create(wxWindow *parent,
         wxWindowID id,
         const wxString& title,
@@ -58,68 +58,68 @@ public:
         const wxSize& size = wxDefaultSize,
         long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
         const wxString& name = wxFrameNameStr);
-    
+
     void OnSize(wxSizeEvent& event);
     void OnActivate(wxActivateEvent& event);
     void OnSysColourChanged(wxSysColourChangedEvent& event);
     void OnMenuHighlight(wxMenuEvent& event);
-    
+
     void SetMenuBar(wxMenuBar *menu_bar);
-    
+
     // Get the active MDI child window
     wxMDIChildFrame *GetActiveChild() const ;
-    
+
     // Get the client window
     wxMDIClientWindow *GetClientWindow() const { return m_clientWindow; };
-    
+
     // Create the client window class (don't Create the window,
     // just return a new class)
     virtual wxMDIClientWindow *OnCreateClient() ;
-    
+
     // MDI operations
     virtual void Cascade();
-    virtual void Tile();
+    virtual void Tile(wxOrientation WXUNUSED(orient) = wxHORIZONTAL);
     virtual void ArrangeIcons();
     virtual void ActivateNext();
     virtual void ActivatePrevious();
-    
+
     // Implementation
-    
+
     // Set the active child
     inline void SetActiveChild(wxMDIChildFrame* child) { m_activeChild = child; }
-    
+
     // Set the child's menubar into the parent frame
     void SetChildMenuBar(wxMDIChildFrame* frame);
-    
+
     inline wxMenuBar* GetActiveMenuBar() const { return m_activeMenuBar; }
-    
+
     // Redirect events to active child first
     virtual bool ProcessEvent(wxEvent& event);
-    
+
 protected:
     virtual void DoSetSize(int x, int y,
         int width, int height,
         int sizeFlags = wxSIZE_AUTO);
     virtual void DoSetClientSize(int width, int height);
-    
+
     // Gets the size available for subwindows after menu size, toolbar size
     // and status bar size have been subtracted. If you want to manage your own
     // toolbar(s), don't call SetToolBar.
     void DoGetClientSize(int *width, int *height) const;
-    
+
 protected:
-    
+
     wxMDIClientWindow*    m_clientWindow;
     wxMDIChildFrame*      m_activeChild;
     wxMenuBar*            m_activeMenuBar;
-    
+
     DECLARE_EVENT_TABLE()
 };
 
 class WXDLLEXPORT wxMDIChildFrame: public wxFrame
 {
     DECLARE_DYNAMIC_CLASS(wxMDIChildFrame)
-        
+
 public:
     wxMDIChildFrame();
     wxMDIChildFrame(wxMDIParentFrame *parent,
@@ -132,9 +132,9 @@ public:
     {
         Create(parent, id, title, pos, size, style, name);
     }
-    
+
     ~wxMDIChildFrame();
-    
+
     bool Create(wxMDIParentFrame *parent,
         wxWindowID id,
         const wxString& title,
@@ -142,11 +142,11 @@ public:
         const wxSize& size = wxDefaultSize,
         long style = wxDEFAULT_FRAME_STYLE,
         const wxString& name = wxFrameNameStr);
-    
+
     // Set menu bar
     void SetMenuBar(wxMenuBar *menu_bar);
     void SetTitle(const wxString& title);
-    
+
     // Set icon
     virtual void SetIcon(const wxIcon& icon);
     virtual void SetIcons(const wxIconBundle& icons );
@@ -157,7 +157,7 @@ public:
     void Raise();
     void Lower(void);
     void DoSetSizeHints(int minW = -1, int minH = -1, int maxW = -1, int maxH = -1, int incW = -1, int incH = -1);
-    
+
     // MDI operations
     virtual void Maximize();
     virtual void Maximize(bool WXUNUSED(maximize)) { };
@@ -166,35 +166,35 @@ public:
     virtual void Restore();
     virtual void Activate();
     virtual bool IsIconized() const ;
-    
+
     virtual bool IsTopLevel() const { return false; }
-    
+
     // Is the frame maximized? Returns true for
     // wxMDIChildFrame due to the tabbed implementation.
     virtual bool IsMaximized(void) const ;
-    
+
     bool Show(bool show);
-    
+
     WXWidget GetMainWidget() const { return m_mainWidget; };
     WXWidget GetTopWidget() const { return m_mainWidget; };
     WXWidget GetClientWidget() const { return m_mainWidget; };
-    
+
     /*
     virtual void OnRaise();
     virtual void OnLower();
     */
-    
+
     void SetMDIParentFrame(wxMDIParentFrame* parentFrame) { m_mdiParentFrame = parentFrame; }
     wxMDIParentFrame* GetMDIParentFrame() const { return m_mdiParentFrame; }
-    
+
 protected:
     wxMDIParentFrame* m_mdiParentFrame;
-    
+
     virtual void DoSetSize(int x, int y,
         int width, int height,
         int sizeFlags = wxSIZE_AUTO);
     virtual void DoSetClientSize(int width, int height);
-    
+
     void DoGetClientSize(int *width, int *height) const;
     void DoGetSize(int *width, int *height) const;
     void DoGetPosition(int *x, int *y) const ;
@@ -210,37 +210,37 @@ protected:
 class WXDLLEXPORT wxMDIClientWindow: public wxNotebook
 {
     DECLARE_DYNAMIC_CLASS(wxMDIClientWindow)
-        
+
 public:
     wxMDIClientWindow() ;
     wxMDIClientWindow(wxMDIParentFrame *parent, long style = 0)
     {
         CreateClient(parent, style);
     }
-    
+
     ~wxMDIClientWindow();
-    
+
     // Note: this is virtual, to allow overridden behaviour.
     virtual bool CreateClient(wxMDIParentFrame *parent, long style = wxVSCROLL | wxHSCROLL);
-    
+
     // Explicitly call default scroll behaviour
     void OnScroll(wxScrollEvent& event);
-    
+
     // Implementation
     void OnPageChanged(wxNotebookEvent& event);
 
     int FindPage(const wxNotebookPage* page);
-    
+
 protected:
     virtual void DoSetSize(int x, int y,
         int width, int height,
         int sizeFlags = wxSIZE_AUTO);
     virtual void DoSetClientSize(int width, int height);
-    
+
     void DoGetClientSize(int *width, int *height) const;
     void DoGetSize(int *width, int *height) const ;
     void DoGetPosition(int *x, int *y) const ;
-    
+
 private:
     DECLARE_EVENT_TABLE()
 };
index ec07025dd64eb469f51b3512d3141a76d225c49e..a5bdff00cbe949402aa757a652f8ea208b40f4d4 100644 (file)
@@ -74,7 +74,7 @@ public:
     // MDI operations
     // --------------
     virtual void Cascade();
-    virtual void Tile();
+    virtual void Tile(wxOrientation orient = wxHORIZONTAL);
     virtual void ArrangeIcons();
     virtual void ActivateNext();
     virtual void ActivatePrevious();
index c9798d0151ef1f629fd280c800793a55b26773e6..7ee87f7acda0d67ad69e5320b74300575e616186 100644 (file)
@@ -212,7 +212,7 @@ void wxMDIParentFrame::Cascade()
     // TODO
 }
 
-void wxMDIParentFrame::Tile()
+void wxMDIParentFrame::Tile(wxOrientation WXUNUSED(orient))
 {
     // TODO
 }
index add9482e11de078008fb6baa52ae202ebc40c74c..bce41781f0885bd0d068ab91f56cec6411603e93 100644 (file)
@@ -213,7 +213,7 @@ void wxMDIParentFrame::Cascade()
     // TODO
 }
 
-void wxMDIParentFrame::Tile()
+void wxMDIParentFrame::Tile(wxOrientation WXUNUSED(orient))
 {
     // TODO
 }
index 1dd473c76e112126ac9e077062076012d72c292c..01baaecd93e4b6272394ef81b8b917d9500ee04c 100644 (file)
@@ -277,7 +277,7 @@ void wxMDIParentFrame::Cascade()
     // TODO
 }
 
-void wxMDIParentFrame::Tile()
+void wxMDIParentFrame::Tile(wxOrientation WXUNUSED(orient))
 {
     // TODO
 }
index be4d08a41b7d5a9d1a7a6f5c6ebdc5a152968df0..3c93df9cc9cbc0ff62e284ddf215a031976b842d 100644 (file)
@@ -384,10 +384,14 @@ void wxMDIParentFrame::Cascade()
     ::SendMessage(GetWinHwnd(GetClientWindow()), WM_MDICASCADE, 0, 0);
 }
 
-// TODO: add a direction argument (hor/vert)
-void wxMDIParentFrame::Tile()
+void wxMDIParentFrame::Tile(wxOrientation orient)
 {
-    ::SendMessage(GetWinHwnd(GetClientWindow()), WM_MDITILE, MDITILE_HORIZONTAL, 0);
+    wxASSERT_MSG( orient == wxHORIZONTAL || orient == wxVERTICAL,
+                  _T("invalid orientation value") );
+
+    ::SendMessage(GetWinHwnd(GetClientWindow()), WM_MDITILE,
+                  orient == wxHORIZONTAL ? MDITILE_HORIZONTAL
+                                         : MDITILE_VERTICAL, 0);
 }
 
 void wxMDIParentFrame::ArrangeIcons()