1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-18 00:54:19 +00:00

TreeView: Allow built-in mouse handling to be enabled/disabled for custom components

This commit is contained in:
reuk 2022-01-19 13:44:11 +00:00
parent ef7c3c6947
commit b2f318a775
No known key found for this signature in database
GPG key ID: 9ADCD339CFC98A11
2 changed files with 8 additions and 1 deletions

View file

@ -344,7 +344,7 @@ public:
auto newComp = std::make_unique<ItemComponent> (*treeItem);
addAndMakeVisible (*newComp);
newComp->addMouseListener (this, false);
newComp->addMouseListener (this, treeItem->customComponentUsesTreeViewMouseHandler());
componentsToKeep.insert (newComp.get());
itemComponents.push_back (std::move (newComp));

View file

@ -363,6 +363,13 @@ public:
/** Draws the line that extends vertically up towards one of its parents, or down to one of its children. */
virtual void paintVerticalConnectingLine (Graphics&, const Line<float>& line);
/** This should return true if you want to use a custom component, and also use
the TreeView's built-in mouse handling support, enabling drag-and-drop,
itemClicked() and itemDoubleClicked(); return false if the component should
consume all mouse clicks.
*/
virtual bool customComponentUsesTreeViewMouseHandler() const { return false; }
/** Called when the user clicks on this item.
If you're using createItemComponent() to create a custom component for the