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,
 
     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
     
 protected:
 
-    void DrawHintRect(wxWindow* pane_window,
-                       const wxPoint& pt,
-                       const wxPoint& offset);
 
+    
     void DoFrameLayout();
 
     void LayoutAddPane(wxSizer* container,
     void GetPanePositionsAndSizes(wxDockInfo& dock,
                               wxArrayInt& positions,
                               wxArrayInt& sizes);
-    virtual void ShowHint(const wxRect& rect);
-    virtual void HideHint();
+
 
 public:
 
 
     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)
 {