📄 treectrl.h
字号:
/////////////////////////////////////////////////////////////////////////////// Name: wx/palmos/treectrl.h// Purpose: wxTreeCtrl class// Author: William Osborne - minimal working wxPalmOS port// Modified by:// Created: 10/13/04// RCS-ID: $Id: treectrl.h,v 1.9 2006/03/28 13:11:20 ABX Exp $// Copyright: (c) William Osborne// Licence: wxWindows licence/////////////////////////////////////////////////////////////////////////////#ifndef _WX_TREECTRL_H_#define _WX_TREECTRL_H_// ----------------------------------------------------------------------------// headers// ----------------------------------------------------------------------------#if wxUSE_TREECTRL#include "wx/textctrl.h"#include "wx/dynarray.h"#include "wx/treebase.h"#include "wx/hashmap.h"// fwd declclass WXDLLEXPORT wxImageList;class WXDLLEXPORT wxDragImage;struct WXDLLEXPORT wxTreeViewItem;// hash storing attributes for our itemsWX_DECLARE_EXPORTED_VOIDPTR_HASH_MAP(wxTreeItemAttr *, wxMapTreeAttr);// ----------------------------------------------------------------------------// wxTreeCtrl// ----------------------------------------------------------------------------class WXDLLEXPORT wxTreeCtrl : public wxControl{public: // creation // -------- wxTreeCtrl() { Init(); } wxTreeCtrl(wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxTreeCtrlNameStr) { Create(parent, id, pos, size, style, validator, name); } virtual ~wxTreeCtrl(); bool Create(wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxTreeCtrlNameStr); // accessors // --------- // get the total number of items in the control virtual unsigned int GetCount() const; // indent is the number of pixels the children are indented relative to // the parents position. SetIndent() also redraws the control // immediately. unsigned int GetIndent() const; void SetIndent(unsigned int indent); // spacing is the number of pixels between the start and the Text unsigned int GetSpacing() const { return 18; } // return wxGTK default void SetSpacing(unsigned int WXUNUSED(spacing)) { } // image list: these functions allow to associate an image list with // the control and retrieve it. Note that the control does _not_ delete // the associated image list when it's deleted in order to allow image // lists to be shared between different controls. // // The normal image list is for the icons which correspond to the // normal tree item state (whether it is selected or not). // Additionally, the application might choose to show a state icon // which corresponds to an app-defined item state (for example, // checked/unchecked) which are taken from the state image list. wxImageList *GetImageList() const; wxImageList *GetStateImageList() const; void SetImageList(wxImageList *imageList); void SetStateImageList(wxImageList *imageList); void AssignImageList(wxImageList *imageList); void AssignStateImageList(wxImageList *imageList); // Functions to work with tree ctrl items. Unfortunately, they can _not_ be // member functions of wxTreeItem because they must know the tree the item // belongs to for Windows implementation and storing the pointer to // wxTreeCtrl in each wxTreeItem is just too much waste. // accessors // --------- // retrieve items label wxString GetItemText(const wxTreeItemId& item) const; // get one of the images associated with the item (normal by default) int GetItemImage(const wxTreeItemId& item, wxTreeItemIcon which = wxTreeItemIcon_Normal) const; // get the data associated with the item wxTreeItemData *GetItemData(const wxTreeItemId& item) const; // get the item's text colour wxColour GetItemTextColour(const wxTreeItemId& item) const; // get the item's background colour wxColour GetItemBackgroundColour(const wxTreeItemId& item) const; // get the item's font wxFont GetItemFont(const wxTreeItemId& item) const; // modifiers // --------- // set items label void SetItemText(const wxTreeItemId& item, const wxString& text); // get one of the images associated with the item (normal by default) void SetItemImage(const wxTreeItemId& item, int image, wxTreeItemIcon which = wxTreeItemIcon_Normal); // associate some data with the item void SetItemData(const wxTreeItemId& item, wxTreeItemData *data); // force appearance of [+] button near the item. This is useful to // allow the user to expand the items which don't have any children now // - but instead add them only when needed, thus minimizing memory // usage and loading time. void SetItemHasChildren(const wxTreeItemId& item, bool has = true); // the item will be shown in bold void SetItemBold(const wxTreeItemId& item, bool bold = true); // the item will be shown with a drop highlight void SetItemDropHighlight(const wxTreeItemId& item, bool highlight = true); // set the items text colour void SetItemTextColour(const wxTreeItemId& item, const wxColour& col); // set the items background colour void SetItemBackgroundColour(const wxTreeItemId& item, const wxColour& col); // set the items font (should be of the same height for all items) void SetItemFont(const wxTreeItemId& item, const wxFont& font); // item status inquiries // --------------------- // is the item visible (it might be outside the view or not expanded)? bool IsVisible(const wxTreeItemId& item) const; // does the item has any children? bool ItemHasChildren(const wxTreeItemId& item) const; // is the item expanded (only makes sense if HasChildren())? bool IsExpanded(const wxTreeItemId& item) const; // is this item currently selected (the same as has focus)? bool IsSelected(const wxTreeItemId& item) const; // is item text in bold font? bool IsBold(const wxTreeItemId& item) const; // number of children // ------------------ // if 'recursively' is false, only immediate children count, otherwise // the returned number is the number of all items in this branch size_t GetChildrenCount(const wxTreeItemId& item, bool recursively = true) const; // navigation // ---------- // wxTreeItemId.IsOk() will return false if there is no such item // get the root tree item wxTreeItemId GetRootItem() const; // get the item currently selected (may return NULL if no selection) wxTreeItemId GetSelection() const; // get the items currently selected, return the number of such item // // NB: this operation is expensive and can take a long time for a // control with a lot of items (~ O(number of items)). size_t GetSelections(wxArrayTreeItemIds& selections) const; // get the parent of this item (may return NULL if root) wxTreeItemId GetItemParent(const wxTreeItemId& item) const; // 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& 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 wxTreeItemId GetLastChild(const wxTreeItemId& item) const; // get the next sibling of this item wxTreeItemId GetNextSibling(const wxTreeItemId& item) const; // get the previous sibling wxTreeItemId GetPrevSibling(const wxTreeItemId& item) const;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -