Renamed SideTabBar and DockWidgetSideTab into AutoHideSideBar and AutoHideTab for consistent naming

This commit is contained in:
Uwe Kindler 2022-11-01 12:06:59 +01:00
parent 2370d79ca6
commit 782af9a1fc
22 changed files with 221 additions and 224 deletions

View File

@ -27,6 +27,8 @@
//============================================================================
// INCLUDES
//============================================================================
#include <AutoHideSideBar.h>
#include <AutoHideTab.h>
#include "AutoHideDockContainer.h"
#include <QXmlStreamWriter>
@ -37,9 +39,7 @@
#include <QApplication>
#include "DockManager.h"
#include "DockWidgetSideTab.h"
#include "DockWidgetTab.h"
#include "SideTabBar.h"
#include "DockAreaWidget.h"
#include "DockingStateReader.h"
#include "ResizeHandle.h"
@ -110,7 +110,7 @@ struct AutoHideDockContainerPrivate
QBoxLayout* Layout;
CResizeHandle* ResizeHandle = nullptr;
QSize Size; // creates invalid size
QPointer<CDockWidgetSideTab> SideTab;
QPointer<CAutoHideTab> SideTab;
/**
* Private data constructor
@ -186,7 +186,7 @@ CAutoHideDockContainer::CAutoHideDockContainer(CDockManager* DockManager, SideBa
hide(); // auto hide dock container is initially always hidden
d->SideTabBarArea = area;
d->SideTab = componentsFactory()->createDockWidgetSideTab(nullptr);
connect(d->SideTab, &CDockWidgetSideTab::pressed, this, &CAutoHideDockContainer::toggleCollapseState);
connect(d->SideTab, &CAutoHideTab::pressed, this, &CAutoHideDockContainer::toggleCollapseState);
d->DockArea = new CDockAreaWidget(DockManager, parent);
d->DockArea->setObjectName("autoHideDockArea");
d->DockArea->setAutoHideDockContainer(this);
@ -275,14 +275,14 @@ CAutoHideDockContainer::~CAutoHideDockContainer()
}
//============================================================================
CSideTabBar* CAutoHideDockContainer::sideTabBar() const
CAutoHideSideBar* CAutoHideDockContainer::sideTabBar() const
{
return parentContainer()->sideTabBar(d->SideTabBarArea);
}
//============================================================================
CDockWidgetSideTab* CAutoHideDockContainer::sideTab() const
CAutoHideTab* CAutoHideDockContainer::sideTab() const
{
return d->SideTab;
}
@ -357,7 +357,7 @@ void CAutoHideDockContainer::cleanupAndDelete()
if (dockWidget)
{
auto SideTab = d->SideTab;
SideTab->removeFromSideTabBar();
SideTab->removeFromSideBar();
SideTab->setParent(dockWidget);
SideTab->hide();
}

View File

@ -31,9 +31,8 @@
//============================================================================
#include "ads_globals.h"
#include "DockWidgetSideTab.h"
#include <QSplitter>
#include "AutoHideTab.h"
class QXmlStreamWriter;
@ -43,7 +42,7 @@ struct AutoHideDockContainerPrivate;
class CDockManager;
class CDockWidget;
class CDockContainerWidget;
class CSideTabBar;
class CAutoHideSideBar;
class CDockAreaWidget;
class CDockingStateReader;
struct SideTabBarPrivate;
@ -58,7 +57,7 @@ class ADS_EXPORT CAutoHideDockContainer : public QFrame
private:
AutoHideDockContainerPrivate* d; ///< private data (pimpl)
friend struct AutoHideDockContainerPrivate;
friend CSideTabBar;
friend CAutoHideSideBar;
friend SideTabBarPrivate;
protected:
@ -93,12 +92,12 @@ public:
/**
* Get's the side tab bar
*/
CSideTabBar* sideTabBar() const;
CAutoHideSideBar* sideTabBar() const;
/**
* Returns the side tab
*/
CDockWidgetSideTab* sideTab() const;
CAutoHideTab* sideTab() const;
/**
* Get's the dock widget in this dock container

View File

@ -29,15 +29,14 @@
//============================================================================
// INCLUDES
//============================================================================
#include "SideTabBar.h"
#include <AutoHideSideBar.h>
#include <AutoHideTab.h>
#include <QBoxLayout>
#include <QStyleOption>
#include <QPainter>
#include <QXmlStreamWriter>
#include "DockContainerWidget.h"
#include "DockWidgetSideTab.h"
#include "DockWidgetTab.h"
#include "DockFocusController.h"
#include "AutoHideDockContainer.h"
@ -49,14 +48,14 @@ namespace ads
/**
* Private data class of CSideTabBar class (pimpl)
*/
struct SideTabBarPrivate
struct AutoHideSideBarPrivate
{
/**
* Private data constructor
*/
SideTabBarPrivate(CSideTabBar* _public);
AutoHideSideBarPrivate(CAutoHideSideBar* _public);
CSideTabBar* _this;
CAutoHideSideBar* _this;
CDockContainerWidget* ContainerWidget;
QBoxLayout* TabsLayout;
Qt::Orientation Orientation;
@ -69,19 +68,19 @@ struct SideTabBarPrivate
{
return Qt::Horizontal == Orientation;
}
}; // struct SideTabBarPrivate
}; // struct AutoHideSideBarPrivate
//============================================================================
SideTabBarPrivate::SideTabBarPrivate(CSideTabBar* _public) :
AutoHideSideBarPrivate::AutoHideSideBarPrivate(CAutoHideSideBar* _public) :
_this(_public)
{
}
//============================================================================
CSideTabBar::CSideTabBar(CDockContainerWidget* parent, SideBarLocation area) :
CAutoHideSideBar::CAutoHideSideBar(CDockContainerWidget* parent, SideBarLocation area) :
Super(parent),
d(new SideTabBarPrivate(this))
d(new AutoHideSideBarPrivate(this))
{
d->SideTabArea = area;
d->ContainerWidget = parent;
@ -114,12 +113,12 @@ CSideTabBar::CSideTabBar(CDockContainerWidget* parent, SideBarLocation area) :
//============================================================================
CSideTabBar::~CSideTabBar()
CAutoHideSideBar::~CAutoHideSideBar()
{
qDebug() << "~CSideTabBar() ";
// The SideTabeBar is not the owner of the tabs and to prevent deletion
// we set the parent here to nullptr to remove it from the children
auto Tabs = findChildren<CDockWidgetSideTab*>(QString(), Qt::FindDirectChildrenOnly);
auto Tabs = findChildren<CAutoHideTab*>(QString(), Qt::FindDirectChildrenOnly);
for (auto Tab : Tabs)
{
Tab->setParent(nullptr);
@ -129,10 +128,10 @@ CSideTabBar::~CSideTabBar()
//============================================================================
void CSideTabBar::insertSideTab(int Index, CDockWidgetSideTab* SideTab)
void CAutoHideSideBar::insertSideTab(int Index, CAutoHideTab* SideTab)
{
SideTab->installEventFilter(this);
SideTab->setSideTabBar(this);
SideTab->setSideBar(this);
SideTab->updateOrientationForArea(d->SideTabArea);
d->TabsLayout->insertWidget(Index, SideTab);
show();
@ -140,7 +139,7 @@ void CSideTabBar::insertSideTab(int Index, CDockWidgetSideTab* SideTab)
//============================================================================
CAutoHideDockContainer* CSideTabBar::insertDockWidget(int Index, CDockWidget* DockWidget)
CAutoHideDockContainer* CAutoHideSideBar::insertDockWidget(int Index, CDockWidget* DockWidget)
{
auto AutoHideContainer = new CAutoHideDockContainer(DockWidget, d->SideTabArea, d->ContainerWidget);
DockWidget->dockManager()->dockFocusController()->clearDockWidgetFocus(DockWidget);
@ -151,7 +150,7 @@ CAutoHideDockContainer* CSideTabBar::insertDockWidget(int Index, CDockWidget* Do
//============================================================================
void CSideTabBar::removeDockWidget(CDockWidget* DockWidget)
void CAutoHideSideBar::removeDockWidget(CDockWidget* DockWidget)
{
Q_UNUSED(DockWidget);
// TODO implement
@ -159,7 +158,7 @@ void CSideTabBar::removeDockWidget(CDockWidget* DockWidget)
//============================================================================
void CSideTabBar::removeSideTab(CDockWidgetSideTab* SideTab)
void CAutoHideSideBar::removeSideTab(CAutoHideTab* SideTab)
{
SideTab->removeEventFilter(this);
d->TabsLayout->removeWidget(SideTab);
@ -171,7 +170,7 @@ void CSideTabBar::removeSideTab(CDockWidgetSideTab* SideTab)
//============================================================================
bool CSideTabBar::event(QEvent* e)
bool CAutoHideSideBar::event(QEvent* e)
{
switch (e->type())
{
@ -211,7 +210,7 @@ bool CSideTabBar::event(QEvent* e)
//============================================================================
bool CSideTabBar::eventFilter(QObject *watched, QEvent *event)
bool CAutoHideSideBar::eventFilter(QObject *watched, QEvent *event)
{
if (event->type() != QEvent::ShowToParent)
{
@ -219,7 +218,7 @@ bool CSideTabBar::eventFilter(QObject *watched, QEvent *event)
}
// As soon as on tab is shhown, we need to show the side tab bar
auto Tab = qobject_cast<CDockWidgetSideTab*>(watched);
auto Tab = qobject_cast<CAutoHideTab*>(watched);
if (Tab)
{
show();
@ -229,7 +228,7 @@ bool CSideTabBar::eventFilter(QObject *watched, QEvent *event)
//============================================================================
void CSideTabBar::paintEvent(QPaintEvent* event)
void CAutoHideSideBar::paintEvent(QPaintEvent* event)
{
Q_UNUSED(event)
@ -241,35 +240,35 @@ void CSideTabBar::paintEvent(QPaintEvent* event)
//============================================================================
Qt::Orientation CSideTabBar::orientation() const
Qt::Orientation CAutoHideSideBar::orientation() const
{
return d->Orientation;
}
//============================================================================
CDockWidgetSideTab* CSideTabBar::tabAt(int index) const
CAutoHideTab* CAutoHideSideBar::tabAt(int index) const
{
return qobject_cast<CDockWidgetSideTab*>(d->TabsLayout->itemAt(index)->widget());
return qobject_cast<CAutoHideTab*>(d->TabsLayout->itemAt(index)->widget());
}
//============================================================================
int CSideTabBar::tabCount() const
int CAutoHideSideBar::tabCount() const
{
return d->TabsLayout->count();
}
//============================================================================
SideBarLocation CSideTabBar::sideTabBarArea() const
SideBarLocation CAutoHideSideBar::sideBarArea() const
{
return d->SideTabArea;
}
//============================================================================
void CSideTabBar::saveState(QXmlStreamWriter& s) const
void CAutoHideSideBar::saveState(QXmlStreamWriter& s) const
{
if (!tabCount())
{
@ -277,7 +276,7 @@ void CSideTabBar::saveState(QXmlStreamWriter& s) const
}
s.writeStartElement("SideBar");
s.writeAttribute("Area", QString::number(sideTabBarArea()));
s.writeAttribute("Area", QString::number(sideBarArea()));
s.writeAttribute("Tabs", QString::number(tabCount()));
for (auto i = 0; i < tabCount(); ++i)

View File

@ -1,5 +1,5 @@
#ifndef SideTabBarH
#define SideTabBarH
#ifndef AutoHideSideBarH
#define AutoHideSideBarH
/*******************************************************************************
** Qt Advanced Docking System
** Copyright (C) 2017 Uwe Kindler
@ -23,24 +23,24 @@
/// \file DockWidgetTab.h
/// \author Syarif Fakhri
/// \date 05.09.2022
/// \brief Declaration of CSideTabBar class
/// \brief Declaration of CAutoHideSideBar class
//============================================================================
//============================================================================
// INCLUDES
//============================================================================
#include <QFrame>
#include "DockWidgetSideTab.h"
#include "ads_globals.h"
#include "AutoHideTab.h"
class QXmlStreamWriter;
namespace ads
{
struct SideTabBarPrivate;
struct AutoHideSideBarPrivate;
class DockContainerWidgetPrivate;
class CDockContainerWidget;
class CDockWidgetSideTab;
class CAutoHideTab;
class CAutoHideDockContainer;
class CDockingStateReader;
@ -51,15 +51,15 @@ class CDockingStateReader;
* side bar is also hidden. As soon as one single tab becomes visible, this
* tab bar will be shown.
*/
class ADS_EXPORT CSideTabBar : public QFrame
class ADS_EXPORT CAutoHideSideBar : public QFrame
{
Q_OBJECT
Q_PROPERTY(int sideTabBarArea READ sideTabBarArea)
Q_PROPERTY(int sideBarArea READ sideBarArea)
Q_PROPERTY(Qt::Orientation orientation READ orientation)
private:
SideTabBarPrivate* d; ///< private data (pimpl)
friend struct SideTabBarPrivate;
AutoHideSideBarPrivate* d; ///< private data (pimpl)
friend struct AutoHideSideBarPrivate;
friend class DockWidgetSideTab;
friend DockContainerWidgetPrivate;
@ -79,22 +79,22 @@ public:
/**
* Default Constructor
*/
CSideTabBar(CDockContainerWidget* parent, SideBarLocation area);
CAutoHideSideBar(CDockContainerWidget* parent, SideBarLocation area);
/**
* Virtual Destructor
*/
virtual ~CSideTabBar();
virtual ~CAutoHideSideBar();
/**
* Inserts the given dock widget tab at the given position.
*/
void insertSideTab(int Index, CDockWidgetSideTab* SideTab);
void insertSideTab(int Index, CAutoHideTab* SideTab);
/**
* Removes the given DockWidgetSideTab from the tabbar
*/
void removeSideTab(CDockWidgetSideTab* SideTab);
void removeSideTab(CAutoHideTab* SideTab);
/**
* Insert dock widget
@ -114,7 +114,7 @@ public:
/*
* get the side tab widget at position, returns nullptr if it's out of bounds
*/
CDockWidgetSideTab* tabAt(int index) const;
CAutoHideTab* tabAt(int index) const;
/*
* Gets the count of the tab widgets
@ -124,7 +124,7 @@ public:
/**
* Getter for side tab bar area property
*/
SideBarLocation sideTabBarArea() const;
SideBarLocation sideBarArea() const;
Q_SIGNALS:
void sideTabAutoHideToggleRequested();

View File

@ -28,9 +28,8 @@
// INCLUDES
//============================================================================
#include <AutoHideDockContainer.h>
#include "DockWidgetSideTab.h"
#include "SideTabBar.h"
#include <AutoHideSideBar.h>
#include <AutoHideTab.h>
#include <QBoxLayout>
#include "DockAreaWidget.h"
@ -43,22 +42,22 @@ namespace ads
/**
* Private data class of CDockWidgetTab class (pimpl)
*/
struct DockWidgetSideTabPrivate
struct AutoHideTabPrivate
{
CDockWidgetSideTab* _this;
CAutoHideTab* _this;
CDockWidget* DockWidget = nullptr;
CSideTabBar* SideTabBar = nullptr;
CAutoHideSideBar* SideBar = nullptr;
Qt::Orientation Orientation{Qt::Vertical};
/**
* Private data constructor
*/
DockWidgetSideTabPrivate(CDockWidgetSideTab* _public);
AutoHideTabPrivate(CAutoHideTab* _public);
}; // struct DockWidgetTabPrivate
//============================================================================
DockWidgetSideTabPrivate::DockWidgetSideTabPrivate(CDockWidgetSideTab* _public) :
AutoHideTabPrivate::AutoHideTabPrivate(CAutoHideTab* _public) :
_this(_public)
{
@ -66,27 +65,27 @@ DockWidgetSideTabPrivate::DockWidgetSideTabPrivate(CDockWidgetSideTab* _public)
//============================================================================
void CDockWidgetSideTab::setSideTabBar(CSideTabBar* SideTabBar)
void CAutoHideTab::setSideBar(CAutoHideSideBar* SideTabBar)
{
d->SideTabBar = SideTabBar;
d->SideBar = SideTabBar;
}
//============================================================================
void CDockWidgetSideTab::removeFromSideTabBar()
void CAutoHideTab::removeFromSideBar()
{
if (d->SideTabBar == nullptr)
if (d->SideBar == nullptr)
{
return;
}
d->SideTabBar->removeSideTab(this);
setSideTabBar(nullptr);
d->SideBar->removeSideTab(this);
setSideBar(nullptr);
}
//============================================================================
CDockWidgetSideTab::CDockWidgetSideTab(QWidget* parent) :
CAutoHideTab::CAutoHideTab(QWidget* parent) :
Super(parent),
d(new DockWidgetSideTabPrivate(this))
d(new AutoHideTabPrivate(this))
{
setAttribute(Qt::WA_NoMousePropagation);
setFocusPolicy(Qt::NoFocus);
@ -94,7 +93,7 @@ CDockWidgetSideTab::CDockWidgetSideTab(QWidget* parent) :
//============================================================================
CDockWidgetSideTab::~CDockWidgetSideTab()
CAutoHideTab::~CAutoHideTab()
{
qDebug() << "~CDockWidgetSideTab()";
delete d;
@ -102,7 +101,7 @@ CDockWidgetSideTab::~CDockWidgetSideTab()
//============================================================================
void CDockWidgetSideTab::updateStyle()
void CAutoHideTab::updateStyle()
{
internal::repolishStyle(this, internal::RepolishDirectChildren);
update();
@ -110,11 +109,11 @@ void CDockWidgetSideTab::updateStyle()
//============================================================================
SideBarLocation CDockWidgetSideTab::sideTabBarArea() const
SideBarLocation CAutoHideTab::sideTabBarArea() const
{
if (d->SideTabBar)
if (d->SideBar)
{
return d->SideTabBar->sideTabBarArea();
return d->SideBar->sideBarArea();
}
return Left;
@ -122,7 +121,7 @@ SideBarLocation CDockWidgetSideTab::sideTabBarArea() const
//============================================================================
void CDockWidgetSideTab::setOrientation(Qt::Orientation Orientation)
void CAutoHideTab::setOrientation(Qt::Orientation Orientation)
{
d->Orientation = Orientation;
CPushButton::setButtonOrientation((Qt::Horizontal == Orientation)
@ -132,14 +131,14 @@ void CDockWidgetSideTab::setOrientation(Qt::Orientation Orientation)
//============================================================================
Qt::Orientation CDockWidgetSideTab::orientation() const
Qt::Orientation CAutoHideTab::orientation() const
{
return d->Orientation;
}
//============================================================================
void CDockWidgetSideTab::updateOrientationForArea(SideBarLocation area)
void CAutoHideTab::updateOrientationForArea(SideBarLocation area)
{
setOrientation((area == Bottom || area == Top) ? Qt::Horizontal : Qt::Vertical);
@ -177,7 +176,7 @@ void CDockWidgetSideTab::updateOrientationForArea(SideBarLocation area)
//============================================================================
bool CDockWidgetSideTab::isActiveTab() const
bool CAutoHideTab::isActiveTab() const
{
if (d->DockWidget && d->DockWidget->autoHideDockContainer())
{
@ -189,14 +188,14 @@ bool CDockWidgetSideTab::isActiveTab() const
//============================================================================
CDockWidget* CDockWidgetSideTab::dockWidget() const
CDockWidget* CAutoHideTab::dockWidget() const
{
return d->DockWidget;
}
//============================================================================
void CDockWidgetSideTab::setDockWidget(CDockWidget* DockWidget)
void CAutoHideTab::setDockWidget(CDockWidget* DockWidget)
{
if (!DockWidget)
{

View File

@ -35,9 +35,9 @@
namespace ads
{
struct DockWidgetSideTabPrivate;
struct AutoHideTabPrivate;
class CDockWidget;
class CSideTabBar;
class CAutoHideSideBar;
class CDockWidgetTab;
struct SideTabIconLabelPrivate;
@ -46,7 +46,7 @@ struct SideTabIconLabelPrivate;
* The dock widget tab is shown in the side tab bar to switch between
* pinned dock widgets
*/
class ADS_EXPORT CDockWidgetSideTab : public CPushButton
class ADS_EXPORT CAutoHideTab : public CPushButton
{
Q_OBJECT
@ -55,18 +55,18 @@ class ADS_EXPORT CDockWidgetSideTab : public CPushButton
Q_PROPERTY(bool activeTab READ isActiveTab)
private:
DockWidgetSideTabPrivate* d; ///< private data (pimpl)
friend struct DockWidgetSideTabPrivate;
AutoHideTabPrivate* d; ///< private data (pimpl)
friend struct AutoHideTabPrivate;
friend class CDockWidget;
friend class CAutoHideDockContainer;
protected:
friend class CSideTabBar;
friend class CAutoHideSideBar;
friend class CDockAreaWidget;
friend class CDockContainerWidget;
void setSideTabBar(CSideTabBar *SideTabBar);
void removeFromSideTabBar();
void setSideBar(CAutoHideSideBar *SideTabBar);
void removeFromSideBar();
public:
using Super = CPushButton;
@ -76,12 +76,12 @@ public:
* param[in] DockWidget The dock widget this title bar belongs to
* param[in] parent The parent widget of this title bar
*/
CDockWidgetSideTab(QWidget* parent = nullptr);
CAutoHideTab(QWidget* parent = nullptr);
/**
* Virtual Destructor
*/
virtual ~CDockWidgetSideTab();
virtual ~CAutoHideTab();
/**
* Update stylesheet style if a property changes

View File

@ -29,6 +29,7 @@
// INCLUDES
//============================================================================
#include <AutoHideDockContainer.h>
#include <AutoHideTab.h>
#include "DockAreaWidget.h"
#include <QStackedLayout>
@ -52,7 +53,6 @@
#include "DockAreaTitleBar.h"
#include "DockComponentsFactory.h"
#include "DockWidgetTab.h"
#include "DockWidgetSideTab.h"
#include "DockingStateReader.h"

View File

@ -33,8 +33,8 @@
#include <QFrame>
#include "ads_globals.h"
#include "AutoHideTab.h"
#include "DockWidget.h"
#include "DockWidgetSideTab.h"
QT_FORWARD_DECLARE_CLASS(QXmlStreamWriter)
QT_FORWARD_DECLARE_CLASS(QAbstractButton)

View File

@ -8,6 +8,7 @@
//============================================================================
// INCLUDES
//============================================================================
#include <AutoHideTab.h>
#include "DockComponentsFactory.h"
#include <memory>
@ -17,7 +18,6 @@
#include "DockAreaTitleBar.h"
#include "DockWidget.h"
#include "DockAreaWidget.h"
#include "DockWidgetSideTab.h"
namespace ads
{
@ -31,9 +31,9 @@ CDockWidgetTab* CDockComponentsFactory::createDockWidgetTab(CDockWidget* DockWid
}
//============================================================================
CDockWidgetSideTab* CDockComponentsFactory::createDockWidgetSideTab(CDockWidget *DockWidget) const
CAutoHideTab* CDockComponentsFactory::createDockWidgetSideTab(CDockWidget *DockWidget) const
{
return new CDockWidgetSideTab(DockWidget);
return new CAutoHideTab(DockWidget);
}

View File

@ -19,7 +19,7 @@ class CDockAreaTitleBar;
class CDockAreaTabBar;
class CDockAreaWidget;
class CDockWidget;
class CDockWidgetSideTab;
class CAutoHideTab;
@ -51,7 +51,7 @@ public:
* This default implementation just creates a dock widget side tab with
* new CDockWidgetTab(DockWidget).
*/
virtual CDockWidgetSideTab* createDockWidgetSideTab(CDockWidget* DockWidget) const;
virtual CAutoHideTab* createDockWidgetSideTab(CDockWidget* DockWidget) const;
/**
* This default implementation just creates a dock area tab bar with

View File

@ -29,6 +29,8 @@
// INCLUDES
//============================================================================
#include <AutoHideDockContainer.h>
#include <AutoHideSideBar.h>
#include <AutoHideTab.h>
#include "DockContainerWidget.h"
#include <QEvent>
@ -49,9 +51,7 @@
#include "DockOverlay.h"
#include "ads_globals.h"
#include "DockSplitter.h"
#include "SideTabBar.h"
#include "DockWidgetTab.h"
#include "DockWidgetSideTab.h"
#include "DockAreaTitleBar.h"
#include "DockFocusController.h"
@ -139,7 +139,7 @@ public:
unsigned int zOrderIndex = 0;
QList<CDockAreaWidget*> DockAreas;
QList<CAutoHideDockContainer*> AutoHideWidgets;
QMap<SideBarLocation, CSideTabBar*> SideTabBarWidgets;
QMap<SideBarLocation, CAutoHideSideBar*> SideTabBarWidgets;
QGridLayout* Layout = nullptr;
QSplitter* RootSplitter = nullptr;
bool isFloating = false;
@ -1958,25 +1958,25 @@ void CDockContainerWidget::createSideTabBarWidgets()
{
auto Area = SideBarLocation::Left;
d->SideTabBarWidgets[Area] = new CSideTabBar(this, Area);
d->SideTabBarWidgets[Area] = new CAutoHideSideBar(this, Area);
d->Layout->addWidget(d->SideTabBarWidgets[Area], 1, 0);
}
{
auto Area = SideBarLocation::Right;
d->SideTabBarWidgets[Area] = new CSideTabBar(this, Area);
d->SideTabBarWidgets[Area] = new CAutoHideSideBar(this, Area);
d->Layout->addWidget(d->SideTabBarWidgets[Area], 1, 2);
}
{
auto Area = SideBarLocation::Bottom;
d->SideTabBarWidgets[Area] = new CSideTabBar(this, Area);
d->SideTabBarWidgets[Area] = new CAutoHideSideBar(this, Area);
d->Layout->addWidget(d->SideTabBarWidgets[Area], 2, 1);
}
{
auto Area = SideBarLocation::Top;
d->SideTabBarWidgets[Area] = new CSideTabBar(this, Area);
d->SideTabBarWidgets[Area] = new CAutoHideSideBar(this, Area);
d->Layout->addWidget(d->SideTabBarWidgets[Area], 0, 1);
}
}
@ -2126,7 +2126,7 @@ void CDockContainerWidget::closeOtherAreas(CDockAreaWidget* KeepOpenArea)
}
//============================================================================
CSideTabBar* CDockContainerWidget::sideTabBar(SideBarLocation area) const
CAutoHideSideBar* CDockContainerWidget::sideTabBar(SideBarLocation area) const
{
return d->SideTabBarWidgets[area];
}

View File

@ -33,8 +33,8 @@
#include <QFrame>
#include "ads_globals.h"
#include "AutoHideTab.h"
#include "DockWidget.h"
#include "DockWidgetSideTab.h"
QT_FORWARD_DECLARE_CLASS(QXmlStreamWriter)
@ -51,7 +51,7 @@ struct FloatingDockContainerPrivate;
class CFloatingDragPreview;
struct FloatingDragPreviewPrivate;
class CDockingStateReader;
class CSideTabBar;
class CAutoHideSideBar;
/**
@ -321,7 +321,7 @@ public:
/**
* Returns the side tab widget for the given area
*/
CSideTabBar* sideTabBar(SideBarLocation area) const;
CAutoHideSideBar* sideTabBar(SideBarLocation area) const;
/**

View File

@ -8,6 +8,7 @@
//============================================================================
// INCLUDES
//============================================================================
#include <AutoHideTab.h>
#include "DockFocusController.h"
#include <algorithm>
@ -25,7 +26,6 @@
#include "FloatingDockContainer.h"
#include "DockManager.h"
#include "DockAreaTitleBar.h"
#include "DockWidgetSideTab.h"
#ifdef Q_OS_LINUX
#include "linux/FloatingWidgetTitleBar.h"

View File

@ -54,7 +54,7 @@ struct DockAreaWidgetPrivate;
class CIconProvider;
class CDockComponentsFactory;
class CDockFocusController;
class CSideTabBar;
class CAutoHideSideBar;
/**
* The central dock manager that maintains the complete docking system.
@ -86,7 +86,7 @@ private:
friend struct FloatingDragPreviewPrivate;
friend class CDockAreaTitleBar;
friend class CAutoHideDockContainer;
friend CSideTabBar;
friend CAutoHideSideBar;
protected:

View File

@ -29,6 +29,8 @@
// INCLUDES
//============================================================================
#include <AutoHideDockContainer.h>
#include <AutoHideSideBar.h>
#include <AutoHideTab.h>
#include "DockWidgetTab.h"
#include "DockWidget.h"
@ -51,8 +53,6 @@
#include <QScreen>
#include <QWindow>
#include "SideTabBar.h"
#include "DockWidgetSideTab.h"
#include "DockContainerWidget.h"
#include "DockAreaWidget.h"
#include "DockManager.h"
@ -95,7 +95,7 @@ struct DockWidgetPrivate
CDockWidget::eMinimumSizeHintMode MinimumSizeHintMode = CDockWidget::MinimumSizeHintFromDockWidget;
WidgetFactory* Factory = nullptr;
CDockWidget::eAutoHideInsertOrder AutoHideInsertOrder = CDockWidget::Last;
QPointer<CDockWidgetSideTab> SideTabWidget;
QPointer<CAutoHideTab> SideTabWidget;
/**
* Private data constructor
@ -522,14 +522,14 @@ CDockAreaWidget* CDockWidget::dockAreaWidget() const
}
//============================================================================
CDockWidgetSideTab* CDockWidget::sideTabWidget() const
CAutoHideTab* CDockWidget::sideTabWidget() const
{
return d->SideTabWidget;
}
//============================================================================
void CDockWidget::setSideTabWidget(CDockWidgetSideTab* SideTab) const
void CDockWidget::setSideTabWidget(CAutoHideTab* SideTab) const
{
d->SideTabWidget = SideTab;
}

View File

@ -46,9 +46,9 @@ class CDockContainerWidget;
class CDockAreaWidget;
class DockContainerWidgetPrivate;
class CFloatingDockContainer;
class CDockWidgetSideTab;
class CAutoHideTab;
class CAutoHideDockContainer;
class CSideTabBar;
class CAutoHideSideBar;
/**
* The QDockWidget class provides a widget that can be docked inside a
@ -79,7 +79,7 @@ protected:
friend struct DockWidgetTabPrivate;
friend struct DockAreaTitleBarPrivate;
friend class CAutoHideDockContainer;
friend CSideTabBar;
friend CAutoHideSideBar;
/**
* Assigns the dock manager that manages this dock widget
@ -365,12 +365,12 @@ public:
* a auto hide container. If it is not in a auto hide container, then this
* function returns a nullptr,
*/
CDockWidgetSideTab* sideTabWidget() const;
CAutoHideTab* sideTabWidget() const;
/**
* Assign a side tab widget if this dock widget is an auto hide container
*/
void setSideTabWidget(CDockWidgetSideTab* SideTab) const;
void setSideTabWidget(CAutoHideTab* SideTab) const;
/**
* Returns true, if this dock widget is in an auto hide container

View File

@ -49,8 +49,8 @@ HEADERS += \
DockComponentsFactory.h \
DockFocusController.h \
AutoHideDockContainer.h \
SideTabBar.h \
DockWidgetSideTab.h \
AutoHideSideBar.h \
AutoHideTab.h \
PushButton.h \
ResizeHandle.h
@ -74,8 +74,8 @@ SOURCES += \
DockComponentsFactory.cpp \
DockFocusController.cpp \
AutoHideDockContainer.cpp \
SideTabBar.cpp \
DockWidgetSideTab.cpp \
AutoHideSideBar.cpp \
AutoHideTab.cpp \
PushButton.cpp \
ResizeHandle.cpp

View File

@ -128,9 +128,9 @@ QScrollArea#dockWidgetScrollArea {
/*****************************************************************************
* CDockWidgetSideTab
* CAutoHideTab
*****************************************************************************/
ads--CDockWidgetSideTab {
ads--CAutoHideTab {
qproperty-iconSize: 16px 16px;/* this is optional in case you would like to change icon size*/
background: none;
border: none;
@ -142,66 +142,66 @@ ads--CDockWidgetSideTab {
}
ads--CDockWidgetSideTab[sideTabBarArea="0"],
ads--CDockWidgetSideTab[sideTabBarArea="2"] {
ads--CAutoHideTab[sideTabBarArea="0"],
ads--CAutoHideTab[sideTabBarArea="2"] {
border-top: 5px solid rgba(0, 0, 0, 48);
}
ads--CDockWidgetSideTab[sideTabBarArea="1"],
ads--CDockWidgetSideTab[sideTabBarArea="3"] {
ads--CAutoHideTab[sideTabBarArea="1"],
ads--CAutoHideTab[sideTabBarArea="3"] {
border-bottom: 5px solid rgba(0, 0, 0, 48);
}
ads--CDockWidgetSideTab:hover[sideTabBarArea="0"],
ads--CDockWidgetSideTab:hover[sideTabBarArea="2"] {
ads--CAutoHideTab:hover[sideTabBarArea="0"],
ads--CAutoHideTab:hover[sideTabBarArea="2"] {
border-top: 5px solid palette(highlight);
color: palette(highlight);
}
ads--CDockWidgetSideTab:hover[sideTabBarArea="1"],
ads--CDockWidgetSideTab:hover[sideTabBarArea="3"] {
ads--CAutoHideTab:hover[sideTabBarArea="1"],
ads--CAutoHideTab:hover[sideTabBarArea="3"] {
border-bottom: 5px solid palette(highlight);
color: palette(highlight);
}
ads--CDockWidgetSideTab[sideTabBarArea="0"][activeTab="true"],
ads--CDockWidgetSideTab[sideTabBarArea="2"][activeTab="true"] {
ads--CAutoHideTab[sideTabBarArea="0"][activeTab="true"],
ads--CAutoHideTab[sideTabBarArea="2"][activeTab="true"] {
border-top: 5px solid palette(highlight);
}
ads--CDockWidgetSideTab[sideTabBarArea="1"][activeTab="true"],
ads--CDockWidgetSideTab[sideTabBarArea="3"][activeTab="true"] {
ads--CAutoHideTab[sideTabBarArea="1"][activeTab="true"],
ads--CAutoHideTab[sideTabBarArea="3"][activeTab="true"] {
border-bottom: 5px solid palette(highlight);
}
/*****************************************************************************
* CSideTabBar
* CAutoHideBar
*****************************************************************************/
ads--CSideTabBar{
ads--CAutoHideBar{
background: palette(window);
}
ads--CSideTabBar[sideTabBarArea="0"] {
ads--CAutoHideBar[sideTabBarArea="0"] {
border-bottom: 1px solid palette(dark);
}
ads--CSideTabBar[sideTabBarArea="1"] {
ads--CAutoHideBar[sideTabBarArea="1"] {
border-right: 1px solid palette(dark);
}
ads--CSideTabBar[sideTabBarArea="2"] {
ads--CAutoHideBar[sideTabBarArea="2"] {
border-left: 1px solid palette(dark);
}
ads--CSideTabBar[sideTabBarArea="3"] {
ads--CAutoHideBar[sideTabBarArea="3"] {
border-top: 1px solid palette(dark);
}

View File

@ -164,9 +164,9 @@ ads--CFloatingWidgetTitleBar {
/*****************************************************************************
* CDockWidgetSideTab
* CAutoHideTab
*****************************************************************************/
ads--CDockWidgetSideTab {
ads--CAutoHideTab {
qproperty-iconSize: 16px 16px;/* this is optional in case you would like to change icon size*/
padding-left: 2px;
padding-right: 0px;
@ -176,64 +176,64 @@ ads--CDockWidgetSideTab {
border: none;
}
ads--CDockWidgetSideTab[sideTabBarArea="1"],
ads--CDockWidgetSideTab[sideTabBarArea="3"] {
ads--CAutoHideTab[sideTabBarArea="1"],
ads--CAutoHideTab[sideTabBarArea="3"] {
border-bottom: 5px solid rgba(0, 0, 0, 48);
}
ads--CDockWidgetSideTab[sideTabBarArea="0"],
ads--CDockWidgetSideTab[sideTabBarArea="2"] {
ads--CAutoHideTab[sideTabBarArea="0"],
ads--CAutoHideTab[sideTabBarArea="2"] {
border-top: 5px solid rgba(0, 0, 0, 48);
}
ads--CDockWidgetSideTab:hover[sideTabBarArea="0"],
ads--CDockWidgetSideTab:hover[sideTabBarArea="2"] {
ads--CAutoHideTab:hover[sideTabBarArea="0"],
ads--CAutoHideTab:hover[sideTabBarArea="2"] {
border-top: 5px solid palette(highlight);
color: palette(highlight);
}
ads--CDockWidgetSideTab:hover[sideTabBarArea="1"],
ads--CDockWidgetSideTab:hover[sideTabBarArea="3"] {
ads--CAutoHideTab:hover[sideTabBarArea="1"],
ads--CAutoHideTab:hover[sideTabBarArea="3"] {
border-bottom: 5px solid palette(highlight);
color: palette(highlight);
}
ads--CDockWidgetSideTab[sideTabBarArea="0"][activeTab="true"],
ads--CDockWidgetSideTab[sideTabBarArea="2"][activeTab="true"] {
ads--CAutoHideTab[sideTabBarArea="0"][activeTab="true"],
ads--CAutoHideTab[sideTabBarArea="2"][activeTab="true"] {
border-top: 5px solid palette(highlight);
}
ads--CDockWidgetSideTab[sideTabBarArea="1"][activeTab="true"],
ads--CDockWidgetSideTab[sideTabBarArea="3"][activeTab="true"] {
ads--CAutoHideTab[sideTabBarArea="1"][activeTab="true"],
ads--CAutoHideTab[sideTabBarArea="3"][activeTab="true"] {
border-bottom: 5px solid palette(highlight);
}
/*****************************************************************************
* CSideTabBar
* CAutoHideBar
*****************************************************************************/
ads--CSideTabBar{
ads--CAutoHideBar{
background: palette(window);
}
ads--CSideTabBar[sideTabBarArea="0"] {
ads--CAutoHideBar[sideTabBarArea="0"] {
border-bottom: 1px solid palette(dark);
}
ads--CSideTabBar[sideTabBarArea="1"] {
ads--CAutoHideBar[sideTabBarArea="1"] {
border-right: 1px solid palette(dark);
}
ads--CSideTabBar[sideTabBarArea="2"] {
ads--CAutoHideBar[sideTabBarArea="2"] {
border-left: 1px solid palette(dark);
}
ads--CSideTabBar[sideTabBarArea="3"] {
ads--CAutoHideBar[sideTabBarArea="3"] {
border-top: 1px solid palette(dark);
}

View File

@ -165,15 +165,15 @@ QScrollArea#dockWidgetScrollArea {
/*****************************************************************************
* CDockWidgetSideTab
* CAutoHideTab
*****************************************************************************/
ads--CDockWidgetSideTab {
ads--CAutoHideTab {
/*background: palette(window);*/
qproperty-iconSize: 16px 16px;/* this is optional in case you would like to change icon size*/
}
ads--CDockWidgetSideTab {
ads--CAutoHideTab {
background: none;
border: none;
padding-left: 2px;
@ -182,16 +182,16 @@ ads--CDockWidgetSideTab {
}
ads--CDockWidgetSideTab[sideTabBarArea="0"],
ads--CDockWidgetSideTab[sideTabBarArea="2"] {
ads--CAutoHideTab[sideTabBarArea="0"],
ads--CAutoHideTab[sideTabBarArea="2"] {
border-top: 5px solid rgba(0, 0, 0, 48);
margin-right: 6px;
min-height: 20;
}
ads--CDockWidgetSideTab[sideTabBarArea="1"],
ads--CDockWidgetSideTab[sideTabBarArea="3"] {
ads--CAutoHideTab[sideTabBarArea="1"],
ads--CAutoHideTab[sideTabBarArea="3"] {
border-bottom: 5px solid rgba(0, 0, 0, 48);
margin-right: 6px;
min-height: 20;
@ -199,52 +199,52 @@ ads--CDockWidgetSideTab[sideTabBarArea="3"] {
ads--CDockWidgetSideTab:hover[sideTabBarArea="0"],
ads--CDockWidgetSideTab:hover[sideTabBarArea="2"] {
ads--CAutoHideTab:hover[sideTabBarArea="0"],
ads--CAutoHideTab:hover[sideTabBarArea="2"] {
border-top: 5px solid palette(highlight);
color: palette(highlight);
}
ads--CDockWidgetSideTab:hover[sideTabBarArea="1"],
ads--CDockWidgetSideTab:hover[sideTabBarArea="3"] {
ads--CAutoHideTab:hover[sideTabBarArea="1"],
ads--CAutoHideTab:hover[sideTabBarArea="3"] {
border-bottom: 5px solid palette(highlight);
color: palette(highlight);
}
ads--CDockWidgetSideTab[sideTabBarArea="0"][activeTab="true"],
ads--CDockWidgetSideTab[sideTabBarArea="2"][activeTab="true"] {
ads--CAutoHideTab[sideTabBarArea="0"][activeTab="true"],
ads--CAutoHideTab[sideTabBarArea="2"][activeTab="true"] {
border-top: 5px solid palette(highlight);
}
ads--CDockWidgetSideTab[sideTabBarArea="1"][activeTab="true"],
ads--CDockWidgetSideTab[sideTabBarArea="3"][activeTab="true"] {
ads--CAutoHideTab[sideTabBarArea="1"][activeTab="true"],
ads--CAutoHideTab[sideTabBarArea="3"][activeTab="true"] {
border-bottom: 5px solid palette(highlight);
}
/*****************************************************************************
* CSideTabBar
* CAutoHideBar
*****************************************************************************/
ads--CSideTabBar{
ads--CAutoHideBar{
background: palette(window);
}
ads--CSideTabBar[sideTabBarArea="0"] {
ads--CAutoHideBar[sideTabBarArea="0"] {
border-bottom: 1px solid palette(dark);
}
ads--CSideTabBar[sideTabBarArea="1"] {
ads--CAutoHideBar[sideTabBarArea="1"] {
border-right: 1px solid palette(dark);
}
ads--CSideTabBar[sideTabBarArea="2"] {
ads--CAutoHideBar[sideTabBarArea="2"] {
border-left: 1px solid palette(dark);
}
ads--CSideTabBar[sideTabBarArea="3"] {
ads--CAutoHideBar[sideTabBarArea="3"] {
border-top: 1px solid palette(dark);
}

View File

@ -240,9 +240,9 @@ ads--CFloatingDockContainer[isActiveWindow="true"] #floatingTitleMaximizeButton:
/*****************************************************************************
* CDockWidgetSideTab
* CAutoHideTab
*****************************************************************************/
ads--CDockWidgetSideTab {
ads--CAutoHideTab {
qproperty-iconSize: 16px 16px;/* this is optional in case you would like to change icon size*/
padding-left: 2px;
padding-right: 0px;
@ -252,64 +252,64 @@ ads--CDockWidgetSideTab {
border: none;
}
ads--CDockWidgetSideTab[sideTabBarArea="1"],
ads--CDockWidgetSideTab[sideTabBarArea="3"] {
ads--CAutoHideTab[sideTabBarArea="1"],
ads--CAutoHideTab[sideTabBarArea="3"] {
border-bottom: 5px solid rgba(0, 0, 0, 48);
}
ads--CDockWidgetSideTab[sideTabBarArea="0"],
ads--CDockWidgetSideTab[sideTabBarArea="2"] {
ads--CAutoHideTab[sideTabBarArea="0"],
ads--CAutoHideTab[sideTabBarArea="2"] {
border-top: 5px solid rgba(0, 0, 0, 48);
}
ads--CDockWidgetSideTab:hover[sideTabBarArea="0"],
ads--CDockWidgetSideTab:hover[sideTabBarArea="2"] {
ads--CAutoHideTab:hover[sideTabBarArea="0"],
ads--CAutoHideTab:hover[sideTabBarArea="2"] {
border-top: 5px solid palette(highlight);
color: palette(highlight);
}
ads--CDockWidgetSideTab:hover[sideTabBarArea="1"],
ads--CDockWidgetSideTab:hover[sideTabBarArea="3"] {
ads--CAutoHideTab:hover[sideTabBarArea="1"],
ads--CAutoHideTab:hover[sideTabBarArea="3"] {
border-bottom: 5px solid palette(highlight);
color: palette(highlight);
}
ads--CDockWidgetSideTab[sideTabBarArea="0"][activeTab="true"],
ads--CDockWidgetSideTab[sideTabBarArea="2"][activeTab="true"] {
ads--CAutoHideTab[sideTabBarArea="0"][activeTab="true"],
ads--CAutoHideTab[sideTabBarArea="2"][activeTab="true"] {
border-top: 5px solid palette(highlight);
}
ads--CDockWidgetSideTab[sideTabBarArea="1"][activeTab="true"],
ads--CDockWidgetSideTab[sideTabBarArea="3"][activeTab="true"] {
ads--CAutoHideTab[sideTabBarArea="1"][activeTab="true"],
ads--CAutoHideTab[sideTabBarArea="3"][activeTab="true"] {
border-bottom: 5px solid palette(highlight);
}
/*****************************************************************************
* CSideTabBar
* CAutoHideBar
*****************************************************************************/
ads--CSideTabBar{
ads--CAutoHideBar{
background: palette(window);
}
ads--CSideTabBar[sideTabBarArea="0"] {
ads--CAutoHideBar[sideTabBarArea="0"] {
border-bottom: 1px solid palette(dark);
}
ads--CSideTabBar[sideTabBarArea="1"] {
ads--CAutoHideBar[sideTabBarArea="1"] {
border-right: 1px solid palette(dark);
}
ads--CSideTabBar[sideTabBarArea="2"] {
ads--CAutoHideBar[sideTabBarArea="2"] {
border-left: 1px solid palette(dark);
}
ads--CSideTabBar[sideTabBarArea="3"] {
ads--CAutoHideBar[sideTabBarArea="3"] {
border-top: 1px solid palette(dark);
}

View File

@ -149,13 +149,13 @@ ads--CDockAreaWidget[focused="true"] ads--CDockAreaTitleBar {
* Styling of auto hide functionality
*----------------------------------------------------------------------------
*/
ads--CDockWidgetSideTab {
ads--CAutoHideTab {
/*background: palette(window);*/
qproperty-iconSize: 16px 16px;/* this is optional in case you would like to change icon size*/
}
ads--CDockWidgetSideTab
ads--CAutoHideTab
{
background: none;
border: none;
@ -164,8 +164,8 @@ ads--CDockWidgetSideTab
text-align: center;
}
ads--CDockWidgetSideTab[sideTabBarArea="0"],
ads--CDockWidgetSideTab[sideTabBarArea="2"]
ads--CAutoHideTab[sideTabBarArea="0"],
ads--CAutoHideTab[sideTabBarArea="2"]
{
border-top: 5px solid rgba(0, 0, 0, 48);
margin-right: 6px;
@ -173,8 +173,8 @@ ads--CDockWidgetSideTab[sideTabBarArea="2"]
}
ads--CDockWidgetSideTab[sideTabBarArea="1"],
ads--CDockWidgetSideTab[sideTabBarArea="3"]
ads--CAutoHideTab[sideTabBarArea="1"],
ads--CAutoHideTab[sideTabBarArea="3"]
{
border-bottom: 5px solid rgba(0, 0, 0, 48);
margin-right: 6px;
@ -183,30 +183,30 @@ ads--CDockWidgetSideTab[sideTabBarArea="3"]
ads--CDockWidgetSideTab:hover[sideTabBarArea="0"],
ads--CDockWidgetSideTab:hover[sideTabBarArea="2"]
ads--CAutoHideTab:hover[sideTabBarArea="0"],
ads--CAutoHideTab:hover[sideTabBarArea="2"]
{
border-top: 5px solid palette(highlight);
color: palette(highlight);
}
ads--CDockWidgetSideTab:hover[sideTabBarArea="1"],
ads--CDockWidgetSideTab:hover[sideTabBarArea="3"]
ads--CAutoHideTab:hover[sideTabBarArea="1"],
ads--CAutoHideTab:hover[sideTabBarArea="3"]
{
border-bottom: 5px solid palette(highlight);
color: palette(highlight);
}
ads--CDockWidgetSideTab[sideTabBarArea="0"][activeTab="true"],
ads--CDockWidgetSideTab[sideTabBarArea="2"][activeTab="true"]
ads--CAutoHideTab[sideTabBarArea="0"][activeTab="true"],
ads--CAutoHideTab[sideTabBarArea="2"][activeTab="true"]
{
border-top: 5px solid palette(highlight);
}
ads--CDockWidgetSideTab[sideTabBarArea="1"][activeTab="true"],
ads--CDockWidgetSideTab[sideTabBarArea="3"][activeTab="true"]
ads--CAutoHideTab[sideTabBarArea="1"][activeTab="true"],
ads--CAutoHideTab[sideTabBarArea="3"][activeTab="true"]
{
border-bottom: 5px solid palette(highlight);
}