| @@ -413,7 +413,7 @@ class TreeView::TreeViewport : public Viewport | |||||
| public: | public: | ||||
| TreeViewport() noexcept : lastX (-1) {} | TreeViewport() noexcept : lastX (-1) {} | ||||
| void updateComponents (const bool triggerResize = false) | |||||
| void updateComponents (const bool triggerResize) | |||||
| { | { | ||||
| TreeViewContentComponent* const tvc = getContentComp(); | TreeViewContentComponent* const tvc = getContentComp(); | ||||
| @@ -440,6 +440,14 @@ public: | |||||
| return static_cast <TreeViewContentComponent*> (getViewedComponent()); | return static_cast <TreeViewContentComponent*> (getViewedComponent()); | ||||
| } | } | ||||
| bool keyPressed (const KeyPress& key) | |||||
| { | |||||
| TreeView* const tree = dynamic_cast <TreeView*> (getParentComponent()); | |||||
| return (tree != nullptr && tree->keyPressed (key)) | |||||
| || Viewport::keyPressed (key); | |||||
| } | |||||
| private: | private: | ||||
| int lastX; | int lastX; | ||||
| @@ -461,7 +469,6 @@ TreeView::TreeView (const String& name) | |||||
| { | { | ||||
| addAndMakeVisible (viewport); | addAndMakeVisible (viewport); | ||||
| viewport->setViewedComponent (new TreeViewContentComponent (*this)); | viewport->setViewedComponent (new TreeViewContentComponent (*this)); | ||||
| viewport->setWantsKeyboardFocus (false); | |||||
| setWantsKeyboardFocus (true); | setWantsKeyboardFocus (true); | ||||
| } | } | ||||
| @@ -742,8 +749,8 @@ void TreeView::scrollToKeepItemVisible (TreeViewItem* item) | |||||
| item = item->getDeepestOpenParentItem(); | item = item->getDeepestOpenParentItem(); | ||||
| int y = item->y; | |||||
| int viewTop = viewport->getViewPositionY(); | |||||
| const int y = item->y; | |||||
| const int viewTop = viewport->getViewPositionY(); | |||||
| if (y < viewTop) | if (y < viewTop) | ||||
| { | { | ||||
| @@ -857,7 +864,7 @@ void TreeView::recalculateIfNeeded() | |||||
| if (rootItem != nullptr) | if (rootItem != nullptr) | ||||
| rootItem->updatePositions (rootItemVisible ? 0 : -rootItem->itemHeight); | rootItem->updatePositions (rootItemVisible ? 0 : -rootItem->itemHeight); | ||||
| viewport->updateComponents(); | |||||
| viewport->updateComponents (false); | |||||
| if (rootItem != nullptr) | if (rootItem != nullptr) | ||||
| { | { | ||||