GridFrame/diagramCavas/include/diagramEditor/diagramEditorBayDetailSetti...

73 lines
3.1 KiB
C
Raw Normal View History

2026-03-23 11:11:55 +08:00
#ifndef DIAGRAMEDITORBAYDETAILSETTINGDLG_H
#define DIAGRAMEDITORBAYDETAILSETTINGDLG_H
#include <QDialog>
//#include "global.h"
#include "common/core_model/diagram.h"
QT_BEGIN_NAMESPACE
namespace Ui { class diagramEditorBayDetailSettingDlg; }
QT_END_NAMESPACE
class DiagramEditorWizard;
class DiagramEditorBayDetailAddDlg;
class DiagramEditorBayBlock;
class DiagramEditorBayPreviewDlg;
class DiagramEditorModel;
class QStandardItemModel;
2026-05-18 19:12:28 +08:00
class TitleBar;
2026-05-22 16:08:15 +08:00
class QSizeGrip;
2026-03-23 11:11:55 +08:00
class DiagramEditorBayDetailSettingDlg : public QDialog
{
Q_OBJECT
public:
DiagramEditorBayDetailSettingDlg(QWidget *parent = nullptr,DiagramEditorModel* p = nullptr);
~DiagramEditorBayDetailSettingDlg();
void initial();
void refreshModel(); //刷新view显示的model
void showDlg(DiagramEditorBayBlock*);
void setWizard(DiagramEditorWizard* p) {_pWizard = p;}
QStandardItemModel* getComponentModel() {return _compoModel;}
QStandardItemModel* getRouteModel() {return _routeModel;}
void setBayInfo(DiagramEditorBayInfo info){_curBayInfo = info;}
DiagramEditorBayInfo& getBayInfo(){return _curBayInfo;}
void setModelDelegate(DiagramEditorModel* p){_pModel = p;}
DiagramEditorModel* getModel() {return _pModel;}
DiagramEditorBayBlock* getCurBlock(){return _curOperateObj;}
DiagramEditorWizard* getWizard() {return _pWizard;}
void showPreview(); //预览间隔
2026-05-14 20:11:48 +08:00
QString calculateParent(const QMap<QString,DiagramEditorRouteInfo>& mapRoute,const QList<QString>& routeOrder,DiagramEditorRouteInfo& cur); //获取当前线路的父
void markAffectedRoutes(const QMap<QString, DiagramEditorRouteInfo>& mapRoute,const QList<QString>& routeOrder,
const QString& routeName,QSet<QString>& affected); //标记线路的子线路
void onRouteModified(QMap<QString, DiagramEditorRouteInfo>& mapRoute,QList<QString>& routeOrder,const QString& modifiedRoute,bool onlyClear = false); //重新计算本路线及子路线的父
2026-03-23 11:11:55 +08:00
public slots:
void onAddClicked();
void onOkClicked();
void onCancelClicked();
void onRouteDeleteClicked();
void onRouteRbtnClicked(const QPoint &pos); //线路右键菜单
void onRouteEditClicked();
2026-05-22 16:08:15 +08:00
protected:
void resizeEvent(QResizeEvent *);
2026-05-29 17:42:30 +08:00
private:
void removeRouteUsageFromDevices(const QStringList &deviceNames, const QString &routeName); //移除设备中的线路占用
2026-03-23 11:11:55 +08:00
private:
Ui::diagramEditorBayDetailSettingDlg *ui;
DiagramEditorBayDetailAddDlg* _pAddDlg;
DiagramEditorBayPreviewDlg* _pPreviewDlg;
DiagramEditorWizard* _pWizard;
DiagramEditorBayBlock* _curOperateObj; //当前加载的block对象
QStandardItemModel* _compoModel; //设备库model name中的data:1为占用方向,2为相对坐标,3为uuid,4为item标志位(1新建2修改)5旋转角度
QStandardItemModel* _routeModel; //所有线路model
DiagramEditorBayInfo _curBayInfo; //当前使用的间隔信息
DiagramEditorModel* _pModel;
2026-05-18 19:12:28 +08:00
TitleBar* m_titleBar;
2026-05-22 16:08:15 +08:00
QSizeGrip* _pSizeGrip;
2026-03-23 11:11:55 +08:00
};
#endif