update project structure
This commit is contained in:
parent
8ddb353c9d
commit
0451cffabf
10
main.cpp
10
main.cpp
|
|
@ -1,10 +0,0 @@
|
||||||
#include <mainwindow.h>
|
|
||||||
#include <QApplication>
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
QApplication a(argc, argv);
|
|
||||||
CMainWindow w;
|
|
||||||
w.show();
|
|
||||||
return a.exec();
|
|
||||||
}
|
|
||||||
133
mainwindow.cpp
133
mainwindow.cpp
|
|
@ -1,133 +0,0 @@
|
||||||
#include "mainwindow.h"
|
|
||||||
|
|
||||||
#include "ui_mainwindow.h"
|
|
||||||
|
|
||||||
#include <QWidgetAction>
|
|
||||||
#include <QLabel>
|
|
||||||
#include <QCalendarWidget>
|
|
||||||
#include <QTreeView>
|
|
||||||
#include <QFileSystemModel>
|
|
||||||
#include <QTableWidget>
|
|
||||||
#include <QHBoxLayout>
|
|
||||||
#include <QRadioButton>
|
|
||||||
#include <QPushButton>
|
|
||||||
#include <QInputDialog>
|
|
||||||
#include <QFileDialog>
|
|
||||||
#include <QSettings>
|
|
||||||
#include <QMessageBox>
|
|
||||||
#include <QPlainTextEdit>
|
|
||||||
#include <QToolBar>
|
|
||||||
|
|
||||||
#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);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
43
mainwindow.h
43
mainwindow.h
|
|
@ -1,43 +0,0 @@
|
||||||
#ifndef MAINWINDOW_H
|
|
||||||
#define MAINWINDOW_H
|
|
||||||
|
|
||||||
#include <QMainWindow>
|
|
||||||
#include <QComboBox>
|
|
||||||
#include <QWidgetAction>
|
|
||||||
|
|
||||||
#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
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>CMainWindow</class>
|
|
||||||
<widget class="QMainWindow" name="CMainWindow">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>1284</width>
|
|
||||||
<height>757</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>PowerDesigner</string>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="centralwidget"/>
|
|
||||||
<widget class="QMenuBar" name="menubar">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>1284</width>
|
|
||||||
<height>21</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<widget class="QMenu" name="menuView">
|
|
||||||
<property name="title">
|
|
||||||
<string>View</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<addaction name="menuView"/>
|
|
||||||
</widget>
|
|
||||||
<widget class="QToolBar" name="toolBar">
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>toolBar</string>
|
|
||||||
</property>
|
|
||||||
<attribute name="toolBarArea">
|
|
||||||
<enum>TopToolBarArea</enum>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="toolBarBreak">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
||||||
Loading…
Reference in New Issue