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

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 }