| #pragma once |
| |
| #ifndef TNZ_FXBROWSER_INCLUDED |
| #define TNZ_FXBROWSER_INCLUDED |
| |
| #include "tw/tw.h" |
| #include "tw/treeview.h" |
| |
| |
| |
| 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 |