tagtreeitem.h (1207B)
1 #pragma once 2 3 #include "treeitem.h" 4 #include "types.h" 5 6 namespace jucePluginEditorLib::patchManager 7 { 8 class TagTreeItem : public TreeItem 9 { 10 public: 11 TagTreeItem(PatchManager& _pm, GroupType _type, const std::string& _tag); 12 13 bool mightContainSubItems() override 14 { 15 return false; 16 } 17 18 auto getGroupType() const { return m_group; } 19 20 bool isInterestedInDragSource(const juce::DragAndDropTarget::SourceDetails& dragSourceDetails) override; 21 bool isInterestedInPatchList(const ListModel* _list, const std::vector<pluginLib::patchDB::PatchPtr>& _indices) override; 22 void patchesDropped(const std::vector<pluginLib::patchDB::PatchPtr>& _patches, const SavePatchDesc* _savePatchDesc = nullptr) override; 23 void onParentSearchChanged(const pluginLib::patchDB::SearchRequest& _parentSearchRequest) override; 24 25 static void modifyTags(PatchManager& _pm, pluginLib::patchDB::TagType _type, const std::string& _tag, const std::vector<pluginLib::patchDB::PatchPtr>& _patches); 26 27 const auto& getTag() const { return m_tag; } 28 29 void itemClicked(const juce::MouseEvent&) override; 30 31 pluginLib::patchDB::Color getColor() const override; 32 private: 33 const GroupType m_group; 34 const std::string m_tag; 35 }; 36 }