First step to new file pane
This commit is contained in:
parent
4baf41e46b
commit
38eef11db2
@ -1,5 +1,12 @@
|
|||||||
#include "src/widgets/FilePane.h"
|
#include "src/widgets/FilePane.h"
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
Icon_File,
|
||||||
|
Icon_FolderClosed,
|
||||||
|
Icon_FolderOpened
|
||||||
|
};
|
||||||
|
|
||||||
FilePane::FilePane(
|
FilePane::FilePane(
|
||||||
wxWindow* parent,
|
wxWindow* parent,
|
||||||
wxWindowID id,
|
wxWindowID id,
|
||||||
@ -13,14 +20,16 @@ FilePane::FilePane(
|
|||||||
this->InitImageList();
|
this->InitImageList();
|
||||||
this->SetImageList(this->img_list);
|
this->SetImageList(this->img_list);
|
||||||
|
|
||||||
this->dir->Open(".");
|
const wxString defaultPath = wxString(".");
|
||||||
|
wxTreeListItem root = this->GetRootItem();
|
||||||
|
this->CreateTree(defaultPath, root);
|
||||||
|
|
||||||
this->AppendColumn("",
|
this->AppendColumn("",
|
||||||
wxCOL_WIDTH_AUTOSIZE,
|
wxCOL_WIDTH_AUTOSIZE,
|
||||||
wxALIGN_LEFT,
|
wxALIGN_LEFT,
|
||||||
wxCOL_RESIZABLE | wxCOL_SORTABLE);
|
wxCOL_RESIZABLE | wxCOL_SORTABLE);
|
||||||
|
|
||||||
wxTreeListItem root = this->GetRootItem();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FilePane::~FilePane()
|
FilePane::~FilePane()
|
||||||
@ -28,6 +37,21 @@ FilePane::~FilePane()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FilePane::CreateTree(const wxString &path, wxTreeListItem &root)
|
||||||
|
{
|
||||||
|
wxString *filename = new wxString("");
|
||||||
|
this->dir->Open(path);
|
||||||
|
|
||||||
|
this->dir->GetFirst(filename, wxEmptyString, wxDIR_DEFAULT | wxDIR_NO_FOLLOW);
|
||||||
|
|
||||||
|
this->AppendItem(root, *filename, Icon_FolderClosed, Icon_FolderOpened);
|
||||||
|
|
||||||
|
while (this->dir->GetNext(filename))
|
||||||
|
{
|
||||||
|
this->AppendItem(root, *filename, Icon_FolderClosed, Icon_FolderOpened);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void FilePane::InitImageList()
|
void FilePane::InitImageList()
|
||||||
{
|
{
|
||||||
wxSize iconSize = wxArtProvider::GetSizeHint(wxART_LIST);
|
wxSize iconSize = wxArtProvider::GetSizeHint(wxART_LIST);
|
||||||
|
@ -18,6 +18,7 @@ private:
|
|||||||
wxImageList *img_list = nullptr;
|
wxImageList *img_list = nullptr;
|
||||||
wxDir *dir = nullptr;
|
wxDir *dir = nullptr;
|
||||||
void InitImageList();
|
void InitImageList();
|
||||||
|
void CreateTree(const wxString &path, wxTreeListItem &root);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* TYRO_FILE_PANE_H */
|
#endif /* TYRO_FILE_PANE_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user