More encapsulation and add new class Signal for handling custom events.

This commit is contained in:
apoorv569
2021-12-13 23:42:12 +05:30
parent 7dd7f2b3c1
commit 9e0be8f55a
31 changed files with 5008 additions and 2340 deletions
+44
View File
@@ -0,0 +1,44 @@
#include "GUI/DirectoryBrowser.hpp"
#include "Utility/Paths.hpp"
#include "Utility/ControlIDs.hpp"
#include "Utility/Log.hpp"
#include <wx/dataobj.h>
#include <wx/dnd.h>
cDirectoryBrowser::cDirectoryBrowser(wxWindow* window)
: wxGenericDirCtrl(window, BC_DirCtrl, wxDirDialogDefaultFolderStr, wxDefaultPosition,
wxDefaultSize, wxDIRCTRL_SHOW_FILTERS,
_("All files|*|Ogg files (*.ogg)|*.ogg|Wav files (*.wav)|*.wav|"
"Flac files (*.flac)|*.flac"), 0)
{
SetPath(USER_HOME_DIR);
Bind(wxEVT_DIRCTRL_FILEACTIVATED, &cDirectoryBrowser::OnClickDirCtrl, this, BC_DirCtrl);
Bind(wxEVT_TREE_BEGIN_DRAG, &cDirectoryBrowser::OnDragFromDirCtrl, this, this->GetTreeCtrl()->GetId());
}
void cDirectoryBrowser::OnClickDirCtrl(wxCommandEvent& event)
{
wxArrayString path;
path.push_back(this->GetFilePath());
// TODO
// AddSamples(path);
}
void cDirectoryBrowser::OnDragFromDirCtrl(wxTreeEvent& event)
{
wxFileDataObject file_data;
file_data.AddFile(this->GetPath(event.GetItem()));
wxDropSource drop_source(this);
drop_source.SetData(file_data);
// LogDragResult(drop_source.DoDragDrop());
}
cDirectoryBrowser::~cDirectoryBrowser()
{
}