Added CDockComponentsFactory for creation of components for the docking framework

This commit is contained in:
Uwe Kindler
2020-02-11 08:32:49 +01:00
parent a4ef161f4f
commit ff1439c719
8 changed files with 146 additions and 8 deletions

View File

@@ -0,0 +1,61 @@
//============================================================================
/// \file DockComponentsFactory.cpp
/// \author Uwe Kindler
/// \date 10.02.2020
/// \brief Implementation of DockComponentsFactory
//============================================================================
//============================================================================
// INCLUDES
//============================================================================
#include <DockComponentsFactory.h>
#include <QScopedPointer>
#include "DockWidgetTab.h"
#include "DockAreaTabBar.h"
#include "DockAreaTitleBar.h"
#include "DockWidget.h"
#include "DockAreaWidget.h"
namespace ads
{
static QScopedPointer<CDockComponentsFactory> DefaultFactory(new CDockComponentsFactory());
//============================================================================
CDockWidgetTab* CDockComponentsFactory::createDockWidgetTab(CDockWidget* DockWidget) const
{
return new CDockWidgetTab(DockWidget);
}
//============================================================================
CDockAreaTabBar* CDockComponentsFactory::createDockAreaTabBar(CDockAreaWidget* DockArea) const
{
return new CDockAreaTabBar(DockArea);
}
//============================================================================
CDockAreaTitleBar* CDockComponentsFactory::createDockAreaTitleBar(CDockAreaWidget* DockArea) const
{
return new CDockAreaTitleBar(DockArea);
}
//============================================================================
const CDockComponentsFactory* CDockComponentsFactory::defaultFactory()
{
return DefaultFactory.get();
}
//============================================================================
void CDockComponentsFactory::setDefaultFactory(CDockComponentsFactory* Factory)
{
DefaultFactory.reset(Factory);
}
} // namespace ads
//---------------------------------------------------------------------------
// EOF DockComponentsFactory.cpp