⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treectrl.cpp

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 CPP
字号:
/////////////////////////////////////////////////////////////////////////////// Name:        src/mac/classic/treectrl.cpp// Purpose:     wxTreeCtrl. See also Robert's generic wxTreeCtrl.// Author:      Stefan Csomor// Modified by:// Created:     1998-01-01// RCS-ID:      $Id: treectrl.cpp,v 1.7 2006/03/24 23:46:37 ABX Exp $// Copyright:   (c) Stefan Csomor// Licence:     wxWindows licence/////////////////////////////////////////////////////////////////////////////#include "wx/stubs/textctrl.h"#include "wx/treebase.h"#include "wx/stubs/treectrl.h"IMPLEMENT_DYNAMIC_CLASS(wxTreeCtrl, wxControl)IMPLEMENT_DYNAMIC_CLASS(wxTreeItem, wxObject)wxTreeCtrl::wxTreeCtrl(){    m_imageListNormal = NULL;    m_imageListState = NULL;    m_textCtrl = NULL;}bool wxTreeCtrl::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size,            long style, const wxValidator& validator, const wxString& name){    SetName(name);    SetValidator(validator);    m_imageListNormal = NULL;    m_imageListState = NULL;    m_textCtrl = NULL;    m_windowStyle = style;    SetParent(parent);    m_windowId = (id == wxID_ANY) ? NewControlId() : id;    if (parent) parent->AddChild(this);    // TODO create tree control    return false;}wxTreeCtrl::~wxTreeCtrl(){    if (m_textCtrl)    {        delete m_textCtrl;    }}// Attributesunsigned int wxTreeCtrl::GetCount() const{    // TODO    return 0;}int wxTreeCtrl::GetIndent() const{    // TODO    return 0;}void wxTreeCtrl::SetIndent(int indent){    // TODO}wxImageList *wxTreeCtrl::GetImageList(int which) const{    if ( which == wxIMAGE_LIST_NORMAL )    {        return m_imageListNormal;    }    else if ( which == wxIMAGE_LIST_STATE )    {        return m_imageListState;    }    return NULL;}void wxTreeCtrl::SetImageList(wxImageList *imageList, int which){    if ( which == wxIMAGE_LIST_NORMAL )    {        m_imageListNormal = imageList;    }    else if ( which == wxIMAGE_LIST_STATE )    {        m_imageListState = imageList;    }    // TODO}long wxTreeCtrl::GetNextItem(long item, int code) const{    // TODO    return 0;}bool wxTreeCtrl::ItemHasChildren(long item) const{    // TODO    return false;}long wxTreeCtrl::GetChild(long item) const{    // TODO    return 0;}long wxTreeCtrl::GetItemParent(long item) const{    // TODO    return 0;}long wxTreeCtrl::GetFirstVisibleItem() const{    // TODO    return 0;}long wxTreeCtrl::GetNextVisibleItem(long item) const{    // TODO    return 0;}long wxTreeCtrl::GetSelection() const{    // TODO    return 0;}long wxTreeCtrl::GetRootItem() const{    // TODO    return 0;}bool wxTreeCtrl::GetItem(wxTreeItem& info) const{    // TODO    return false;}bool wxTreeCtrl::SetItem(wxTreeItem& info){    // TODO    return false;}int wxTreeCtrl::GetItemState(long item, long stateMask) const{    wxTreeItem info;    info.m_mask = wxTREE_MASK_STATE ;    info.m_stateMask = stateMask;    info.m_itemId = item;    if (!GetItem(info))        return 0;    return info.m_state;}bool wxTreeCtrl::SetItemState(long item, long state, long stateMask){    wxTreeItem info;    info.m_mask = wxTREE_MASK_STATE ;    info.m_state = state;    info.m_stateMask = stateMask;    info.m_itemId = item;    return SetItem(info);}bool wxTreeCtrl::SetItemImage(long item, int image, int selImage){    wxTreeItem info;    info.m_mask = wxTREE_MASK_IMAGE ;    info.m_image = image;    if ( selImage > -1)    {        info.m_selectedImage = selImage;        info.m_mask |= wxTREE_MASK_SELECTED_IMAGE;    }    info.m_itemId = item;    return SetItem(info);}wxString wxTreeCtrl::GetItemText(long item) const{    wxTreeItem info;    info.m_mask = wxTREE_MASK_TEXT ;    info.m_itemId = item;    if (!GetItem(info))        return wxEmptyString;    return info.m_text;}void wxTreeCtrl::SetItemText(long item, const wxString& str){    wxTreeItem info;    info.m_mask = wxTREE_MASK_TEXT ;    info.m_itemId = item;    info.m_text = str;    SetItem(info);}long wxTreeCtrl::GetItemData(long item) const{    wxTreeItem info;    info.m_mask = wxTREE_MASK_DATA ;    info.m_itemId = item;    if (!GetItem(info))        return 0;    return info.m_data;}bool wxTreeCtrl::SetItemData(long item, long data){    wxTreeItem info;    info.m_mask = wxTREE_MASK_DATA ;    info.m_itemId = item;    info.m_data = data;    return SetItem(info);}bool wxTreeCtrl::GetItemRect(long item, wxRect& rect, bool textOnly) const{    // TODO    return false;}wxTextCtrl* wxTreeCtrl::GetEditControl() const{    return m_textCtrl;}// Operationsbool wxTreeCtrl::DeleteItem(long item){    // TODO    return false;}bool wxTreeCtrl::ExpandItem(long item, int action){    // TODO    switch ( action )    {    case wxTREE_EXPAND_EXPAND:        break;    case wxTREE_EXPAND_COLLAPSE:        break;    case wxTREE_EXPAND_COLLAPSE_RESET:        break;    case wxTREE_EXPAND_TOGGLE:        break;    default:        wxFAIL_MSG("unknown action in wxTreeCtrl::ExpandItem");    }    bool bOk = false; // TODO expand item    // May not send messages, so emulate them    if ( bOk ) {        wxTreeEvent event(wxEVT_NULL, m_windowId);        event.m_item.m_itemId  = item;        event.m_item.m_mask      =            event.m_item.m_stateMask = 0xffff; // get all        GetItem(event.m_item);        bool bIsExpanded = (event.m_item.m_state & wxTREE_STATE_EXPANDED) != 0;        event.m_code = action;        event.SetEventObject(this);        // @@@ return values of {EXPAND|COLLAPS}ING event handler is discarded        event.SetEventType(bIsExpanded ? wxEVT_COMMAND_TREE_ITEM_EXPANDING            : wxEVT_COMMAND_TREE_ITEM_COLLAPSING);        GetEventHandler()->ProcessEvent(event);        event.SetEventType(bIsExpanded ? wxEVT_COMMAND_TREE_ITEM_EXPANDED            : wxEVT_COMMAND_TREE_ITEM_COLLAPSED);        GetEventHandler()->ProcessEvent(event);    }    return bOk;}long wxTreeCtrl::InsertItem(long parent, wxTreeItem& info, long insertAfter){    // TODO    return 0;}long wxTreeCtrl::InsertItem(long parent, const wxString& label, int image, int selImage,  long insertAfter){    wxTreeItem info;    info.m_text = label;    info.m_mask = wxTREE_MASK_TEXT;    if ( image > -1 )    {        info.m_mask |= wxTREE_MASK_IMAGE | wxTREE_MASK_SELECTED_IMAGE;        info.m_image = image;        if ( selImage == -1 )            info.m_selectedImage = image;        else            info.m_selectedImage = selImage;    }    return InsertItem(parent, info, insertAfter);}bool wxTreeCtrl::SelectItem(long item){    // TODO    return false;}bool wxTreeCtrl::ScrollTo(long item){    // TODO    return false;}bool wxTreeCtrl::DeleteAllItems(){    // TODO    return false;}wxTextCtrl* wxTreeCtrl::EditLabel(long item, wxClassInfo* textControlClass){    // TODO    return NULL;}// End label editing, optionally cancelling the editbool wxTreeCtrl::EndEditLabel(bool cancel){    // TODO    return false;}long wxTreeCtrl::HitTest(const wxPoint& point, int& flags){    // TODO    return 0;}bool wxTreeCtrl::SortChildren(long item){    // TODO    return false;}bool wxTreeCtrl::EnsureVisible(long item){    // TODO    return false;}// Tree item structurewxTreeItem::wxTreeItem(){    m_mask = 0;    m_itemId = 0;    m_state = 0;    m_stateMask = 0;    m_image = -1;    m_selectedImage = -1;    m_children = 0;    m_data = 0;}// Tree eventIMPLEMENT_DYNAMIC_CLASS(wxTreeEvent, wxCommandEvent)wxTreeEvent::wxTreeEvent(wxEventType commandType, int id):  wxCommandEvent(commandType, id){    m_code = 0;    m_oldItem = 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -