Browse Source

Added method Viewport::recreateScrollbars()

tags/2021-05-28
jules 8 years ago
parent
commit
e8af67182d
2 changed files with 19 additions and 6 deletions
  1. +16
    -6
      modules/juce_gui_basics/layout/juce_Viewport.cpp
  2. +3
    -0
      modules/juce_gui_basics/layout/juce_Viewport.h

+ 16
- 6
modules/juce_gui_basics/layout/juce_Viewport.cpp View File

@@ -35,14 +35,10 @@ Viewport::Viewport (const String& name) : Component (name)
scrollBarThickness = getLookAndFeel().getDefaultScrollbarWidth();
addChildComponent (verticalScrollBar = createScrollBarComponent (true));
addChildComponent (horizontalScrollBar = createScrollBarComponent (false));
getVerticalScrollBar().addListener (this);
getHorizontalScrollBar().addListener (this);
setInterceptsMouseClicks (false, true);
setWantsKeyboardFocus (true);
recreateScrollbars();
}
Viewport::~Viewport()
@@ -97,6 +93,20 @@ void Viewport::setViewedComponent (Component* const newViewedComponent, const bo
}
}
void Viewport::recreateScrollbars()
{
verticalScrollBar = nullptr;
horizontalScrollBar = nullptr;
addChildComponent (verticalScrollBar = createScrollBarComponent (true));
addChildComponent (horizontalScrollBar = createScrollBarComponent (false));
getVerticalScrollBar().addListener (this);
getHorizontalScrollBar().addListener (this);
resized();
}
int Viewport::getMaximumVisibleWidth() const { return contentHolder.getWidth(); }
int Viewport::getMaximumVisibleHeight() const { return contentHolder.getHeight(); }


+ 3
- 0
modules/juce_gui_basics/layout/juce_Viewport.h View File

@@ -238,6 +238,9 @@ public:
*/
ScrollBar& getHorizontalScrollBar() noexcept { return *horizontalScrollBar; }
/** Re-instantiates the scrollbars, which is only really useful if you've overridden createScrollBarComponent(). */
void recreateScrollbars();
/** True if there's any off-screen content that could be scrolled vertically,
or false if everything is currently visible.
*/


Loading…
Cancel
Save