#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