#ifndef MODEDIRCTRL_H #define MODEDIRCTRL_H #include "transmhandler.h" #include #include class CModeDirCtrl : public wxTreeCtrl { public: CModeDirCtrl(wxWindow* parent, wxWindowID id = wxID_ANY); ~CModeDirCtrl() override; public: bool SetRootPath(const wxString& path); void RefreshCurrent(); protected: class TreeItemData : public wxTreeItemData { public: explicit TreeItemData(const wxString& path) : path_(path) { } wxString path_; }; void BuildTree(); void AddChildren(wxTreeItemId parent); wxString GetFullPath(wxTreeItemId item) const; void OnItemActivated(wxTreeEvent& event); void OnItemExpanding(wxTreeEvent& event); private: wxString rootPath_{}; wxImageList* imageList_{}; }; #endif // MODEDIRCTRL_H