From 0603bb285cd5784b3ee92aaff47cc1a9ba0d0103 Mon Sep 17 00:00:00 2001 From: Benjamin Williams Date: Sun, 16 Jul 2006 10:59:16 +0000 Subject: [PATCH] added another AddPane() call which allows the caller to add a new window at a certain point; Hint functions are now public git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/aui/framemanager.h | 20 +++++++++++++++----- src/aui/framemanager.cpp | 14 ++++++++++++++ 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/include/wx/aui/framemanager.h b/include/wx/aui/framemanager.h index 250afd6d91..b77df0929d 100644 --- a/include/wx/aui/framemanager.h +++ b/include/wx/aui/framemanager.h @@ -394,6 +394,10 @@ public: bool AddPane(wxWindow* window, const wxPaneInfo& pane_info); + + bool AddPane(wxWindow* window, + const wxPaneInfo& pane_info, + const wxPoint& drop_pos); bool AddPane(wxWindow* window, int direction = wxLEFT, @@ -412,6 +416,15 @@ public: void Update(); + +public: + + void DrawHintRect(wxWindow* pane_window, + const wxPoint& pt, + const wxPoint& offset); + virtual void ShowHint(const wxRect& rect); + virtual void HideHint(); + public: // deprecated -- please use SetManagedWindow() and @@ -422,10 +435,8 @@ public: protected: - void DrawHintRect(wxWindow* pane_window, - const wxPoint& pt, - const wxPoint& offset); + void DoFrameLayout(); void LayoutAddPane(wxSizer* container, @@ -472,8 +483,7 @@ protected: void GetPanePositionsAndSizes(wxDockInfo& dock, wxArrayInt& positions, wxArrayInt& sizes); - virtual void ShowHint(const wxRect& rect); - virtual void HideHint(); + public: diff --git a/src/aui/framemanager.cpp b/src/aui/framemanager.cpp index 286df116e5..b5cc99fa93 100644 --- a/src/aui/framemanager.cpp +++ b/src/aui/framemanager.cpp @@ -669,6 +669,20 @@ bool wxFrameManager::AddPane(wxWindow* window, return AddPane(window, pinfo); } +bool wxFrameManager::AddPane(wxWindow* window, + const wxPaneInfo& pane_info, + const wxPoint& drop_pos) +{ + if (!AddPane(window, pane_info)) + return false; + + wxPaneInfo& pane = GetPane(window); + + DoDrop(m_docks, m_panes, pane, drop_pos, wxPoint(0,0)); + + return true; +} + bool wxFrameManager::InsertPane(wxWindow* window, const wxPaneInfo& pane_info, int insert_level) { -- 2.47.2