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 }