Browse Source

TreeView key navigation fix.

tags/2021-05-28
jules 13 years ago
parent
commit
d12fa83a7e
1 changed files with 12 additions and 5 deletions
  1. +12
    -5
      modules/juce_gui_basics/widgets/juce_TreeView.cpp

+ 12
- 5
modules/juce_gui_basics/widgets/juce_TreeView.cpp View File

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


Loading…
Cancel
Save