gtransm/gui/modeDirCtrl.h
2025-04-05 21:58:23 +08:00

40 lines
838 B
C++

#ifndef MODEDIRCTRL_H
#define MODEDIRCTRL_H
#include "transmhandler.h"
#include <wx/treectrl.h>
#include <wx/wx.h>
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