94 template <
class ElementComparator>
105 void removeSubItem (
int index,
bool deleteItem =
true);
122 template <
class ElementComparator>
155 void setOpen (
bool shouldBeOpen);
179 void setOpenness (Openness newOpenness);
192 void setSelected (
bool shouldBeSelected,
193 bool deselectOtherItemsFirst,
216 void repaintItem()
const;
236 void setLinesDrawnForSubItems (
bool shouldDrawLines)
noexcept;
358 Colour backgroundColour,
bool isMouseOver);
400 virtual void itemDoubleClicked (
const MouseEvent&);
407 virtual void itemSelectionChanged (
bool isNowSelected);
410 virtual void ownerViewChanged (
TreeView* newOwner);
416 virtual String getTooltip();
427 virtual String getAccessibilityName();
445 virtual var getDragSourceDescription();
508 void setDrawsInLeftMargin (
bool canDrawInLeftMargin)
noexcept;
521 void setDrawsInRightMargin (
bool canDrawInRightMargin)
noexcept;
542 std::unique_ptr<XmlElement> getOpennessState()
const;
554 void restoreOpennessState (
const XmlElement& xml);
697 void deleteRootItem();
705 void setRootItemVisible (
bool shouldBeVisible);
720 void setDefaultOpenness (
bool isOpenByDefault);
738 void setMultiSelectEnabled (
bool canMultiSelect);
750 void setOpenCloseButtonsVisible (
bool shouldBeVisible);
760 void clearSelectedItems();
769 int getNumSelectedItems (
int maximumDepthToSearchTo = -1)
const noexcept;
778 void moveSelectedRow (
int deltaRows);
785 int getNumRowsInTree()
const;
816 void setIndentSize (
int newIndentSize);
858 void restoreOpennessState (
const XmlElement& newState,
bool restoreStoredSelection);
933 class TreeAccessibilityHandler;
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_Colour.h:38
Definition juce_Component.h:36
String componentName
Definition juce_Component.h:2534
Component() noexcept
Definition juce_Component.cpp:517
bool isMouseOver(bool includeChildren=false) const
Definition juce_Component.cpp:3159
Definition juce_DragAndDropTarget.h:54
Definition juce_DragAndDropTarget.h:46
Definition juce_FileDragAndDropTarget.h:37
Definition juce_GraphicsContext.h:45
Definition juce_KeyPress.h:40
Definition juce_Line.h:47
Definition juce_MouseEvent.h:39
Definition juce_OwnedArray.h:51
Definition juce_Rectangle.h:67
Definition juce_StringArray.h:35
Definition juce_String.h:53
Definition juce_TreeView.cpp:256
Definition juce_TreeView.cpp:1252
Definition juce_TreeView.cpp:45
Definition juce_TreeView.cpp:1291
Definition juce_TreeView.cpp:677
Definition juce_TreeView.h:657
bool isInterestedInFileDrag(const StringArray &) override
Definition juce_TreeView.cpp:1390
bool rootItemVisible
Definition juce_TreeView.h:954
void showDragHighlight(const InsertPoint &) noexcept
Definition juce_TreeView.cpp:1316
void filesDropped(const StringArray &, int, int) override
Definition juce_TreeView.cpp:1410
std::unique_ptr< TargetGroupHighlight > dragTargetGroupHighlight
Definition juce_TreeView.h:952
void colourChanged() override
Definition juce_TreeView.cpp:842
ColourIds
Definition juce_TreeView.h:869
@ dragAndDropIndicatorColourId
Definition juce_TreeView.h:872
@ oddItemsColourId
Definition juce_TreeView.h:874
@ linesColourId
Definition juce_TreeView.h:871
@ evenItemsColourId
Definition juce_TreeView.h:875
@ selectedItemBackgroundColourId
Definition juce_TreeView.h:873
@ backgroundColourId
Definition juce_TreeView.h:870
TreeViewItem * getRootItem() const noexcept
Definition juce_TreeView.h:691
void moveOutOfSelectedItem()
Definition juce_TreeView.cpp:1093
TreeViewItem * rootItem
Definition juce_TreeView.h:950
void updateVisibleItems()
Definition juce_TreeView.cpp:1177
TreeView(const String &componentName={})
Definition juce_TreeView.cpp:776
void handleDrag(const StringArray &, const SourceDetails &)
Definition juce_TreeView.cpp:1339
void fileDragMove(const StringArray &, int, int) override
Definition juce_TreeView.cpp:1400
bool multiSelectEnabled
Definition juce_TreeView.h:954
bool areOpenCloseButtonsVisible() const noexcept
Definition juce_TreeView.h:756
void resized() override
Definition juce_TreeView.cpp:1004
std::unique_ptr< AccessibilityHandler > createAccessibilityHandler() override
Definition juce_TreeView.cpp:1441
void paint(Graphics &) override
Definition juce_TreeView.cpp:999
void itemDragEnter(const SourceDetails &) override
Definition juce_TreeView.cpp:1420
friend class TreeViewItem
Definition juce_TreeView.h:926
int indentSize
Definition juce_TreeView.h:953
bool isInterestedInDragSource(const SourceDetails &) override
Definition juce_TreeView.cpp:1415
bool openCloseButtonsVisible
Definition juce_TreeView.h:954
void handleDrop(const StringArray &, const SourceDetails &)
Definition juce_TreeView.cpp:1365
bool keyPressed(const KeyPress &) override
Definition juce_TreeView.cpp:1159
std::unique_ptr< InsertPointHighlight > dragInsertPointHighlight
Definition juce_TreeView.h:951
void fileDragEnter(const StringArray &, int, int) override
Definition juce_TreeView.cpp:1395
bool isMultiSelectEnabled() const noexcept
Definition juce_TreeView.h:744
void updateButtonUnderMouse(const MouseEvent &)
void itemDropped(const SourceDetails &) override
Definition juce_TreeView.cpp:1435
void enablementChanged() override
Definition juce_TreeView.cpp:1010
bool areItemsOpenByDefault() const noexcept
Definition juce_TreeView.h:726
void moveByPages(int)
Definition juce_TreeView.cpp:1128
bool defaultOpenness
Definition juce_TreeView.h:954
void itemDragMove(const SourceDetails &) override
Definition juce_TreeView.cpp:1425
void fileDragExit(const StringArray &) override
Definition juce_TreeView.cpp:1405
std::unique_ptr< TreeViewport > viewport
Definition juce_TreeView.h:949
void itemsChanged() noexcept
bool isRootItemVisible() const noexcept
Definition juce_TreeView.h:711
void hideDragHighlight() noexcept
Definition juce_TreeView.cpp:1333
void itemDragExit(const SourceDetails &) override
Definition juce_TreeView.cpp:1430
bool toggleOpenSelectedItem()
Definition juce_TreeView.cpp:1079
void moveIntoSelectedItem()
Definition juce_TreeView.cpp:1117
void setRootItem(TreeViewItem *newRootItem)
Definition juce_TreeView.cpp:792
OpennessRestorer(TreeViewItem &)
Definition juce_TreeView.cpp:2111
std::unique_ptr< XmlElement > oldOpenness
Definition juce_TreeView.h:603
TreeViewItem & treeViewItem
Definition juce_TreeView.h:602
Definition juce_TreeView.h:48
virtual bool canBeSelected() const
Definition juce_TreeView.h:307
TreeView * getOwnerView() const noexcept
Definition juce_TreeView.h:130
TreeViewItem * parentItem
Definition juce_TreeView.h:633
virtual String getUniqueName() const
Definition juce_TreeView.cpp:1484
TreeViewItem * getSelectedItemWithIndex(int) noexcept
Definition juce_TreeView.cpp:1939
friend class TreeView
Definition juce_TreeView.h:610
TreeViewItem * getTopLevelItem() noexcept
Definition juce_TreeView.cpp:1885
bool drawLinesSet
Definition juce_TreeView.h:638
bool isFullyOpen() const noexcept
Definition juce_TreeView.cpp:1615
void clearSubItems()
Definition juce_TreeView.cpp:1503
void restoreToDefaultOpenness()
Definition juce_TreeView.cpp:1627
void sortSubItems(ElementComparator &comparator)
Definition juce_TreeView.h:123
int getNumSubItems() const noexcept
Definition juce_TreeView.cpp:1493
void addSubItemSorted(ElementComparator &comparator, TreeViewItem *newItem)
Definition juce_TreeView.h:95
virtual bool mightContainSubItems()=0
bool removeSubItemFromList(int, bool)
Definition juce_TreeView.cpp:1569
virtual int getItemWidth() const
Definition juce_TreeView.h:294
TreeViewItem * getDeepestOpenParentItem() noexcept
Definition juce_TreeView.cpp:1814
virtual std::unique_ptr< Component > createItemComponent()
Definition juce_TreeView.h:329
int countSelectedItemsRecursively(int) const noexcept
Definition juce_TreeView.cpp:1928
void removeAllSubItemsFromList()
Definition juce_TreeView.cpp:1519
OwnedArray< TreeViewItem > subItems
Definition juce_TreeView.h:634
TreeView * ownerView
Definition juce_TreeView.h:632
int y
Definition juce_TreeView.h:637
TreeViewItem * findItemFromIdentifierString(const String &)
Definition juce_TreeView.cpp:2009
virtual void itemOpennessChanged(bool isNowOpen)
Definition juce_TreeView.cpp:1489
void updatePositions(int)
Definition juce_TreeView.cpp:1792
TreeViewItem()
Definition juce_TreeView.cpp:1472
void deselectAllRecursively(TreeViewItem *)
Definition juce_TreeView.cpp:1637
bool drawLinesInside
Definition juce_TreeView.h:638
virtual int getItemHeight() const
Definition juce_TreeView.h:302
std::unique_ptr< XmlElement > getOpennessState() const
Definition juce_TreeView.cpp:2069
bool drawsInLeftMargin
Definition juce_TreeView.h:639
int getIndentX() const noexcept
Definition juce_TreeView.cpp:1841
virtual bool customComponentUsesTreeViewMouseHandler() const
Definition juce_TreeView.h:371
bool areLinesDrawn() const
Definition juce_TreeView.cpp:1867
void addSubItem(TreeViewItem *newItem, int insertPosition=-1)
Definition juce_TreeView.cpp:1525
int itemHeight
Definition juce_TreeView.h:637
void setOwnerView(TreeView *) noexcept
Definition juce_TreeView.cpp:1830
TreeViewItem * getSubItem(int index) const noexcept
Definition juce_TreeView.cpp:1498
void draw(Graphics &, int, bool)
Definition juce_TreeView.cpp:2123
TreeViewItem * getParentItem() const noexcept
Definition juce_TreeView.h:133
int totalWidth
Definition juce_TreeView.h:637
Openness
Definition juce_TreeView.h:159
int getNumRows() const noexcept
Definition juce_TreeView.cpp:1891
TreeViewItem * getItemOnRow(int) noexcept
Definition juce_TreeView.cpp:1902
bool drawsInRightMargin
Definition juce_TreeView.h:639
bool redrawNeeded
Definition juce_TreeView.h:638
int uid
Definition juce_TreeView.h:637
int totalHeight
Definition juce_TreeView.h:637
bool selected
Definition juce_TreeView.h:638
int itemWidth
Definition juce_TreeView.h:637
Openness openness
Definition juce_TreeView.h:636
Definition juce_Viewport.h:47
Definition juce_XmlElement.h:83
Definition juce_Variant.h:42
int g
Definition inflate.c:1573
static int int height
Definition pugl.h:1594
static int width
Definition pugl.h:1593
#define JUCE_API
Definition juce_StandardHeader.h:152
static char ** files
Definition misc.c:28
Definition carla_juce.cpp:31
static int findInsertIndexInSortedArray(ElementComparator &comparator, ElementType *const array, const ElementType newElement, int firstElement, int lastElement)
Definition juce_ElementComparator.h:126
NotificationType
Definition juce_NotificationType.h:32
@ sendNotification
Definition juce_NotificationType.h:34
Definition juce_Uuid.h:141
#define true
Definition ordinals.h:82
#define false
Definition ordinals.h:83
Definition juce_TreeView.cpp:1184
Definition juce_TreeView.h:883
virtual int getTreeViewIndentSize(TreeView &)=0
virtual ~LookAndFeelMethods()=default
virtual void drawTreeviewPlusMinusBox(Graphics &, const Rectangle< float > &area, Colour backgroundColour, bool isItemOpen, bool isMouseOver)=0
virtual bool areLinesDrawnForTreeView(TreeView &)=0
#define const
Definition zconf.h:137