//==============================================================================
MainTabbedComponent::MainTabbedComponent (HostFilterComponent* owner_)
  : TabbedComponent (TabbedButtonBar::TabsAtBottom),
    owner (owner_),
    graph (0),
    mixer (0),
    surface (0),
    graphViewport (0)
{
    DBG ("MainTabbedComponent::MainTabbedComponent");

    setTabBarDepth (Config::getInstance ()->defaultTabThickness);
}
//==============================================================================
DemoContentComponent::DemoContentComponent (Component& mainComponent, std::function<void(bool)> callback)
    : TabbedComponent (TabbedButtonBar::Orientation::TabsAtTop),
      demoChangedCallback (callback)
{
    demoContent.reset (new DemoContent());
    addTab ("Demo",     Colours::transparentBlack, demoContent.get(), false);

   #if ! (JUCE_ANDROID || JUCE_IOS)
    codeContent.reset (new CodeContent());
    addTab ("Code",     Colours::transparentBlack, codeContent.get(), false);
   #endif

    addTab ("Settings", Colours::transparentBlack, new SettingsContent (dynamic_cast<MainComponent&> (mainComponent)), true);

    setTabBarDepth (40);
    lookAndFeelChanged();
}