DiagramDesigner/include/mainwindow.h

79 lines
2.0 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 TopologyView;
class DiagramView;
class MonitorItemsDlg;
class MonitorPagesDlg;
class QDetailsView;
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;
virtual void moveEvent(QMoveEvent *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_editBay();
void onAction_previewData();
void onSignal_addItem(QGraphicsItem*);
void onSignal_deleteItem();
void onCavasItemSelected(QObject*);
public:
GraphicElementsPanel* graphicsElementsPanel() const;
private:
QAction* SavePerspectiveAction = nullptr;
QWidgetAction* PerspectiveListAction = nullptr;
QComboBox* PerspectiveComboBox = nullptr;
QUndoStack* m_pUndoStack;
Ui::CMainWindow *ui;
DiagramCavas* m_pDiagramCavas;
DrawingPanel* m_pDrawingPanel;
ElectricElementsBox* m_pElectricElementsBox;
TopologyView* m_pTopologyView;
DiagramView* m_pDiagramView;
GraphicElementsPanel* m_pGraphicElementsPanel;
MonitorItemsDlg* m_pMonitorItemsDlg;
MonitorPagesDlg* m_pMonitorPagesDlg;
QDockWidget* m_pMonitorItemsDock;
QDockWidget* m_pMonitorPagesDock;
QDetailsView* m_pPropertiesEditorView;
QAction* _pActMonitor;
};
#endif // MAINWINDOW_H