// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef _WX_TREECTRL_H_
-#define _WX_TREECTRL_H_
+#ifndef _WX_MSW_TREECTRL_H_
+#define _WX_MSW_TREECTRL_H_
// ----------------------------------------------------------------------------
// headers
virtual WXLRESULT MSWDefWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
virtual bool MSWCommand(WXUINT param, WXWORD id);
virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
+ virtual bool MSWShouldPreProcessMessage(WXMSG* msg);
// override some base class virtuals
virtual bool SetBackgroundColour(const wxColour &colour);
// end edit label
void DoEndEditLabel(bool discardChanges = false);
-
- // data used only while editing the item label:
- wxTextCtrl *m_textCtrl; // text control in which it is edited
- wxTreeItemId m_idEdited; // the item being edited
-
virtual wxTreeItemId DoInsertItem(const wxTreeItemId& parent,
size_t pos,
const wxString& text,
const wxString& text,
int image = -1, int selImage = -1,
wxTreeItemData *data = NULL);
- virtual wxTreeItemId DoTreeHitTest(const wxPoint& point, int& flags);
+ virtual wxTreeItemId DoTreeHitTest(const wxPoint& point, int& flags) const;
+
+ // obtain the user data for the lParam member of TV_ITEM
+ class wxTreeItemParam *GetItemParam(const wxTreeItemId& item) const;
+
+
+ // data used only while editing the item label:
+ wxTextCtrl *m_textCtrl; // text control in which it is edited
+ wxTreeItemId m_idEdited; // the item being edited
private:
// the common part of all ctors
inline void DoExpand(const wxTreeItemId& item, int flag);
- int DoGetItemImageFromData(const wxTreeItemId& item,
- wxTreeItemIcon which) const;
- void DoSetItemImageFromData(const wxTreeItemId& item,
- int image,
- wxTreeItemIcon which) const;
- void DoSetItemImages(const wxTreeItemId& item, int image, int imageSel);
-
void DeleteTextCtrl();
- // support for additional item images which we implement using
- // wxTreeItemIndirectData technique - see the comments in msw/treectrl.cpp
- void SetIndirectItemData(const wxTreeItemId& item,
- class wxTreeItemIndirectData *data);
- bool HasIndirectData(const wxTreeItemId& item) const;
- bool IsDataIndirect(wxTreeItemData *data) const
- { return data && data->GetId().m_pItem == 0; }
+ // return true if the item is the hidden root one (i.e. it's the root item
+ // and the tree has wxTR_HIDE_ROOT style)
+ bool IsHiddenRoot(const wxTreeItemId& item) const;
+
// the hash storing the items attributes (indexed by item ids)
wxMapTreeAttr m_attrs;
#endif // wxUSE_TREECTRL
-#endif
- // _WX_TREECTRL_H_
+#endif // _WX_MSW_TREECTRL_H_