2024-12-03 20:07:25 +08:00
|
|
|
#include "mainwindow.h"
|
|
|
|
|
#include "ui_mainwindow.h"
|
|
|
|
|
|
|
|
|
|
#include <QWidgetAction>
|
|
|
|
|
#include <QTableWidget>
|
|
|
|
|
#include <QSettings>
|
|
|
|
|
#include <QUndoStack>
|
|
|
|
|
#include <QGraphicsScene>
|
|
|
|
|
#include <QGraphicsItem>
|
|
|
|
|
#include <QDockWidget>
|
|
|
|
|
#include <QDebug>
|
2025-02-06 16:36:50 +08:00
|
|
|
#include <QSqlDatabase>
|
|
|
|
|
#include <QMessageBox>
|
2025-05-09 19:36:32 +08:00
|
|
|
#include <QVBoxLayout>
|
2025-11-14 19:31:09 +08:00
|
|
|
#include <QLibrary>
|
2024-12-03 20:07:25 +08:00
|
|
|
|
|
|
|
|
#include "diagramCavas.h"
|
|
|
|
|
#include "graphicElementsPanel.h"
|
|
|
|
|
#include "operationCommand.h"
|
|
|
|
|
#include "electricElementsBox.h"
|
2025-02-06 16:36:50 +08:00
|
|
|
#include "loadPageDlg.h"
|
2025-03-04 09:44:03 +08:00
|
|
|
#include "projectModelDlg.h"
|
2025-04-30 16:29:17 +08:00
|
|
|
#include "topologyView.h"
|
2025-05-09 19:36:32 +08:00
|
|
|
#include "diagramView.h"
|
2025-05-30 16:28:51 +08:00
|
|
|
#include "createEditor.h"
|
2025-06-06 18:57:37 +08:00
|
|
|
#include "projectModelManager.h"
|
2025-10-24 21:11:07 +08:00
|
|
|
#include "projectManager.h"
|
2025-11-14 19:31:09 +08:00
|
|
|
#include "monitorItemsDlg.h"
|
|
|
|
|
#include "monitorPagesDlg.h"
|
2024-12-03 20:07:25 +08:00
|
|
|
|
|
|
|
|
//using namespace ads;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CMainWindow::CMainWindow(QWidget *parent)
|
|
|
|
|
: QMainWindow(parent)
|
|
|
|
|
, ui(new Ui::CMainWindow)
|
|
|
|
|
{
|
|
|
|
|
ui->setupUi(this);
|
|
|
|
|
m_pUndoStack = nullptr;
|
2025-02-06 16:36:50 +08:00
|
|
|
m_pLoadPageDlg = nullptr;
|
2025-04-30 16:29:17 +08:00
|
|
|
m_pTopologyView = nullptr;
|
2025-05-09 19:36:32 +08:00
|
|
|
m_pDiagramView = nullptr;
|
2025-05-30 16:28:51 +08:00
|
|
|
m_pCreateEdiotr = nullptr;
|
2025-11-14 19:31:09 +08:00
|
|
|
m_pMonitorItemsDlg = nullptr;
|
|
|
|
|
m_pMonitorPagesDlg = nullptr;
|
|
|
|
|
m_pMonitorItemsDock = nullptr;
|
|
|
|
|
m_pMonitorPagesDock = nullptr;
|
|
|
|
|
_pActMonitor = nullptr;
|
2024-12-03 20:07:25 +08:00
|
|
|
|
|
|
|
|
initializeDockUi();
|
|
|
|
|
initializeAction();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CMainWindow::~CMainWindow()
|
|
|
|
|
{
|
|
|
|
|
delete ui;
|
|
|
|
|
if(m_pElectricElementsBox)
|
|
|
|
|
delete m_pElectricElementsBox;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
QMainWindow::closeEvent(event);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CMainWindow::changeEvent(QEvent* event)
|
|
|
|
|
{
|
|
|
|
|
//if (event->type() == QEvent::WindowStateChange)
|
|
|
|
|
//m_pDrawingPanel->grahpicsViewZoomFit();
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-08 20:05:07 +08:00
|
|
|
void CMainWindow::moveEvent(QMoveEvent *event)
|
|
|
|
|
{
|
|
|
|
|
if(m_pDiagramCavas)
|
|
|
|
|
m_pDiagramCavas->updateSubPos();
|
|
|
|
|
}
|
|
|
|
|
|
2024-12-03 20:07:25 +08:00
|
|
|
void CMainWindow::initializeDockUi()
|
|
|
|
|
{
|
|
|
|
|
m_pElectricElementsBox = new ElectricElementsBox();
|
2025-10-30 17:20:10 +08:00
|
|
|
/*m_pElectricElementsBox->initial();
|
2024-12-03 20:07:25 +08:00
|
|
|
QWidget* pBox = m_pElectricElementsBox->getToolBox();
|
|
|
|
|
QDockWidget* ElectricElementsDock = new QDockWidget(QString::fromWCharArray(L"图元面板"),this);
|
|
|
|
|
ElectricElementsDock->setWidget(pBox);
|
|
|
|
|
ElectricElementsDock->setMinimumSize(200,150);
|
|
|
|
|
ElectricElementsDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
|
2025-10-30 17:20:10 +08:00
|
|
|
this->addDockWidget(Qt::RightDockWidgetArea,ElectricElementsDock);*/
|
2024-12-03 20:07:25 +08:00
|
|
|
|
2025-04-30 16:29:17 +08:00
|
|
|
m_pTopologyView = new TopologyView(this);
|
|
|
|
|
m_pTopologyView->initial();
|
|
|
|
|
QDockWidget* topologyDock = new QDockWidget(QString::fromWCharArray(L"拓扑关系"),this);
|
|
|
|
|
topologyDock->setWidget(m_pTopologyView);
|
2025-05-09 19:36:32 +08:00
|
|
|
//topologyDock->setMinimumSize(120,550);
|
2025-04-30 16:29:17 +08:00
|
|
|
topologyDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
|
|
|
|
|
this->addDockWidget(Qt::LeftDockWidgetArea,topologyDock);
|
|
|
|
|
|
2025-05-09 19:36:32 +08:00
|
|
|
m_pDiagramView = new DiagramView(this);
|
|
|
|
|
m_pDiagramView->initial();
|
|
|
|
|
QDockWidget* diagramDock = new QDockWidget(QString::fromWCharArray(L"组态图列表"),this);
|
|
|
|
|
diagramDock->setWidget(m_pDiagramView);
|
|
|
|
|
diagramDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
|
|
|
|
|
this->addDockWidget(Qt::LeftDockWidgetArea,diagramDock);
|
|
|
|
|
|
2025-11-14 19:31:09 +08:00
|
|
|
m_pMonitorItemsDlg = new MonitorItemsDlg(this);
|
|
|
|
|
m_pMonitorItemsDock = new QDockWidget(QString::fromWCharArray(L"当前设备列表"),this);
|
|
|
|
|
m_pMonitorItemsDock->setWidget(m_pMonitorItemsDlg);
|
|
|
|
|
m_pMonitorItemsDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
|
|
|
|
|
this->addDockWidget(Qt::RightDockWidgetArea,m_pMonitorItemsDock);
|
|
|
|
|
|
|
|
|
|
m_pMonitorPagesDlg = new MonitorPagesDlg(this);
|
|
|
|
|
m_pMonitorPagesDock = new QDockWidget(QString::fromWCharArray(L"监控列表"),this);
|
|
|
|
|
m_pMonitorPagesDock->setWidget(m_pMonitorPagesDlg);
|
|
|
|
|
m_pMonitorPagesDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
|
|
|
|
|
m_pMonitorPagesDock->setMinimumSize(120,550);
|
|
|
|
|
this->addDockWidget(Qt::RightDockWidgetArea,m_pMonitorPagesDock);
|
|
|
|
|
|
|
|
|
|
m_pMonitorItemsDock->hide();
|
|
|
|
|
m_pMonitorPagesDock->hide();
|
|
|
|
|
|
2025-12-08 20:05:07 +08:00
|
|
|
m_pDiagramCavas = new DiagramCavas(this);
|
2024-12-03 20:07:25 +08:00
|
|
|
m_pDiagramCavas->initial();
|
|
|
|
|
this->setCentralWidget(m_pDiagramCavas);
|
|
|
|
|
connect(m_pElectricElementsBox,&ElectricElementsBox::addEletricItem,m_pDiagramCavas,&DiagramCavas::onSignal_addGraphicsItem);
|
|
|
|
|
|
2025-03-04 09:44:03 +08:00
|
|
|
m_pProjectModelDlg = new projectModelDlg(this);
|
2025-06-06 18:57:37 +08:00
|
|
|
connect(&ProjectModelManager::instance(),&ProjectModelManager::modelChange,m_pElectricElementsBox,&ElectricElementsBox::onSignal_modelChanged);
|
2024-12-03 20:07:25 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CMainWindow::initializeAction()
|
|
|
|
|
{
|
|
|
|
|
//撤销、重做
|
2025-07-04 18:47:49 +08:00
|
|
|
/*m_pUndoStack = new QUndoStack(this);
|
2024-12-03 20:07:25 +08:00
|
|
|
ui->actionUndo = m_pUndoStack->createUndoAction(this, tr("撤销"));
|
|
|
|
|
ui->actionUndo->setIcon(QIcon::fromTheme(QString::fromUtf8("edit-undo")));
|
|
|
|
|
ui->actionUndo->setShortcuts(QKeySequence::Undo);
|
|
|
|
|
ui->actionRedo = m_pUndoStack->createRedoAction(this, tr("重做"));
|
|
|
|
|
ui->actionRedo->setIcon(QIcon::fromTheme(QString::fromUtf8("edit-redo")));
|
|
|
|
|
ui->actionRedo->setShortcuts(QKeySequence::Redo);
|
|
|
|
|
ui->toolBar->addAction(ui->actionUndo);
|
|
|
|
|
ui->toolBar->addAction(ui->actionRedo);
|
|
|
|
|
ui->actionUndo->setEnabled(m_pUndoStack->canUndo());
|
|
|
|
|
ui->actionRedo->setEnabled(m_pUndoStack->canRedo());
|
|
|
|
|
|
2025-07-04 18:47:49 +08:00
|
|
|
ui->actionDelete->setShortcut(QKeySequence::Delete);*/
|
2024-12-03 20:07:25 +08:00
|
|
|
|
2025-07-04 18:47:49 +08:00
|
|
|
//connect(ui->actionDelete, SIGNAL(triggered()), this, SLOT(onSignal_deleteItem()));
|
|
|
|
|
//connect(ui->actionZoomIn, SIGNAL(triggered()), this, SLOT(onAction_zoomIn()));
|
|
|
|
|
//connect(ui->actionZoomOut, SIGNAL(triggered()), this, SLOT(onAction_zoomOut()));
|
|
|
|
|
//connect(ui->actionZoomFit, SIGNAL(triggered()), this, SLOT(onAction_zoomFit()));
|
|
|
|
|
//connect(ui->actionGroup, SIGNAL(triggered()), this, SLOT(onAction_createGroup()));
|
|
|
|
|
//connect(ui->actionUngroup, SIGNAL(triggered()), this, SLOT(onAction_destroyGroup()));
|
2025-02-06 16:36:50 +08:00
|
|
|
|
2025-04-30 16:29:17 +08:00
|
|
|
connect(m_pTopologyView,&TopologyView::entityCreate,m_pDiagramCavas,&DiagramCavas::onSignal_createEntity);
|
|
|
|
|
connect(m_pTopologyView,&TopologyView::entityChange,m_pDiagramCavas,&DiagramCavas::onSignal_changeEntity);
|
|
|
|
|
connect(m_pTopologyView,&TopologyView::entityDelete,m_pDiagramCavas,&DiagramCavas::onSignal_deleteEntity);
|
|
|
|
|
connect(m_pTopologyView,&TopologyView::entitySelected,m_pDiagramCavas,&DiagramCavas::onSignal_selectEntity);
|
|
|
|
|
|
2025-11-14 19:31:09 +08:00
|
|
|
//connect(m_pDiagramView,&DiagramView::diagramCreate,m_pDiagramCavas,&DiagramCavas::onSignal_createDiagram);
|
2025-05-09 19:36:32 +08:00
|
|
|
connect(m_pDiagramView,&DiagramView::diagramChange,m_pDiagramCavas,&DiagramCavas::onSignal_changeDiagram);
|
|
|
|
|
connect(m_pDiagramView,&DiagramView::diagramDelete,m_pDiagramCavas,&DiagramCavas::onSignal_deleteDiagram);
|
|
|
|
|
connect(m_pDiagramView,&DiagramView::diagramSelected,m_pDiagramCavas,&DiagramCavas::onSignal_selectDiagram);
|
2025-10-30 17:20:10 +08:00
|
|
|
connect(m_pDiagramView,&DiagramView::createProject,this,&CMainWindow::onAction_createEditor);
|
2025-11-14 19:31:09 +08:00
|
|
|
connect(m_pDiagramCavas,&DiagramCavas::prepareUpdateItems,m_pMonitorItemsDlg,&MonitorItemsDlg::onUpdateItems);
|
|
|
|
|
connect(m_pDiagramCavas,&DiagramCavas::prepareSelectItems,m_pMonitorItemsDlg,&MonitorItemsDlg::onSelectItems);
|
|
|
|
|
connect(m_pDiagramCavas,&DiagramCavas::updateMonitorList,m_pMonitorPagesDlg,&MonitorPagesDlg::onMonitorCreated);
|
|
|
|
|
connect(m_pDiagramCavas,&DiagramCavas::createdMonitorItems,m_pMonitorItemsDlg,&MonitorItemsDlg::onMonitorCreated);
|
|
|
|
|
|
|
|
|
|
connect(m_pMonitorItemsDlg,&MonitorItemsDlg::generateMonitor,m_pDiagramCavas,&DiagramCavas::onSignal_generate);
|
|
|
|
|
connect(m_pMonitorPagesDlg,&MonitorPagesDlg::monitorSelected,m_pDiagramCavas,&DiagramCavas::onSignal_monitorSelected);
|
|
|
|
|
connect(m_pMonitorPagesDlg,&MonitorPagesDlg::prepareSaveMonitor,m_pDiagramCavas,&DiagramCavas::onSignal_saveMonitor);
|
|
|
|
|
|
2025-10-30 17:20:10 +08:00
|
|
|
connect(&ProjectManager::instance(),&ProjectManager::prepareUnloadProject,this,&CMainWindow::onAction_unloadEditor);
|
2025-05-09 19:36:32 +08:00
|
|
|
|
2025-10-30 17:20:10 +08:00
|
|
|
connect(m_pDiagramView,&DiagramView::loadProject,this,&CMainWindow::onSignal_loadProject);
|
2025-10-24 21:11:07 +08:00
|
|
|
|
2025-02-06 16:36:50 +08:00
|
|
|
connect(ui->actionNew,&QAction::triggered,m_pDiagramCavas,&DiagramCavas::onSignal_addPage);
|
2025-10-30 17:20:10 +08:00
|
|
|
connect(ui->actionOpen,&QAction::triggered,this,&CMainWindow::onSignal_loadProject);
|
2025-02-06 16:36:50 +08:00
|
|
|
connect(ui->actionSave,&QAction::triggered,m_pDiagramCavas,&DiagramCavas::onSignal_savePage);
|
|
|
|
|
connect(ui->actionDelete,&QAction::triggered,m_pDiagramCavas,&DiagramCavas::onSignal_deletePage);
|
|
|
|
|
|
2025-05-30 16:28:51 +08:00
|
|
|
QAction* actNewEditor = ui->menuFile->addAction(QString::fromWCharArray(L"新建组态"));
|
|
|
|
|
connect(actNewEditor,&QAction::triggered,this,&CMainWindow::onAction_createEditor);
|
|
|
|
|
|
2025-02-06 16:36:50 +08:00
|
|
|
QAction* actRun = ui->menuMode->addAction(QString::fromWCharArray(L"运行"));
|
|
|
|
|
connect(actRun,&QAction::triggered,m_pDiagramCavas,&DiagramCavas::onSignal_runPage);
|
2025-03-04 09:44:03 +08:00
|
|
|
|
2025-11-05 18:14:31 +08:00
|
|
|
QAction* actEditBay = ui->menuProject->addAction(QString::fromWCharArray(L"管理间隔"));
|
|
|
|
|
connect(actEditBay,&QAction::triggered,this,&CMainWindow::onAction_editBay);
|
|
|
|
|
|
2025-03-04 09:44:03 +08:00
|
|
|
QAction* actEdit = ui->menuProject->addAction(QString::fromWCharArray(L"编辑工程模"));
|
|
|
|
|
connect(actEdit,&QAction::triggered,this,&CMainWindow::onAction_editProject);
|
2025-05-23 10:30:52 +08:00
|
|
|
|
2025-11-14 19:31:09 +08:00
|
|
|
ui->menuProject->addSeparator();
|
|
|
|
|
|
|
|
|
|
_pActMonitor = ui->menuProject->addAction(QString::fromWCharArray(L"管理监控"));
|
|
|
|
|
_pActMonitor->setCheckable(true);
|
|
|
|
|
connect(_pActMonitor,&QAction::triggered,this,[&](){
|
|
|
|
|
if(!_pActMonitor->isChecked()){
|
|
|
|
|
_pActMonitor->setChecked(false);
|
|
|
|
|
m_pMonitorItemsDock->hide();
|
|
|
|
|
m_pMonitorPagesDock->hide();
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
_pActMonitor->setChecked(true);
|
|
|
|
|
m_pMonitorItemsDock->show();
|
|
|
|
|
m_pMonitorPagesDock->show();
|
2025-12-05 18:55:58 +08:00
|
|
|
|
|
|
|
|
if(m_pDiagramCavas)
|
|
|
|
|
m_pDiagramCavas->updateMonitorListFromDB();
|
2025-11-14 19:31:09 +08:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
2025-06-20 18:09:41 +08:00
|
|
|
QAction* testAct = ui->menuTest->addAction(QString::fromWCharArray(L"生成测试基模"));
|
|
|
|
|
connect(testAct,&QAction::triggered,m_pDiagramCavas,&DiagramCavas::onCreateTestBaseModelDiagram);
|
2024-12-03 20:07:25 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CMainWindow::onAction_zoomIn()
|
|
|
|
|
{
|
|
|
|
|
//m_pDrawingPanel->grahpicsViewZoomIn();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CMainWindow::onAction_zoomOut()
|
|
|
|
|
{
|
|
|
|
|
//m_pDrawingPanel->grahpicsViewZoomOut();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CMainWindow::onAction_zoomFit()
|
|
|
|
|
{
|
|
|
|
|
//m_pDrawingPanel->grahpicsViewZoomFit();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CMainWindow::onAction_createGroup()
|
|
|
|
|
{
|
|
|
|
|
/*GraphicsItemGroup* group = m_pDrawingPanel->createItemGroup();
|
|
|
|
|
if(group)
|
|
|
|
|
{
|
|
|
|
|
QGraphicsScene* scene = m_pDrawingPanel->getQGraphicsScene();
|
|
|
|
|
QUndoCommand* createItemGropu = new CreateItemGoupCommand(group, scene);
|
|
|
|
|
m_pUndoStack->push(createItemGropu);
|
|
|
|
|
}*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CMainWindow::onAction_destroyGroup()
|
|
|
|
|
{
|
|
|
|
|
/*QGraphicsScene* scene = m_pDrawingPanel->getQGraphicsScene();
|
|
|
|
|
QList<QGraphicsItem*> listItem = scene->selectedItems();
|
|
|
|
|
if(listItem.count() != 1)
|
|
|
|
|
return; //只能选择一个解组
|
|
|
|
|
|
|
|
|
|
QGraphicsItem* item = listItem.first();
|
|
|
|
|
if(!item)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
GraphicsItemGroup *group = dynamic_cast<GraphicsItemGroup*>(item);
|
|
|
|
|
if(group)
|
|
|
|
|
{
|
|
|
|
|
QUndoCommand* destroyItemGropu = new DestroyItemGoupCommand(group, scene);
|
|
|
|
|
m_pUndoStack->push(destroyItemGropu);
|
|
|
|
|
}*/
|
|
|
|
|
}
|
|
|
|
|
|
2025-03-04 09:44:03 +08:00
|
|
|
void CMainWindow::onAction_editProject()
|
|
|
|
|
{
|
|
|
|
|
if(m_pProjectModelDlg)
|
|
|
|
|
m_pProjectModelDlg->show();
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-23 10:30:52 +08:00
|
|
|
void CMainWindow::onAction_editBay()
|
|
|
|
|
{
|
2025-07-11 18:13:54 +08:00
|
|
|
m_pDiagramCavas->onSignl_openCurrentBay();
|
2025-05-23 10:30:52 +08:00
|
|
|
}
|
|
|
|
|
|
2024-12-03 20:07:25 +08:00
|
|
|
void CMainWindow::onSignal_addItem(QGraphicsItem* item)
|
|
|
|
|
{
|
|
|
|
|
if(item)
|
|
|
|
|
{
|
|
|
|
|
QUndoCommand* addItemCommand = new AddItemCommand(item, item->scene());
|
|
|
|
|
m_pUndoStack->push(addItemCommand);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CMainWindow::onSignal_deleteItem()
|
|
|
|
|
{
|
|
|
|
|
/*QGraphicsScene* scene = m_pDrawingPanel->getQGraphicsScene();
|
|
|
|
|
if (scene && scene->selectedItems().isEmpty())
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
QUndoCommand* deleteItemCommand = new DeleteItemCommand(scene);
|
|
|
|
|
m_pUndoStack->push(deleteItemCommand); //push时会自动调用一次command的redo函数*/
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-30 17:20:10 +08:00
|
|
|
void CMainWindow::onSignal_loadProject()
|
2025-02-06 16:36:50 +08:00
|
|
|
{
|
|
|
|
|
if(m_pLoadPageDlg == nullptr)
|
|
|
|
|
{
|
|
|
|
|
m_pLoadPageDlg = new LoadPageDlg(this);
|
2025-10-30 17:20:10 +08:00
|
|
|
connect(&ProjectManager::instance(),&ProjectManager::prepareLoadBaseSetting,m_pDiagramCavas,&DiagramCavas::onSignal_loadEdit);
|
|
|
|
|
connect(m_pLoadPageDlg,&LoadPageDlg::selectedProject,m_pDiagramView,&DiagramView::onEditorLoaded);
|
|
|
|
|
connect(&ProjectManager::instance(),&ProjectManager::createNewEditor,m_pDiagramCavas,&DiagramCavas::onSignal_createEditPanel);
|
|
|
|
|
connect(&ProjectManager::instance(),&ProjectManager::prepareSaveEditor,m_pDiagramCavas,&DiagramCavas::onSignal_prepareSaveEdit);
|
|
|
|
|
connect(&ProjectManager::instance(),&ProjectManager::prepareDeleteBaseSetting,m_pDiagramCavas,&DiagramCavas::onSignal_prepareDeleteEditor);
|
|
|
|
|
connect(&ProjectManager::instance(),&ProjectManager::prepareOpenSetting,m_pDiagramCavas,&DiagramCavas::onSignal_prepareOpenSetting);
|
2025-02-06 16:36:50 +08:00
|
|
|
}
|
|
|
|
|
m_pLoadPageDlg->updateList();
|
|
|
|
|
m_pLoadPageDlg->show();
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-30 16:28:51 +08:00
|
|
|
void CMainWindow::onAction_createEditor()
|
|
|
|
|
{
|
|
|
|
|
if(m_pCreateEdiotr == nullptr){
|
|
|
|
|
m_pCreateEdiotr = new CreateEditor(this);
|
2025-10-24 21:11:07 +08:00
|
|
|
connect(&ProjectManager::instance(),&ProjectManager::createNewEditor,m_pDiagramCavas,&DiagramCavas::onSignal_createEditPanel);
|
|
|
|
|
connect(&ProjectManager::instance(),&ProjectManager::prepareSaveEditor,m_pDiagramCavas,&DiagramCavas::onSignal_prepareSaveEdit);
|
2025-10-30 17:20:10 +08:00
|
|
|
connect(&ProjectManager::instance(),&ProjectManager::prepareDeleteBaseSetting,m_pDiagramCavas,&DiagramCavas::onSignal_prepareDeleteEditor);
|
|
|
|
|
connect(&ProjectManager::instance(),&ProjectManager::prepareOpenSetting,m_pDiagramCavas,&DiagramCavas::onSignal_prepareOpenSetting);
|
2025-05-30 16:28:51 +08:00
|
|
|
}
|
2025-10-24 21:11:07 +08:00
|
|
|
|
2025-05-30 16:28:51 +08:00
|
|
|
m_pCreateEdiotr->showDlg();
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-30 17:20:10 +08:00
|
|
|
void CMainWindow::onAction_unloadEditor(const QString& str)
|
|
|
|
|
{
|
|
|
|
|
m_pDiagramCavas->onSignal_unloadProject(str);
|
|
|
|
|
}
|
|
|
|
|
|
2024-12-03 20:07:25 +08:00
|
|
|
GraphicElementsPanel* CMainWindow::graphicsElementsPanel() const
|
|
|
|
|
{
|
|
|
|
|
if(m_pGraphicElementsPanel)
|
|
|
|
|
return m_pGraphicElementsPanel;
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
qDebug("get m_pGraphicElementsPanel err");
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|