TreeViewItem::setLinesDrawnForSubItems()


#1

Hi,

There is one thing strange in using TreeViewItem::setLinesDrawnForSubItems() method. I tried to modify the look of the TreeView to get the horizontal/vertical triangles instead of plus/minus signs and to get the TreeView without any lines connecting the nodes (just the triangles indicating open state).

LookAndFeel::drawTreeviewPlusMinusBox did the job with the triangles but when I called setLinesDrawnForSubItems (false) in my class derived from TreeViewItem all the lines dissapeared but the horizontal line on the left side of the root item still exists.

I dig a little and it’s probably about the l.1008 in the juce_TreeView.cpp. I modified the condition in ‘if’ statement to:

if ((parentItem == 0 && drawLinesInside) || (parentItem != 0 && parentItem->drawLinesInside)) // if (parentItem == 0 || parentItem->drawLinesInside)

and it seems to be good now. In original version this line was always present on the left side of the root item.

Maybe it’s good to change it in the repository, please :slight_smile:

Cheers,
Przemek


#2

yes, I think you’re right about that - thanks!