11#include " TreeViewCtrl.h"
22#include " Define.h"
33#include " resource.h"
4- #include " StringHelper.h"
54#include < memory>
65
76
@@ -13,16 +12,15 @@ void TreeViewCtrl::OnInit(HWND hParent)
1312
1413auto TreeViewCtrl::InitTree () -> HTREEITEM
1514{
16- unsigned int TreeCount = TreeView_GetCount (m_hTree);
17- if (TreeCount > 0 )
15+ if (GetNodeCount () > 0 )
1816 TreeView_DeleteAllItems (m_hTree);
1917
2018 return InsertNode (JSON_ROOT, -1 , TVI_ROOT);
2119}
2220
2321auto TreeViewCtrl::InsertNode (const std::wstring &text, LPARAM lparam, HTREEITEM parentNode) -> HTREEITEM
2422{
25- TV_INSERTSTRUCT tvinsert;
23+ TV_INSERTSTRUCT tvinsert {} ;
2624
2725 if (parentNode == TVI_ROOT)
2826 {
@@ -105,32 +103,32 @@ bool TreeViewCtrl::IsThisOrAnyChildCollapsed(HTREEITEM node) const
105103 return false ;
106104}
107105
108- void TreeViewCtrl::Expand (HTREEITEM node)
106+ void TreeViewCtrl::Expand (HTREEITEM node) const
109107{
110108 ExpandOrCollpase (node, TVE_EXPAND);
111109}
112110
113- void TreeViewCtrl::Collapse (HTREEITEM node)
111+ void TreeViewCtrl::Collapse (HTREEITEM node) const
114112{
115113 ExpandOrCollpase (node, TVE_COLLAPSE);
116114}
117115
118- void TreeViewCtrl::ExpandOrCollpase (HTREEITEM node, UINT_PTR code)
116+ void TreeViewCtrl::ExpandOrCollpase (HTREEITEM node, UINT_PTR code) const
119117{
120118 TreeView_Expand (m_hTree, node, code);
121119}
122120
123- BOOL TreeViewCtrl::ScreenToTreeView (LPPOINT lpPoint)
121+ BOOL TreeViewCtrl::ScreenToTreeView (LPPOINT lpPoint) const
124122{
125123 return ScreenToClient (m_hTree, lpPoint);
126124}
127125
128- HTREEITEM TreeViewCtrl::HitTest (LPTVHITTESTINFO lpHTInfo)
126+ HTREEITEM TreeViewCtrl::HitTest (LPTVHITTESTINFO lpHTInfo) const
129127{
130128 return TreeView_HitTest (m_hTree, lpHTInfo);
131129}
132130
133- HTREEITEM TreeViewCtrl::GetRoot ()
131+ HTREEITEM TreeViewCtrl::GetRoot () const
134132{
135133 return TreeView_GetRoot (m_hTree);
136134}
@@ -150,7 +148,7 @@ bool TreeViewCtrl::HasChild(HTREEITEM hti) const
150148 return htiChild ? true : false ;
151149}
152150
153- auto TreeViewCtrl::GetNodeName (HTREEITEM hti, bool removeTrailingCount) -> std::wstring
151+ auto TreeViewCtrl::GetNodeName (HTREEITEM hti, bool removeTrailingCount) const -> std::wstring
154152{
155153 if (!hti)
156154 return TEXT (" " );
@@ -197,7 +195,7 @@ auto TreeViewCtrl::GetNodeName(HTREEITEM hti, bool removeTrailingCount) -> std::
197195 return retVal;
198196}
199197
200- auto TreeViewCtrl::GetNodeKey (HTREEITEM hti) -> std::wstring
198+ auto TreeViewCtrl::GetNodeKey (HTREEITEM hti) const -> std::wstring
201199{
202200 std::wstring retVal = GetNodeName (hti, true );
203201
@@ -209,7 +207,7 @@ auto TreeViewCtrl::GetNodeKey(HTREEITEM hti) -> std::wstring
209207 return retVal;
210208}
211209
212- auto TreeViewCtrl::GetNodeValue (HTREEITEM hti) -> std::wstring
210+ auto TreeViewCtrl::GetNodeValue (HTREEITEM hti) const -> std::wstring
213211{
214212 std::wstring retVal = GetNodeName (hti, true );
215213
@@ -221,7 +219,7 @@ auto TreeViewCtrl::GetNodeValue(HTREEITEM hti) -> std::wstring
221219 return retVal;
222220}
223221
224- auto TreeViewCtrl::GetNodePath (HTREEITEM hti) -> std::wstring
222+ auto TreeViewCtrl::GetNodePath (HTREEITEM hti) const -> std::wstring
225223{
226224 std::wstring wstrJsonPath;
227225 HTREEITEM hitTravel = hti;
@@ -276,7 +274,7 @@ void TreeViewCtrl::SetSelection(HTREEITEM hItem) const
276274 TreeView_SelectItem (m_hTree, hItem);
277275}
278276
279- bool TreeViewCtrl::IsItemVisible (HTREEITEM hti)
277+ bool TreeViewCtrl::IsItemVisible (HTREEITEM hti) const
280278{
281279 RECT rect = {};
282280 BOOL ret = TreeView_GetItemRect (m_hTree, hti, &rect, FALSE );
@@ -286,7 +284,7 @@ bool TreeViewCtrl::IsItemVisible(HTREEITEM hti)
286284 return true ;
287285}
288286
289- HTREEITEM TreeViewCtrl::GetParentItem (HTREEITEM hti)
287+ HTREEITEM TreeViewCtrl::GetParentItem (HTREEITEM hti) const
290288{
291289 return TreeView_GetParent (m_hTree, hti);
292290}
@@ -298,7 +296,7 @@ HTREEITEM TreeViewCtrl::GetParentItem(HTREEITEM hti)
298296 * If current item has no child and no sibling, next will be its parent's (parent's parent's ...) sibling item.
299297 * If current item's parent is ROOT and has no sibling item, it will return NULL.
300298 */
301- HTREEITEM TreeViewCtrl::NextItem (HTREEITEM htiCurrent, HTREEITEM htiNextRoot)
299+ HTREEITEM TreeViewCtrl::NextItem (HTREEITEM htiCurrent, HTREEITEM htiNextRoot) const
302300{
303301 HTREEITEM htiNext = nullptr ;
304302
0 commit comments