]> git.saurik.com Git - wxWidgets.git/commitdiff
Add wxTreeListCtrl::GetView() and GetDataView().
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 21 Sep 2011 15:07:41 +0000 (15:07 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 21 Sep 2011 15:07:41 +0000 (15:07 +0000)
It can be useful to have access to the window used to actually show the items
by wxTreeListCtrl, provide two accessors for m_view: a wxDataViewCtrl-specific
one and a generic one returning just a wxWindow that can be used to keep the
code isolated from wxDataViewCtrl.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/treelist.h
interface/wx/treelist.h
src/generic/treelist.cpp

index 1f013e8a3705e1ebb91e06affe35447a8d78044b..9b315c57de8956fe2296dc99ef9b6b8bbf71d915 100644 (file)
@@ -322,6 +322,18 @@ public:
                                wxCheckBoxState state) const;
 
 
+
+    // View window functions.
+    // ----------------------
+
+    // This control itself is entirely covered by the "view window" which is
+    // currently a wxDataViewCtrl but if you want to avoid relying on this to
+    // allow your code to work with later versions which might not be
+    // wxDataViewCtrl-based, use the first function only and only use the
+    // second one if you really need to call wxDataViewCtrl methods on it.
+    wxWindow* GetView() const;
+    wxDataViewCtrl* GetDataView() const { return m_view; }
+
 private:
     // Common part of all ctors.
     void Init();
index 66f861031446ced2a64f5a20d7651163651ea9ff..5a70301d0ae429fc6139c751b82b50e47a4f0e9a 100644 (file)
@@ -664,6 +664,36 @@ public:
                                wxCheckBoxState state) const;
 
     //@}
+
+    /**
+        View window.
+
+        This control itself is entirely covered by the "view window" which is
+        currently a wxDataViewCtrl but if you want to avoid relying on this to
+        allow your code to work with later versions which might not be
+        wxDataViewCtrl-based, use GetView() function only and only use
+        GetDataView() if you really need to call wxDataViewCtrl methods on it.
+     */
+    //@{
+
+    /**
+        Return the view part of this control as a wxWindow.
+
+        This method always returns non-@NULL pointer once the window was
+        created.
+     */
+    wxWindow* GetView() const;
+
+    /**
+        Return the view part of this control as wxDataViewCtrl.
+
+        This method may return @NULL in the future, non wxDataViewCtrl-based,
+        versions of this class, use GetView() unless you really need to use
+        wxDataViewCtrl methods on the returned object.
+     */
+    wxDataViewCtrl* GetDataView() const;
+
+    //@}
 };
 
 /**
index 806ae748bae7359a2580997b0f3613989632ac73..69245fd31dddb97873b211e35159a1b446fda81d 100644 (file)
@@ -1548,6 +1548,15 @@ void wxTreeListCtrl::OnSize(wxSizeEvent& event)
     }
 }
 
+wxWindow* wxTreeListCtrl::GetView() const
+{
+#ifdef wxHAS_GENERIC_DATAVIEWCTRL
+    return m_view->GetMainWindow();
+#else
+    return m_view;
+#endif
+}
+
 // ============================================================================
 // wxTreeListEvent implementation
 // ============================================================================