| 965 | } |
| 966 | |
| 967 | void JsonViewDlg::HandleTreeEvents(LPARAM lParam) const |
| 968 | { |
| 969 | LPNMHDR lpnmh = reinterpret_cast<LPNMHDR>(lParam); |
| 970 | if (!lpnmh || lpnmh->idFrom != IDC_TREE) |
| 971 | return; // Not click inside JsonTree |
| 972 | |
| 973 | switch (lpnmh->code) |
| 974 | { |
| 975 | case TVN_SELCHANGED: |
| 976 | { |
| 977 | NMTREEVIEW* pnmtv = reinterpret_cast<LPNMTREEVIEW>(lParam); |
| 978 | HTREEITEM hItem = pnmtv->itemNew.hItem; |
| 979 | if (hItem && (pnmtv->action == TVC_BYMOUSE || pnmtv->action == TVC_BYKEYBOARD)) |
| 980 | { |
| 981 | UpdateNodePath(hItem); |
| 982 | |
| 983 | auto pPosition = m_pTreeView->GetNodePosition(hItem); |
| 984 | if (pPosition != nullptr) |
| 985 | { |
| 986 | GoToLine(pPosition->nLine); |
| 987 | } |
| 988 | } |
| 989 | } |
| 990 | break; |
| 991 | |
| 992 | case NM_DBLCLK: |
| 993 | { |
| 994 | HTREEITEM hItem = m_pTreeView->GetSelection(); |
| 995 | |
| 996 | auto pPosition = m_pTreeView->GetNodePosition(hItem); |
| 997 | if (pPosition != nullptr) |
| 998 | { |
| 999 | GoToPosition(pPosition->nLine, pPosition->nColumn, pPosition->nKeyLength); |
| 1000 | } |
| 1001 | } |
| 1002 | break; |
| 1003 | } |
| 1004 | } |
| 1005 | |
| 1006 | auto JsonViewDlg::GetFormatSetting() const -> std::tuple<LE, LF, char, unsigned> |
| 1007 | { |
nothing calls this directly
no test coverage detected