replaced untyped hash with a typed one; 64 bit fixes (don't cast pointers to long...)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
#include "wx/textctrl.h"
|
||||
#include "wx/dynarray.h"
|
||||
#include "wx/treebase.h"
|
||||
#include "wx/hashmap.h"
|
||||
|
||||
#ifdef __GNUWIN32__
|
||||
// Cygwin windows.h defines these identifiers
|
||||
@@ -32,19 +33,11 @@
|
||||
#undef GetNextSibling
|
||||
#endif // Cygwin
|
||||
|
||||
// the type for "untyped" data
|
||||
typedef long wxDataType;
|
||||
|
||||
// fwd decl
|
||||
class WXDLLEXPORT wxImageList;
|
||||
class WXDLLEXPORT wxDragImage;
|
||||
struct WXDLLEXPORT wxTreeViewItem;
|
||||
|
||||
// a callback function used for sorting tree items, it should return -1 if the
|
||||
// first item precedes the second, +1 if the second precedes the first or 0 if
|
||||
// they're equivalent
|
||||
class wxTreeItemData;
|
||||
|
||||
// NB: all the following flags are for compatbility only and will be removed in the
|
||||
// next versions
|
||||
|
||||
@@ -57,13 +50,18 @@ enum
|
||||
wxTREE_EXPAND_TOGGLE
|
||||
};
|
||||
|
||||
// flags for deprecated InsertItem() variant
|
||||
// flags for deprecated InsertItem() variant (their values are the same as of
|
||||
// TVI_FIRST and TVI_LAST)
|
||||
#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
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxTreeCtrl : public wxControl
|
||||
{
|
||||
public:
|
||||
@@ -241,9 +239,11 @@ public:
|
||||
// the same!
|
||||
|
||||
// get the first child of this item
|
||||
wxTreeItemId GetFirstChild(const wxTreeItemId& item, long& _cookie) const;
|
||||
wxTreeItemId GetFirstChild(const wxTreeItemId& item,
|
||||
wxTreeItemIdValue& cookie) const;
|
||||
// get the next child
|
||||
wxTreeItemId GetNextChild(const wxTreeItemId& item, long& _cookie) const;
|
||||
wxTreeItemId GetNextChild(const wxTreeItemId& item,
|
||||
wxTreeItemIdValue& cookie) const;
|
||||
// get the last child of this item - this method doesn't use cookies
|
||||
wxTreeItemId GetLastChild(const wxTreeItemId& item) const;
|
||||
|
||||
@@ -371,34 +371,38 @@ public:
|
||||
// deprecated
|
||||
// ----------
|
||||
|
||||
#if WXWIN_COMPATIBILITY_2_4
|
||||
// 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
|
||||
// code (the comments indicate why these methods are now useless and how to
|
||||
// replace them)
|
||||
|
||||
// use Expand, Collapse, CollapseAndReset or Toggle
|
||||
void ExpandItem(const wxTreeItemId& item, int action);
|
||||
wxDEPRECATED( void ExpandItem(const wxTreeItemId& item, int action) );
|
||||
|
||||
// use AddRoot, PrependItem or AppendItem
|
||||
wxTreeItemId InsertItem(const wxTreeItemId& parent,
|
||||
wxDEPRECATED( wxTreeItemId InsertItem(const wxTreeItemId& parent,
|
||||
const wxString& text,
|
||||
int image = -1, int selImage = -1,
|
||||
long insertAfter = wxTREE_INSERT_LAST);
|
||||
long insertAfter = wxTREE_INSERT_LAST) );
|
||||
|
||||
// use Set/GetImageList and Set/GetStateImageList
|
||||
wxImageList *GetImageList(int) const
|
||||
{ return GetImageList(); }
|
||||
void SetImageList(wxImageList *imageList, int)
|
||||
{ SetImageList(imageList); }
|
||||
wxImageList *GetImageList(int) const { return GetImageList(); }
|
||||
void SetImageList(wxImageList *imageList, int) { SetImageList(imageList); }
|
||||
|
||||
// use Set/GetItemImage directly
|
||||
// get the selected item image
|
||||
int GetItemSelectedImage(const wxTreeItemId& item) const
|
||||
{ return GetItemImage(item, wxTreeItemIcon_Selected); }
|
||||
// set the selected item image
|
||||
void SetItemSelectedImage(const wxTreeItemId& item, int image)
|
||||
{ SetItemImage(item, image, wxTreeItemIcon_Selected); }
|
||||
|
||||
// use the versions taking wxTreeItemIdValue cookies
|
||||
wxDEPRECATED( wxTreeItemId GetFirstChild(const wxTreeItemId& item,
|
||||
long& cookie) const );
|
||||
wxDEPRECATED( wxTreeItemId GetNextChild(const wxTreeItemId& item,
|
||||
long& cookie) const );
|
||||
#endif // WXWIN_COMPATIBILITY_2_4
|
||||
|
||||
// implementation
|
||||
// --------------
|
||||
|
||||
@@ -463,8 +467,8 @@ private:
|
||||
bool IsDataIndirect(wxTreeItemData *data) const
|
||||
{ return data && data->GetId().m_pItem == 0; }
|
||||
|
||||
// the hash storing the items attributes (indexed by items ids)
|
||||
wxHashTable m_attrs;
|
||||
// the hash storing the items attributes (indexed by item ids)
|
||||
wxMapTreeAttr m_attrs;
|
||||
|
||||
// TRUE if the hash above is not empty
|
||||
bool m_hasAnyAttr;
|
||||
@@ -476,7 +480,7 @@ private:
|
||||
void* m_pVirtualRoot;
|
||||
|
||||
// the starting item for selection with Shift
|
||||
WXHTREEITEM m_htSelStart;
|
||||
wxTreeItemId m_htSelStart;
|
||||
|
||||
friend class wxTreeItemIndirectData;
|
||||
friend class wxTreeSortHelper;
|
||||
|
Reference in New Issue
Block a user