treectrl.cpp
来自「A*算法 A*算法 A*算法 A*算法A*算法A*算法」· C++ 代码 · 共 729 行 · 第 1/2 页
CPP
729 行
}
wxFont wxTreeCtrl::GetItemFont(const wxTreeItemId& item) const
{
return wxNullFont;
}
void wxTreeCtrl::SetItemTextColour(const wxTreeItemId& item,
const wxColour& col)
{
}
void wxTreeCtrl::SetItemBackgroundColour(const wxTreeItemId& item,
const wxColour& col)
{
}
void wxTreeCtrl::SetItemFont(const wxTreeItemId& item, const wxFont& font)
{
}
// ----------------------------------------------------------------------------
// Item status
// ----------------------------------------------------------------------------
bool wxTreeCtrl::IsVisible(const wxTreeItemId& item) const
{
return false;
}
bool wxTreeCtrl::ItemHasChildren(const wxTreeItemId& item) const
{
return false;
}
bool wxTreeCtrl::IsExpanded(const wxTreeItemId& item) const
{
return false;
}
bool wxTreeCtrl::IsSelected(const wxTreeItemId& item) const
{
return false;
}
bool wxTreeCtrl::IsBold(const wxTreeItemId& item) const
{
return false;
}
// ----------------------------------------------------------------------------
// navigation
// ----------------------------------------------------------------------------
wxTreeItemId wxTreeCtrl::GetRootItem() const
{
// Root may be real (visible) or virtual (hidden).
if ( GET_VIRTUAL_ROOT() )
return TVI_ROOT;
return wxTreeItemId(TreeView_GetRoot(GetHwnd()));
}
wxTreeItemId wxTreeCtrl::GetSelection() const
{
return 0;
}
wxTreeItemId wxTreeCtrl::GetItemParent(const wxTreeItemId& item) const
{
return 0;
}
wxTreeItemId wxTreeCtrl::GetFirstChild(const wxTreeItemId& item,
wxTreeItemIdValue& cookie) const
{
return 0;
}
wxTreeItemId wxTreeCtrl::GetNextChild(const wxTreeItemId& WXUNUSED(item),
wxTreeItemIdValue& cookie) const
{
return 0;
}
wxTreeItemId wxTreeCtrl::GetLastChild(const wxTreeItemId& item) const
{
return 0;
}
wxTreeItemId wxTreeCtrl::GetNextSibling(const wxTreeItemId& item) const
{
return 0;
}
wxTreeItemId wxTreeCtrl::GetPrevSibling(const wxTreeItemId& item) const
{
return 0;
}
wxTreeItemId wxTreeCtrl::GetFirstVisibleItem() const
{
return 0;
}
wxTreeItemId wxTreeCtrl::GetNextVisible(const wxTreeItemId& item) const
{
return 0;
}
wxTreeItemId wxTreeCtrl::GetPrevVisible(const wxTreeItemId& item) const
{
return 0;
}
// ----------------------------------------------------------------------------
// multiple selections emulation
// ----------------------------------------------------------------------------
bool wxTreeCtrl::IsItemChecked(const wxTreeItemId& item) const
{
return false;
}
void wxTreeCtrl::SetItemCheck(const wxTreeItemId& item, bool check)
{
}
size_t wxTreeCtrl::GetSelections(wxArrayTreeItemIds& selections) const
{
return 0;
}
// ----------------------------------------------------------------------------
// Usual operations
// ----------------------------------------------------------------------------
wxTreeItemId wxTreeCtrl::DoInsertItem(const wxTreeItemId& parent,
wxTreeItemId hInsertAfter,
const wxString& text,
int image, int selectedImage,
wxTreeItemData *data)
{
return 0;
}
wxTreeItemId wxTreeCtrl::AddRoot(const wxString& text,
int image, int selectedImage,
wxTreeItemData *data)
{
return 0;
}
wxTreeItemId wxTreeCtrl::PrependItem(const wxTreeItemId& parent,
const wxString& text,
int image, int selectedImage,
wxTreeItemData *data)
{
return 0;
}
wxTreeItemId wxTreeCtrl::InsertItem(const wxTreeItemId& parent,
const wxTreeItemId& idPrevious,
const wxString& text,
int image, int selectedImage,
wxTreeItemData *data)
{
return 0;
}
wxTreeItemId wxTreeCtrl::InsertItem(const wxTreeItemId& parent,
size_t index,
const wxString& text,
int image, int selectedImage,
wxTreeItemData *data)
{
return 0;
}
wxTreeItemId wxTreeCtrl::AppendItem(const wxTreeItemId& parent,
const wxString& text,
int image, int selectedImage,
wxTreeItemData *data)
{
return 0;
}
void wxTreeCtrl::Delete(const wxTreeItemId& item)
{
return 0;
}
// delete all children (but don't delete the item itself)
void wxTreeCtrl::DeleteChildren(const wxTreeItemId& item)
{
}
void wxTreeCtrl::DeleteAllItems()
{
}
void wxTreeCtrl::DoExpand(const wxTreeItemId& item, int flag)
{
}
void wxTreeCtrl::Expand(const wxTreeItemId& item)
{
}
void wxTreeCtrl::Collapse(const wxTreeItemId& item)
{
}
void wxTreeCtrl::CollapseAndReset(const wxTreeItemId& item)
{
}
void wxTreeCtrl::Toggle(const wxTreeItemId& item)
{
}
void wxTreeCtrl::Unselect()
{
}
void wxTreeCtrl::UnselectAll()
{
}
void wxTreeCtrl::SelectItem(const wxTreeItemId& item, bool select)
{
}
void wxTreeCtrl::UnselectItem(const wxTreeItemId& item)
{
}
void wxTreeCtrl::ToggleItemSelection(const wxTreeItemId& item)
{
}
void wxTreeCtrl::EnsureVisible(const wxTreeItemId& item)
{
}
void wxTreeCtrl::ScrollTo(const wxTreeItemId& item)
{
}
wxTextCtrl *wxTreeCtrl::GetEditControl() const
{
return NULL;
}
void wxTreeCtrl::DeleteTextCtrl()
{
}
wxTextCtrl* wxTreeCtrl::EditLabel(const wxTreeItemId& item,
wxClassInfo* textControlClass)
{
return NULL;
}
// End label editing, optionally cancelling the edit
void wxTreeCtrl::EndEditLabel(const wxTreeItemId& WXUNUSED(item), bool discardChanges)
{
}
wxTreeItemId wxTreeCtrl::HitTest(const wxPoint& point, int& flags)
{
return 0;
}
bool wxTreeCtrl::GetBoundingRect(const wxTreeItemId& item,
wxRect& rect,
bool textOnly) const
{
return false;
}
// ----------------------------------------------------------------------------
// sorting stuff
// ----------------------------------------------------------------------------
// this is just a tiny namespace which is friend to wxTreeCtrl and so can use
// functions such as IsDataIndirect()
class wxTreeSortHelper
{
public:
static int CALLBACK Compare(LPARAM data1, LPARAM data2, LPARAM tree);
private:
static wxTreeItemId GetIdFromData(wxTreeCtrl *tree, LPARAM item)
{
wxTreeItemData *data = (wxTreeItemData *)item;
if ( tree->IsDataIndirect(data) )
{
data = ((wxTreeItemIndirectData *)data)->GetData();
}
return data->GetId();
}
};
int CALLBACK wxTreeSortHelper::Compare(LPARAM pItem1,
LPARAM pItem2,
LPARAM htree)
{
wxCHECK_MSG( pItem1 && pItem2, 0,
wxT("sorting tree without data doesn't make sense") );
wxTreeCtrl *tree = (wxTreeCtrl *)htree;
return tree->OnCompareItems(GetIdFromData(tree, pItem1),
GetIdFromData(tree, pItem2));
}
int wxTreeCtrl::OnCompareItems(const wxTreeItemId& item1,
const wxTreeItemId& item2)
{
return wxStrcmp(GetItemText(item1), GetItemText(item2));
}
void wxTreeCtrl::SortChildren(const wxTreeItemId& item)
{
wxCHECK_RET( item.IsOk(), wxT("invalid tree item") );
// rely on the fact that TreeView_SortChildren does the same thing as our
// default behaviour, i.e. sorts items alphabetically and so call it
// directly if we're not in derived class (much more efficient!)
if ( GetClassInfo() == CLASSINFO(wxTreeCtrl) )
{
TreeView_SortChildren(GetHwnd(), HITEM(item), 0);
}
else
{
TV_SORTCB tvSort;
tvSort.hParent = HITEM(item);
tvSort.lpfnCompare = wxTreeSortHelper::Compare;
tvSort.lParam = (LPARAM)this;
TreeView_SortChildrenCB(GetHwnd(), &tvSort, 0 /* reserved */);
}
}
// ----------------------------------------------------------------------------
// State control.
// ----------------------------------------------------------------------------
// why do they define INDEXTOSTATEIMAGEMASK but not the inverse?
#define STATEIMAGEMASKTOINDEX(state) (((state) & TVIS_STATEIMAGEMASK) >> 12)
void wxTreeCtrl::SetState(const wxTreeItemId& node, int state)
{
}
int wxTreeCtrl::GetState(const wxTreeItemId& node)
{
return 0;
}
#endif // wxUSE_TREECTRL
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?