From 0451cffabf6980aa2fe4f60928b7d8a3dce895b2 Mon Sep 17 00:00:00 2001 From: duanshengchao <519970194@qq.com> Date: Wed, 24 Jul 2024 10:18:34 +0800 Subject: [PATCH] update project structure --- main.cpp | 10 ---- mainwindow.cpp | 133 ------------------------------------------------- mainwindow.h | 43 ---------------- mainwindow.ui | 47 ----------------- 4 files changed, 233 deletions(-) delete mode 100644 main.cpp delete mode 100644 mainwindow.cpp delete mode 100644 mainwindow.h delete mode 100644 mainwindow.ui diff --git a/main.cpp b/main.cpp deleted file mode 100644 index fa4c4fd..0000000 --- a/main.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include -#include - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - CMainWindow w; - w.show(); - return a.exec(); -} diff --git a/mainwindow.cpp b/mainwindow.cpp deleted file mode 100644 index 3ad0056..0000000 --- a/mainwindow.cpp +++ /dev/null @@ -1,133 +0,0 @@ -#include "mainwindow.h" - -#include "ui_mainwindow.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "DockAreaWidget.h" -#include "DockAreaTitleBar.h" -#include "DockAreaTabBar.h" -#include "FloatingDockContainer.h" -#include "DockComponentsFactory.h" - -using namespace ads; - - -CMainWindow::CMainWindow(QWidget *parent) - : QMainWindow(parent) - , ui(new Ui::CMainWindow) -{ - ui->setupUi(this); - CDockManager::setConfigFlag(CDockManager::OpaqueSplitterResize, true); - CDockManager::setConfigFlag(CDockManager::XmlCompressionEnabled, false); - CDockManager::setConfigFlag(CDockManager::FocusHighlighting, true); - DockManager = new CDockManager(this); - - // Set central widget - QPlainTextEdit* w = new QPlainTextEdit(); - w->setPlaceholderText("This is the central editor. Enter your text here."); - CDockWidget* CentralDockWidget = new CDockWidget("CentralWidget"); - CentralDockWidget->setWidget(w); - auto* CentralDockArea = DockManager->setCentralWidget(CentralDockWidget); - CentralDockArea->setAllowedAreas(DockWidgetArea::OuterDockAreas); - - // create other dock widgets - QTableWidget* table = new QTableWidget(); - table->setColumnCount(3); - table->setRowCount(10); - CDockWidget* TableDockWidget = new CDockWidget("Table 1"); - TableDockWidget->setWidget(table); - TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); - TableDockWidget->resize(250, 150); - TableDockWidget->setMinimumSize(200,150); - auto TableArea = DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea, TableDockWidget); - ui->menuView->addAction(TableDockWidget->toggleViewAction()); - - table = new QTableWidget(); - table->setColumnCount(5); - table->setRowCount(1020); - TableDockWidget = new CDockWidget("Table 2"); - TableDockWidget->setWidget(table); - TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); - TableDockWidget->resize(250, 150); - TableDockWidget->setMinimumSize(200,150); - DockManager->addDockWidget(DockWidgetArea::BottomDockWidgetArea, TableDockWidget, TableArea); - ui->menuView->addAction(TableDockWidget->toggleViewAction()); - - QTableWidget* propertiesTable = new QTableWidget(); - propertiesTable->setColumnCount(3); - propertiesTable->setRowCount(10); - CDockWidget* PropertiesDockWidget = new CDockWidget("Properties"); - PropertiesDockWidget->setWidget(propertiesTable); - PropertiesDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); - PropertiesDockWidget->resize(250, 150); - PropertiesDockWidget->setMinimumSize(200,150); - DockManager->addDockWidget(DockWidgetArea::RightDockWidgetArea, PropertiesDockWidget, CentralDockArea); - ui->menuView->addAction(PropertiesDockWidget->toggleViewAction()); - - createPerspectiveUi(); -} - -CMainWindow::~CMainWindow() -{ - delete ui; -} - - -void CMainWindow::createPerspectiveUi() -{ - SavePerspectiveAction = new QAction("Create Perspective", this); - connect(SavePerspectiveAction, SIGNAL(triggered()), SLOT(savePerspective())); - PerspectiveListAction = new QWidgetAction(this); - PerspectiveComboBox = new QComboBox(this); - PerspectiveComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents); - PerspectiveComboBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); - connect(PerspectiveComboBox, SIGNAL(currentTextChanged(const QString&)), - DockManager, SLOT(openPerspective(const QString&))); - PerspectiveListAction->setDefaultWidget(PerspectiveComboBox); - ui->toolBar->addSeparator(); - ui->toolBar->addAction(PerspectiveListAction); - ui->toolBar->addAction(SavePerspectiveAction); -} - - -void CMainWindow::savePerspective() -{ - QString PerspectiveName = QInputDialog::getText(this, "Save Perspective", "Enter unique name:"); - if (PerspectiveName.isEmpty()) - { - return; - } - - DockManager->addPerspective(PerspectiveName); - QSignalBlocker Blocker(PerspectiveComboBox); - PerspectiveComboBox->clear(); - PerspectiveComboBox->addItems(DockManager->perspectiveNames()); - PerspectiveComboBox->setCurrentText(PerspectiveName); -} - - -//============================================================================ -void CMainWindow::closeEvent(QCloseEvent* event) -{ - // Delete dock manager here to delete all floating widgets. This ensures - // that all top level windows of the dock manager are properly closed - DockManager->deleteLater(); - QMainWindow::closeEvent(event); -} - - diff --git a/mainwindow.h b/mainwindow.h deleted file mode 100644 index 75869da..0000000 --- a/mainwindow.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include -#include -#include - -#include "DockManager.h" -#include "DockAreaWidget.h" -#include "DockWidget.h" - -QT_BEGIN_NAMESPACE -namespace Ui { class CMainWindow; } -QT_END_NAMESPACE - -class CMainWindow : public QMainWindow -{ - Q_OBJECT - -public: - CMainWindow(QWidget *parent = nullptr); - ~CMainWindow(); - -protected: - virtual void closeEvent(QCloseEvent* event) override; - -private: - QAction* SavePerspectiveAction = nullptr; - QWidgetAction* PerspectiveListAction = nullptr; - QComboBox* PerspectiveComboBox = nullptr; - - Ui::CMainWindow *ui; - - ads::CDockManager* DockManager; - ads::CDockAreaWidget* StatusDockArea; - ads::CDockWidget* TimelineDockWidget; - - void createPerspectiveUi(); - -private slots: - void savePerspective(); -}; -#endif // MAINWINDOW_H diff --git a/mainwindow.ui b/mainwindow.ui deleted file mode 100644 index 36b8a67..0000000 --- a/mainwindow.ui +++ /dev/null @@ -1,47 +0,0 @@ - - - CMainWindow - - - - 0 - 0 - 1284 - 757 - - - - PowerDesigner - - - - - - 0 - 0 - 1284 - 21 - - - - - View - - - - - - - toolBar - - - TopToolBarArea - - - false - - - - - -