77 lines
1.4 KiB
C
77 lines
1.4 KiB
C
|
|
||
|
|
||
|
#ifndef TNZ_FXBROWSER_INCLUDED
|
||
|
#define TNZ_FXBROWSER_INCLUDED
|
||
|
|
||
|
#include "tw/tw.h"
|
||
|
#include "tw/treeview.h"
|
||
|
//#include "tfilepath.h"
|
||
|
|
||
|
// forward declaration
|
||
|
class TFx;
|
||
|
class TFilePath;
|
||
|
|
||
|
#undef DVAPI
|
||
|
#undef DVVAR
|
||
|
#ifdef TWIN_EXPORTS
|
||
|
#define DVAPI DV_EXPORT_API
|
||
|
#define DVVAR DV_EXPORT_VAR
|
||
|
#else
|
||
|
#define DVAPI DV_IMPORT_API
|
||
|
#define DVVAR DV_IMPORT_VAR
|
||
|
#endif
|
||
|
|
||
|
//--------------------------------------------------------------------
|
||
|
|
||
|
class FxBuilder
|
||
|
{
|
||
|
public:
|
||
|
virtual ~FxBuilder() {}
|
||
|
virtual TFx *create() = 0;
|
||
|
};
|
||
|
|
||
|
//--------------------------------------------------------------------
|
||
|
|
||
|
class DVAPI TFxBrowser : public TTreeView
|
||
|
{
|
||
|
public:
|
||
|
class DoubleClickListener
|
||
|
{
|
||
|
public:
|
||
|
virtual void onDoubleClick() = 0;
|
||
|
virtual ~DoubleClickListener() {}
|
||
|
};
|
||
|
|
||
|
class FxLoader;
|
||
|
class MacroFxFolderItem;
|
||
|
|
||
|
private:
|
||
|
string m_selectedFxId;
|
||
|
DoubleClickListener *m_doubleClickListener;
|
||
|
FxLoader *m_fxLoader;
|
||
|
MacroFxFolderItem *m_macroFxFolderItem;
|
||
|
|
||
|
public:
|
||
|
TFxBrowser(
|
||
|
TWidget *parent,
|
||
|
const TFilePath &fxListPath,
|
||
|
const TFilePath &fxPresetFolder,
|
||
|
string name = "fxBrowser");
|
||
|
|
||
|
~TFxBrowser();
|
||
|
|
||
|
string getSelectedFxId() const;
|
||
|
FxBuilder *getSelectedFxBuilder() const;
|
||
|
|
||
|
void onSelect(TTreeViewItem *item);
|
||
|
void leftButtonDoubleClick(const TMouseEvent &e);
|
||
|
void rightButtonDown(const TMouseEvent &) {}
|
||
|
void mouseWheel(const TMouseEvent &, int wheel);
|
||
|
|
||
|
void setDoubleClickListener(DoubleClickListener *listener);
|
||
|
|
||
|
void updatePresets();
|
||
|
};
|
||
|
|
||
|
#endif
|