#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include QT_BEGIN_NAMESPACE namespace Ui { class CMainWindow; } QT_END_NAMESPACE class QGraphicsItem; class QUndoStack; class DrawingPanel; class GraphicElementsPanel; class DesignerScene; class DiagramCavas; class ElectricElementsBox; class LoadPageDlg; class projectModelDlg; class TopologyView; class DiagramView; class CreateEditor; class MonitorItemsDlg; class MonitorPagesDlg; class CMainWindow : public QMainWindow { Q_OBJECT public: CMainWindow(QWidget *parent = nullptr); ~CMainWindow(); protected: virtual void closeEvent(QCloseEvent* event) override; virtual void changeEvent(QEvent* event) override; private: void initializeDockUi(); void initializeAction(); private slots: void onAction_zoomIn(); void onAction_zoomOut(); void onAction_zoomFit(); void onAction_createGroup(); void onAction_destroyGroup(); void onAction_editProject(); void onAction_editBay(); void onSignal_addItem(QGraphicsItem*); void onSignal_deleteItem(); void onSignal_loadProject(); void onAction_createEditor(); void onAction_unloadEditor(const QString&); public: GraphicElementsPanel* graphicsElementsPanel() const; private: QAction* SavePerspectiveAction = nullptr; QWidgetAction* PerspectiveListAction = nullptr; QComboBox* PerspectiveComboBox = nullptr; QUndoStack* m_pUndoStack; Ui::CMainWindow *ui; //ads::CDockManager* DockManager; //ads::CDockAreaWidget* StatusDockArea; //ads::CDockWidget* TimelineDockWidget; DiagramCavas* m_pDiagramCavas; DrawingPanel* m_pDrawingPanel; ElectricElementsBox* m_pElectricElementsBox; TopologyView* m_pTopologyView; DiagramView* m_pDiagramView; GraphicElementsPanel* m_pGraphicElementsPanel; LoadPageDlg* m_pLoadPageDlg; projectModelDlg* m_pProjectModelDlg; CreateEditor* m_pCreateEdiotr; MonitorItemsDlg* m_pMonitorItemsDlg; MonitorPagesDlg* m_pMonitorPagesDlg; QDockWidget* m_pMonitorItemsDock; QDockWidget* m_pMonitorPagesDock; QAction* _pActMonitor; }; #endif // MAINWINDOW_H