Exteor/include/xtr/view/TermTreeView.h
2024-06-07 20:30:06 +03:00

36 lines
865 B
C++

#pragma once
#include "xtr/doc/Documents.h"
namespace xtr::view {
//! View: RSForm TermTree
class TermTreeView : public CFormView {
DECLARE_DYNCREATE(TermTreeView)
doc::SelectableDoc* document{ nullptr };
const ccl::semantic::RSCore* core{ nullptr };
CTreeCtrl termTreeCtrl{};
private:
TermTreeView();
private:
void DoDataExchange(CDataExchange* pDX) override;
void OnInitialUpdate() override;
private:
void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) override;
DECLARE_MESSAGE_MAP()
afx_msg void OpenHelp();
afx_msg void OnDblclkTermTree(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnBuild();
private:
BOOL BuildTree();
static HTREEITEM FindItemInTree(const CTreeCtrl* termTree, CString sFindName);
static int32_t InsertSubTree(CTreeCtrl* termTree, HTREEITEM current, CString sName);
};
} // namespace xtr::view