]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/treectrl.h
temporarily reverted binary backwards incompatible DoCreate to XmDoCreateTLW renaming
[wxWidgets.git] / include / wx / os2 / treectrl.h
index 232242348fe7049d7978dbaa548feda319c74ae3..ae2fb5a0787d98ea5ff54595bb4c02617fe0379c 100644 (file)
@@ -25,6 +25,7 @@
 #include "wx/textctrl.h"
 #include "wx/dynarray.h"
 #include "wx/treebase.h"
 #include "wx/textctrl.h"
 #include "wx/dynarray.h"
 #include "wx/treebase.h"
+#include "wx/hashmap.h"
 
 // the type for "untyped" data
 typedef long wxDataType;
 
 // the type for "untyped" data
 typedef long wxDataType;
@@ -39,19 +40,13 @@ struct WXDLLEXPORT wxTreeViewItem;
 // they're equivalent
 class wxTreeItemData;
 
 // they're equivalent
 class wxTreeItemData;
 
-// flags for deprecated `Expand(int action)'
-enum
-{
-    wxTREE_EXPAND_EXPAND,
-    wxTREE_EXPAND_COLLAPSE,
-    wxTREE_EXPAND_COLLAPSE_RESET,
-    wxTREE_EXPAND_TOGGLE
-};
-
 // flags for deprecated InsertItem() variant
 #define wxTREE_INSERT_FIRST 0xFFFF0001
 #define wxTREE_INSERT_LAST  0xFFFF0002
 
 // flags for deprecated InsertItem() variant
 #define wxTREE_INSERT_FIRST 0xFFFF0001
 #define wxTREE_INSERT_LAST  0xFFFF0002
 
+// hash storing attributes for our items
+WX_DECLARE_EXPORTED_VOIDPTR_HASH_MAP(wxTreeItemAttr *, wxMapTreeAttr);
+
 // ----------------------------------------------------------------------------
 // wxTreeCtrl
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // wxTreeCtrl
 // ----------------------------------------------------------------------------
@@ -63,7 +58,7 @@ public:
     wxTreeCtrl() { Init(); }
 
     wxTreeCtrl( wxWindow*          pParent
     wxTreeCtrl() { Init(); }
 
     wxTreeCtrl( wxWindow*          pParent
-               ,wxWindowID         vId = -1
+               ,wxWindowID         vId = wxID_ANY
                ,const wxPoint&     rPos = wxDefaultPosition
                ,const wxSize&      rSize = wxDefaultSize
                ,long               lStyle = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT
                ,const wxPoint&     rPos = wxDefaultPosition
                ,const wxSize&      rSize = wxDefaultSize
                ,long               lStyle = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT
@@ -83,7 +78,7 @@ public:
     virtual ~wxTreeCtrl();
 
     bool Create( wxWindow*          pParent
     virtual ~wxTreeCtrl();
 
     bool Create( wxWindow*          pParent
-                ,wxWindowID         vId = -1
+                ,wxWindowID         vId = wxID_ANY
                 ,const wxPoint&     rPos = wxDefaultPosition
                 ,const wxSize&      rSize = wxDefaultSize
                 ,long               lStyle = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT
                 ,const wxPoint&     rPos = wxDefaultPosition
                 ,const wxSize&      rSize = wxDefaultSize
                 ,long               lStyle = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT
@@ -197,21 +192,21 @@ public:
     // usage and loading time.
     //
     void SetItemHasChildren( const wxTreeItemId& rItem
     // usage and loading time.
     //
     void SetItemHasChildren( const wxTreeItemId& rItem
-                            ,bool                bHas = TRUE
+                            ,bool                bHas = true
                            );
 
     //
     // The item will be shown in bold
     //
     void SetItemBold( const wxTreeItemId& rItem
                            );
 
     //
     // The item will be shown in bold
     //
     void SetItemBold( const wxTreeItemId& rItem
-                     ,bool                bBold = TRUE
+                     ,bool                bBold = true
                     );
 
     //
     // The item will be shown with a drop highlight
     //
     void SetItemDropHighlight( const wxTreeItemId& rItem
                     );
 
     //
     // The item will be shown with a drop highlight
     //
     void SetItemDropHighlight( const wxTreeItemId& rItem
-                              ,bool                bHighlight = TRUE
+                              ,bool                bHighlight = true
                              );
 
     //
                              );
 
     //
@@ -250,11 +245,11 @@ public:
     //
 
     //
     //
 
     //
-    // If 'recursively' is FALSE, only immediate children count, otherwise
+    // If 'bRecursively' is false, only immediate children count, otherwise
     // the returned number is the number of all items in this branch
     //
     size_t GetChildrenCount( const wxTreeItemId& rItem
     // the returned number is the number of all items in this branch
     //
     size_t GetChildrenCount( const wxTreeItemId& rItem
-                            ,bool                bRecursively = TRUE
+                            ,bool                bRecursively = true
                            ) const;
 
     //
                            ) const;
 
     //
@@ -283,36 +278,26 @@ public:
     wxTreeItemId GetItemParent(const wxTreeItemId& rItem) const;
 
 #if WXWIN_COMPATIBILITY_2_2
     wxTreeItemId GetItemParent(const wxTreeItemId& rItem) const;
 
 #if WXWIN_COMPATIBILITY_2_2
-    // deprecated:  Use GetItemParent instead.
-    wxTreeItemId GetParent(const wxTreeItemId& rItem) const
-       { return GetItemParent(rItem); }
+        // deprecated:  Use GetItemParent instead.
+    wxDEPRECATED( wxTreeItemId GetParent(const wxTreeItemId& item) const);
 
 
-       // Expose the base class method hidden by the one above.
-    wxWindow* GetParent(void) const { return wxControl::GetParent(); }
+        // Expose the base class method hidden by the one above. Not deprecatable.
+    wxWindow *GetParent() const { return wxControl::GetParent(); }
 #endif  // WXWIN_COMPATIBILITY_2_2
 
 #endif  // WXWIN_COMPATIBILITY_2_2
 
-    //
-    // For this enumeration function you must pass in a "cookie" parameter
-    // which is opaque for the application but is necessary for the library
-    // to make these functions reentrant (i.e. allow more than one
-    // enumeration on one and the same object simultaneously). Of course,
-    // the "cookie" passed to GetFirstChild() and GetNextChild() should be
-    // the same!
-    //
+        // for this enumeration function you must pass in a "cookie" parameter
+        // which is opaque for the application but is necessary for the library
+        // to make these functions reentrant (i.e. allow more than one
+        // enumeration on one and the same object simultaneously). Of course,
+        // the "cookie" passed to GetFirstChild() and GetNextChild() should be
+        // the same!
 
 
-    //
-    // Get the first child of this item
-    //
-    wxTreeItemId GetFirstChild( const wxTreeItemId& rItem
-                               ,long&               rCookie
-                              ) const;
-
-    //
-    // Get the next child
-    //
-    wxTreeItemId GetNextChild( const wxTreeItemId& rItem
-                              ,long&               rCookie
-                             ) const;
+        // get the first child of this item
+    wxTreeItemId GetFirstChild(const wxTreeItemId& item,
+                               wxTreeItemIdValue& cookie) const;
+        // get the next child
+    wxTreeItemId GetNextChild(const wxTreeItemId& item,
+                              wxTreeItemIdValue& cookie) const;
 
     //
     // Get the last child of this item - this method doesn't use cookies
 
     //
     // Get the last child of this item - this method doesn't use cookies
@@ -479,7 +464,7 @@ public:
     // End editing and accept or discard the changes to item label
     //
     void EndEditLabel( const wxTreeItemId& rItem
     // End editing and accept or discard the changes to item label
     //
     void EndEditLabel( const wxTreeItemId& rItem
-                      ,bool                bDiscardChanges = FALSE
+                      ,bool                bDiscardChanges = false
                      );
 
     //
                      );
 
     //
@@ -528,15 +513,16 @@ public:
     //
     bool GetBoundingRect( const wxTreeItemId& rItem
                          ,wxRect&             rRect
     //
     bool GetBoundingRect( const wxTreeItemId& rItem
                          ,wxRect&             rRect
-                         ,bool                bTextOnly = FALSE
+                         ,bool                bTextOnly = false
                         ) const;
 
     //
     // Deprecated
     // ----------
                         ) const;
 
     //
     // Deprecated
     // ----------
-    //
+
+#if WXWIN_COMPATIBILITY_2_4
     // These methods are deprecated and will be removed in future versions of
     // These methods are deprecated and will be removed in future versions of
-    // wxWindows, they're here for compatibility only, don't use them in new
+    // wxWidgets, they're here for compatibility only, don't use them in new
     // code (the comments indicate why these methods are now useless and how to
     // replace them)
     //
     // code (the comments indicate why these methods are now useless and how to
     // replace them)
     //
@@ -544,35 +530,55 @@ public:
     //
     // Use Expand, Collapse, CollapseAndReset or Toggle
     //
     //
     // Use Expand, Collapse, CollapseAndReset or Toggle
     //
-    void ExpandItem( const wxTreeItemId& rItem
-                    ,int                 nAction
-                   );
+    wxDEPRECATED( void ExpandItem( const wxTreeItemId& rItem
+                                  ,int                 nAction
+                                 ) );
 
     //
     // Use AddRoot, PrependItem or AppendItem
     //
 
     //
     // Use AddRoot, PrependItem or AppendItem
     //
-    wxTreeItemId InsertItem( const wxTreeItemId& pParent
-                            ,const wxString&     rsText
-                            ,int                 nImage = -1
-                            ,int                 nSelImage = -1
-                            ,long                lInsertAfter = wxTREE_INSERT_LAST
-                           );
+    wxDEPRECATED( wxTreeItemId InsertItem( const wxTreeItemId& pParent
+                                          ,const wxString&     rsText
+                                          ,int                 nImage = -1
+                                          ,int                 nSelImage = -1
+                                          ,long                lInsertAfter = wxTREE_INSERT_LAST
+                                         ) );
 
     //
     // Use Set/GetImageList and Set/GetStateImageList
     //
 
     //
     // Use Set/GetImageList and Set/GetStateImageList
     //
-    wxImageList* GetImageList(int nVal) const
-        { return GetImageList(); }
-    void SetImageList(wxImageList* pImageList, int nVal)
-        { SetImageList(pImageList); }
+    wxDEPRECATED( wxImageList* GetImageList(int nVal) const );
+    wxDEPRECATED( void SetImageList(wxImageList* pImageList, int nVal) );
 
     //
     // Use Set/GetItemImage directly
     //
 
     //
     // Use Set/GetItemImage directly
     //
-    int GetItemSelectedImage(const wxTreeItemId& rItem) const
-        { return GetItemImage(rItem, wxTreeItemIcon_Selected); }
-    void SetItemSelectedImage(const wxTreeItemId& rItem, int nImage)
-        { SetItemImage(rItem, nImage, wxTreeItemIcon_Selected); }
+    wxDEPRECATED( int GetItemSelectedImage(const wxTreeItemId& rItem) const );
+    wxDEPRECATED( void SetItemSelectedImage(const wxTreeItemId& rItem, int nImage) );
+
+    //
+    // For this enumeration function you must pass in a "cookie" parameter
+    // which is opaque for the application but is necessary for the library
+    // to make these functions reentrant (i.e. allow more than one
+    // enumeration on one and the same object simultaneously). Of course,
+    // the "cookie" passed to GetFirstChild() and GetNextChild() should be
+    // the same!
+    //
+
+    //
+    // Get the first child of this item
+    //
+    wxDEPRECATED( wxTreeItemId GetFirstChild( const wxTreeItemId& rItem
+                                             ,long&               rCookie
+                                            ) const );
+
+    //
+    // Get the next child
+    //
+    wxDEPRECATED( wxTreeItemId GetNextChild( const wxTreeItemId& rItem
+                                            ,long&               rCookie
+                                           ) const );
+#endif // WXWIN_COMPATIBILITY_2_4
 
     //
     // Implementation
 
     //
     // Implementation
@@ -599,7 +605,7 @@ public:
     //
     bool IsItemChecked(const wxTreeItemId& rItem) const;
     void SetItemCheck( const wxTreeItemId& rItem
     //
     bool IsItemChecked(const wxTreeItemId& rItem) const;
     void SetItemCheck( const wxTreeItemId& rItem
-                      ,bool                bCheck = TRUE
+                      ,bool                bCheck = true
                      );
 
 protected:
                      );
 
 protected:
@@ -670,10 +676,10 @@ private:
     //
     // The hash storing the items attributes (indexed by items ids)
     //
     //
     // The hash storing the items attributes (indexed by items ids)
     //
-    wxHashTable                     m_vAttrs;
+    wxMapTreeAttr                   m_vAttrs;
 
     //
 
     //
-    // TRUE if the hash above is not empty
+    // true if the hash above is not empty
     //
     bool                            m_bHasAnyAttr;
 
     //
     bool                            m_bHasAnyAttr;