75 lines
3.1 KiB
C++
75 lines
3.1 KiB
C++
#ifndef DIAGRAMEDITORWIZARD_H
|
||
#define DIAGRAMEDITORWIZARD_H
|
||
|
||
#include <QDialog>
|
||
#include "global.h"
|
||
|
||
QT_BEGIN_NAMESPACE
|
||
namespace Ui { class diagramEditorWizard; }
|
||
QT_END_NAMESPACE
|
||
|
||
class WizardBayContentDlg;
|
||
class DiagramEditorBaseBlock;
|
||
class DiagramEditorStructContainer;
|
||
class QListWidgetItem;
|
||
class DiagramEditorBaySettingDlg;
|
||
class DiagramEditorTransSettingDlg;
|
||
|
||
class DiagramEditorWizard : public QDialog
|
||
{
|
||
Q_OBJECT
|
||
public:
|
||
DiagramEditorWizard(QWidget *parent = nullptr);
|
||
~DiagramEditorWizard();
|
||
signals:
|
||
void wizardFinish();
|
||
public slots:
|
||
void onOkClicked();
|
||
void onCancelClicked();
|
||
void onLastClicked();
|
||
void onNextClicked();
|
||
|
||
void onAddBusClicked(); //添加母线
|
||
void onAddBayClicked(); //添加间隔
|
||
void onAddTransClicked(); //添加变压器
|
||
void onAddBayFinished(DiagramEditorWizardBayInfo); //添加间隔完毕
|
||
void onAddTransFinished(DiagramEditorWizardTransformerInfo); //添加变压器完毕
|
||
|
||
void onDelegateFinishEdit(const QModelIndex &index, const QString &value); //代理edit完成事件
|
||
void onBusDeleteClicked();
|
||
void onBusIndexRbtnClicked(const QPoint &pos); //bus列表右键菜单
|
||
|
||
void onTransDeleteClicked();
|
||
void onTransModifyClicked();
|
||
void onTransIndexRbtnClicked(const QPoint &pos); //变压器列表右键菜单
|
||
|
||
void onBayListSelected(QListWidgetItem* pItem); //baylist选择事件
|
||
public:
|
||
QMap<int,DiagramEditorWizardBusInfo> getMapBusInfo() {return _mapBus;}
|
||
QMap<int,QMap<int,DiagramEditorStructContainer*>> getCointainerStruct(){return _mapSturctContainer;}
|
||
QList<DiagramEditorBaseBlock*> getTargetLevelBlocks(int nLevel,int nType); //返回指定层数的对应block,type:1母线,2间隔,3变压器
|
||
DiagramEditorStructContainer* getContainerByBlock(int nLevel,int nType,QString sName); //根据block名称返回container
|
||
DiagramEditorBaseBlock* getBlockByName(int nLevel,int nType,QString sName); //根据名称返回block
|
||
bool removeBlockByName(int nLevel,int nType,const QString& sName); //依据名称删除block
|
||
WizardBayContentDlg* getContentDlg() {return _bayContentDlg;}
|
||
DiagramEditorBaySettingDlg* getBaySettingDlg() {return _baySettingDlg;}
|
||
void flushTransPage(); //刷新变压器界面
|
||
private:
|
||
void initial();
|
||
void reOrderBus(); //重置bus次序
|
||
void generateBayStruct(); //根据bus设置生成bay结构
|
||
void addTransformer(DiagramEditorWizardTransformerInfo); //界面上添加变压器
|
||
template <typename T> void reindexQMap(QMap<int, T> &map); //重新排序函数
|
||
private:
|
||
Ui::diagramEditorWizard *ui;
|
||
BiDirectionalMap<int,QString> _divideType; //划分段数名对照
|
||
WizardBayContentDlg* _bayContentDlg;
|
||
DiagramEditorBaySettingDlg* _baySettingDlg;
|
||
DiagramEditorTransSettingDlg* _transSettingDlg;
|
||
QMap<int,DiagramEditorWizardBusInfo> _mapBus; //母线信息
|
||
QMap<int,QMap<int,DiagramEditorStructContainer*>> _mapSturctContainer; //划分后的区块
|
||
bool _busPageChanged; //母线页改变
|
||
};
|
||
|
||
#endif
|