gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

weTablesTreeItem.h (1161B)


      1 #pragma once
      2 
      3 #include "weTreeItem.h"
      4 
      5 #include "baseLib/event.h"
      6 
      7 #include "xtLib/xtId.h"
      8 
      9 namespace xtJucePlugin
     10 {
     11 	class WaveEditor;
     12 
     13 	class TablesTreeItem : public TreeItem
     14 	{
     15 	public:
     16 		TablesTreeItem(WaveEditor& _editor, xt::TableId _tableIndex);
     17 
     18 		bool mightContainSubItems() override { return false; }
     19 
     20 		void itemSelectionChanged(bool _isNowSelected) override;
     21 
     22 		juce::var getDragSourceDescription() override;
     23 		bool isInterestedInDragSource(const juce::DragAndDropTarget::SourceDetails& dragSourceDetails) override;
     24 		void itemDropped(const juce::DragAndDropTarget::SourceDetails& dragSourceDetails, int insertIndex) override;
     25 
     26 		bool isInterestedInFileDrag(const juce::StringArray& files) override;
     27 		void filesDropped(const juce::StringArray& files, int insertIndex) override;
     28 
     29 		void itemClicked(const juce::MouseEvent&) override;
     30 
     31 		const auto& getTableId() const { return m_index; }
     32 
     33 		juce::Colour getTextColor(const juce::Colour _colour) override;
     34 	private:
     35 		void onTableChanged(xt::TableId _index);
     36 		void onTableChanged();
     37 
     38 		WaveEditor& m_editor;
     39 		const xt::TableId m_index;
     40 		baseLib::EventListener<xt::TableId> m_onTableChanged;
     41 	};
     42 }