here is how i add tabs to my TabComponent which inherits TabbedComponent and this is the only function in my class this class (and constructor)
void TabComponent::newTab(String tabName, Vector2i cellCount, Vector2i cellSize)
{
// tabs is a vector of MyViewport
tabs.emplace_back(new MyViewport(cellCount, cellSize));
std::size_t size = tabs.size() - 1;
addAndMakeVisible(*tabs[size]);
addTab(tabName, Colour(123, 123, 123), tabs[size], false, size);
}
this is my class where i inherit viewport.
class MyViewport : public Viewport
{
public:
MyViewport(Vector2i cellCount, Vector2i cellSize) : viewportContentComponent(cellCount, cellSize)
{
setViewedComponent(&viewportContentComponent, true);
addAndMakeVisible(viewportContentComponent);
}
private:
ViewportContentComponent viewportContentComponent;
};
here is my viewportContentComponent , it is used to be the content component of viewport and it also handles its own child components.
class ViewportContentComponent : public Component
{
public:
ViewportContentComponent(Vector2i cellCount, Vector2i pCellSize) { /* init members, addAndMakeVisible */ }
void resized() { /* positioning of textbuttons (cells vector) */ }
private:
std::vector<ScopedPointer<TextButton>> cells;
Vector2i cellSize;
};
but when i run with that code, the horizontal scroller only appears when i move the vertical scroller to bottom
and vertical scroller only appears when i move the horizontal scroller to the right.
it looks like the viewport is bigger than the TabComponent ( my class that inherits TabbedComponent ), but i never done anything with its size as you can see in the code.
i tried logging the viewport width and height and it outputs 398x569 while its content component is 4000x4000 so with that output viewport isnt bigger than its content component