COntinued implementation of new advanced docking system, added stylesheet

This commit is contained in:
Uwe Kindler
2017-02-27 14:15:20 +01:00
parent 4a0c176327
commit f0584ff0c5
18 changed files with 806 additions and 35 deletions
+1 -1
View File
@@ -7,7 +7,7 @@
static void initStyleSheet(QApplication& a)
{
//Q_INIT_RESOURCE(ads); // If static linked.
QFile f(":ads/stylesheets/default-windows.css");
QFile f(":ads/stylesheets/default-windows2.css");
if (f.open(QFile::ReadOnly))
{
const QByteArray ba = f.readAll();
@@ -12,6 +12,7 @@
#include "DockManager.h"
#include "DockWidget.h"
#include "DockAreaWidget.h"
///////////////////////////////////////////////////////////////////////
@@ -20,6 +21,7 @@ static int CONTENT_COUNT = 0;
static ads::CDockWidget* createLongTextLabelDockWidget(ads::CDockManager* DockManager)
{
static int LabelCount = 0;
QLabel* l = new QLabel();
l->setWordWrap(true);
l->setAlignment(Qt::AlignTop | Qt::AlignLeft);
@@ -33,27 +35,29 @@ static ads::CDockWidget* createLongTextLabelDockWidget(ads::CDockManager* DockMa
"welches Passagen von Lorem Ipsum enhielt, so wie Desktop Software wie "
"Aldus PageMaker - ebenfalls mit Lorem Ipsum."));
ads::CDockWidget* DockWidget = new ads::CDockWidget("DockWidget1");
ads::CDockWidget* DockWidget = new ads::CDockWidget(QString("Label %1").arg(LabelCount++));
DockWidget->setWidget(l);
return DockWidget;
}
static ads::CDockWidget* createCalendarDockWidget(ads::CDockManager* DockManager)
{
static int CalendarCount = 0;
QCalendarWidget* w = new QCalendarWidget();
ads::CDockWidget* DockWidget = new ads::CDockWidget("DockWidget1");
ads::CDockWidget* DockWidget = new ads::CDockWidget(QString("Calendar %1").arg(CalendarCount++));
DockWidget->setWidget(w);
return DockWidget;
}
static ads::CDockWidget* createFileSystemTreeDockWidget(ads::CDockManager* DockManager)
{
static int FileSystemCount = 0;
QTreeView* w = new QTreeView();
w->setFrameShape(QFrame::NoFrame);
QFileSystemModel* m = new QFileSystemModel(w);
m->setRootPath(QDir::currentPath());
w->setModel(m);
ads::CDockWidget* DockWidget = new ads::CDockWidget("DockWidget1");
ads::CDockWidget* DockWidget = new ads::CDockWidget(QString("Filesystem %1").arg(FileSystemCount++));
DockWidget->setWidget(w);
return DockWidget;
}
@@ -82,10 +86,13 @@ MainWindow::~MainWindow()
void MainWindow::createContent()
{
m_DockManager->addDockWidget(ads::LeftDockWidgetArea, createCalendarDockWidget(m_DockManager));
auto DockWidget = createCalendarDockWidget(m_DockManager);
DockWidget->setFeatures(DockWidget->features().setFlag(ads::CDockWidget::DockWidgetClosable, false));
m_DockManager->addDockWidget(ads::LeftDockWidgetArea, DockWidget);
m_DockManager->addDockWidget(ads::LeftDockWidgetArea, createLongTextLabelDockWidget(m_DockManager));
m_DockManager->addDockWidget(ads::BottomDockWidgetArea, createFileSystemTreeDockWidget(m_DockManager));
m_DockManager->addDockWidget(ads::TopDockWidgetArea, createFileSystemTreeDockWidget(m_DockManager));
auto DockArea = m_DockManager->addDockWidget(ads::TopDockWidgetArea, createFileSystemTreeDockWidget(m_DockManager));
m_DockManager->addDockWidget(ads::CenterDockWidgetArea, createCalendarDockWidget(m_DockManager), DockArea);
}