DiagramDesigner/include/mainwindow.h

79 lines
1.8 KiB
C++

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QComboBox>
#include <QWidgetAction>
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 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_loadPage();
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;
};
#endif // MAINWINDOW_H