add custom type extend
This commit is contained in:
parent
8249661f32
commit
765e3d6187
|
|
@ -35,6 +35,7 @@ enum GraphicsItemType
|
||||||
GIT_3wTransformer= QGraphicsItem::UserType + 67,
|
GIT_3wTransformer= QGraphicsItem::UserType + 67,
|
||||||
GIT_node= QGraphicsItem::UserType + 79,
|
GIT_node= QGraphicsItem::UserType + 79,
|
||||||
GIT_bay= QGraphicsItem::UserType + 80, //间隔
|
GIT_bay= QGraphicsItem::UserType + 80, //间隔
|
||||||
|
GIT_CustomType= QGraphicsItem::UserType + 81,
|
||||||
//======================================
|
//======================================
|
||||||
GIT_baseNode = QGraphicsItem::UserType + 199,
|
GIT_baseNode = QGraphicsItem::UserType + 199,
|
||||||
GIT_baseBus = QGraphicsItem::UserType + 200,
|
GIT_baseBus = QGraphicsItem::UserType + 200,
|
||||||
|
|
@ -52,6 +53,8 @@ enum GraphicsItemType
|
||||||
GIT_baseCableEnd = QGraphicsItem::UserType + 212,
|
GIT_baseCableEnd = QGraphicsItem::UserType + 212,
|
||||||
GIT_base2wTransformer = QGraphicsItem::UserType + 213, //两绕阻变压器
|
GIT_base2wTransformer = QGraphicsItem::UserType + 213, //两绕阻变压器
|
||||||
GIT_base3wTransformer = QGraphicsItem::UserType + 214, //三绕组变压器
|
GIT_base3wTransformer = QGraphicsItem::UserType + 214, //三绕组变压器
|
||||||
|
GIT_baseMotor = QGraphicsItem::UserType + 215, //电动机
|
||||||
|
GIT_baseCustomItem = QGraphicsItem::UserType + 299 //自定义对象
|
||||||
};
|
};
|
||||||
|
|
||||||
enum AttributeField //元模属性字段对照
|
enum AttributeField //元模属性字段对照
|
||||||
|
|
|
||||||
|
|
@ -126,6 +126,7 @@ set(DIAGRAMCAVAS_HEADER_FILES
|
||||||
include/util/selectorManager.h
|
include/util/selectorManager.h
|
||||||
include/util/subMovingSelector.h
|
include/util/subMovingSelector.h
|
||||||
include/instance/dataAccessor.h
|
include/instance/dataAccessor.h
|
||||||
|
include/instance/baseTypeManager.h
|
||||||
|
|
||||||
include/propertyType/CustomGadget.h
|
include/propertyType/CustomGadget.h
|
||||||
include/propertyType/CustomType.h
|
include/propertyType/CustomType.h
|
||||||
|
|
@ -278,6 +279,7 @@ set(DIAGRAMCAVAS_SOURCE_FILES
|
||||||
source/util/selectorManager.cpp
|
source/util/selectorManager.cpp
|
||||||
source/util/subMovingSelector.cpp
|
source/util/subMovingSelector.cpp
|
||||||
source/instance/dataAccessor.cpp
|
source/instance/dataAccessor.cpp
|
||||||
|
source/instance/baseTypeManager.cpp
|
||||||
|
|
||||||
source/propertyType/PropertyTypeCustomization_CustomType.cpp
|
source/propertyType/PropertyTypeCustomization_CustomType.cpp
|
||||||
source/propertyType/propertyTypeCustomization_DataSourceType.cpp
|
source/propertyType/propertyTypeCustomization_DataSourceType.cpp
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public:
|
||||||
void generateTempTrans(int nType,DiagramEditorTransformerBlock* block = nullptr); //0高压侧1中压侧2低压侧3整个变压器
|
void generateTempTrans(int nType,DiagramEditorTransformerBlock* block = nullptr); //0高压侧1中压侧2低压侧3整个变压器
|
||||||
void connectTransToNeutral(DiagramEditorTransformerBlock* block); //连接变压器与中性点设备
|
void connectTransToNeutral(DiagramEditorTransformerBlock* block); //连接变压器与中性点设备
|
||||||
void linkTransItem(GraphicsBaseModelItem*,QStandardItemModel*,DiagramEditorTransformerBlock* pBlock); //连接中性点与设备点
|
void linkTransItem(GraphicsBaseModelItem*,QStandardItemModel*,DiagramEditorTransformerBlock* pBlock); //连接中性点与设备点
|
||||||
GraphicsBaseModelItem* generateComponent(QUuid uid,QString sName,int nCategory,int nType,QPointF pos,int nRotate,int mode,DiagramEditorBaseBlock* pBlock = nullptr); //生成设备 uid,分类(设备、逻辑点),类型,旋转,模式(0局部1整体)
|
GraphicsBaseModelItem* generateComponent(QUuid uid,QString sName,int nCategory,int nType,int baseType,QPointF pos,int nRotate,int mode,DiagramEditorBaseBlock* pBlock = nullptr); //生成设备 uid,分类(设备、逻辑点),基模类型,基础类型,旋转,模式(0局部1整体)
|
||||||
ElectricBaseModelLineItem* generateLine(QUuid uid,QString sName,int mode,DiagramEditorBaseBlock* pBlock = nullptr); //生成连线 mode 0局部1整体
|
ElectricBaseModelLineItem* generateLine(QUuid uid,QString sName,int mode,DiagramEditorBaseBlock* pBlock = nullptr); //生成连线 mode 0局部1整体
|
||||||
void clearCurPreview();
|
void clearCurPreview();
|
||||||
void setPanel(EditPanel* p) {_pPanel = p;}
|
void setPanel(EditPanel* p) {_pPanel = p;}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
#ifndef BASETYPEMANAGER_H
|
||||||
|
#define BASETYPEMANAGER_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
#include <QMap>
|
||||||
|
#include <QJsonObject>
|
||||||
|
#include <QMutex>
|
||||||
|
#include "common/backend/meta_model.h"
|
||||||
|
|
||||||
|
class BaseTypeManager : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
private:
|
||||||
|
explicit BaseTypeManager(QObject *parent = nullptr);
|
||||||
|
|
||||||
|
QMap<int,modelType> _mapType;
|
||||||
|
|
||||||
|
public:
|
||||||
|
// 禁止拷贝和赋值
|
||||||
|
BaseTypeManager(const BaseTypeManager&) = delete;
|
||||||
|
BaseTypeManager& operator=(const BaseTypeManager&) = delete;
|
||||||
|
|
||||||
|
// 获取单例实例
|
||||||
|
static BaseTypeManager* getInstance() {
|
||||||
|
static BaseTypeManager instance;
|
||||||
|
return &instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
void initial();
|
||||||
|
|
||||||
|
QString getNameById(int id) const;
|
||||||
|
int getBaseTypeById(int id) const;
|
||||||
|
int getIdByName(const QString& name) const;
|
||||||
|
int getIdByModelType(const QString& name) const; //根据基模英文名返回id
|
||||||
|
QMap<int,modelType> getMapType(){return _mapType;}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // BIMAPMANAGER_H
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
#include "graphicsItem/graphicsBaseItem.h"
|
#include "graphicsItem/graphicsBaseItem.h"
|
||||||
#include "topologyManager.h"
|
#include "topologyManager.h"
|
||||||
#include "powerEntity.h"
|
#include "powerEntity.h"
|
||||||
#include "projectModelManager.h"
|
|
||||||
#include "baseProperty.h"
|
|
||||||
#include "diagramEditor/editPanel.h"
|
#include "diagramEditor/editPanel.h"
|
||||||
#include "graphicsDataModel/diagramEditorModel.h"
|
#include "graphicsDataModel/diagramEditorModel.h"
|
||||||
#include "basePropertyManager.h"
|
#include "basePropertyManager.h"
|
||||||
|
|
@ -31,6 +29,7 @@
|
||||||
#include "QQuickDetailsViewMananger.h"
|
#include "QQuickDetailsViewMananger.h"
|
||||||
#include "propertyType/propertyTypeCustomization_DataSourceType.h"
|
#include "propertyType/propertyTypeCustomization_DataSourceType.h"
|
||||||
#include "propertyType/dataSourceType.h"
|
#include "propertyType/dataSourceType.h"
|
||||||
|
#include "include/instance/baseTypeManager.h"
|
||||||
|
|
||||||
DiagramCavas::DiagramCavas(QWidget *parent)
|
DiagramCavas::DiagramCavas(QWidget *parent)
|
||||||
: QMdiArea(parent)
|
: QMdiArea(parent)
|
||||||
|
|
@ -179,6 +178,7 @@ void DiagramCavas::initial()
|
||||||
_structDataPreviewDlg->loadData();
|
_structDataPreviewDlg->loadData();
|
||||||
|
|
||||||
QQuickDetailsViewManager::Get()->registerPropertyTypeCustomization<DataSourceType, PropertyTypeCustomization_DataSourceType>();
|
QQuickDetailsViewManager::Get()->registerPropertyTypeCustomization<DataSourceType, PropertyTypeCustomization_DataSourceType>();
|
||||||
|
BaseTypeManager::getInstance()->initial();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiagramCavas::onSignal_addDrawingPanel(PowerEntity* pItem,DiagramMode mode,QString parent)
|
void DiagramCavas::onSignal_addDrawingPanel(PowerEntity* pItem,DiagramMode mode,QString parent)
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
#include "ui_diagramEditorBayDetailAddDlg.h"
|
#include "ui_diagramEditorBayDetailAddDlg.h"
|
||||||
#include "diagramEditor/diagramEditorBaseBlock.h"
|
#include "diagramEditor/diagramEditorBaseBlock.h"
|
||||||
#include "diagramEditor/diagramEditorWizard.h"
|
#include "diagramEditor/diagramEditorWizard.h"
|
||||||
|
#include "include/instance/baseTypeManager.h"
|
||||||
|
|
||||||
DiagramEditorBayDetailAddDlg::DiagramEditorBayDetailAddDlg(QWidget *parent)
|
DiagramEditorBayDetailAddDlg::DiagramEditorBayDetailAddDlg(QWidget *parent)
|
||||||
: QDialog(parent)
|
: QDialog(parent)
|
||||||
|
|
@ -40,22 +41,16 @@ void DiagramEditorBayDetailAddDlg::initial()
|
||||||
connect(ui->tableView_selected, &QTableView::customContextMenuRequested, this, &DiagramEditorBayDetailAddDlg::onRouteRbtnClicked);
|
connect(ui->tableView_selected, &QTableView::customContextMenuRequested, this, &DiagramEditorBayDetailAddDlg::onRouteRbtnClicked);
|
||||||
connect(ui->tableView_items, &QTableView::customContextMenuRequested, this, &DiagramEditorBayDetailAddDlg::onComponentRbtnClicked);
|
connect(ui->tableView_items, &QTableView::customContextMenuRequested, this, &DiagramEditorBayDetailAddDlg::onComponentRbtnClicked);
|
||||||
|
|
||||||
|
QMap<int,modelType> mapType = BaseTypeManager::getInstance()->getMapType(); //直接添加数据库中的基础类型
|
||||||
|
for(auto iter = mapType.begin();iter != mapType.end();++iter){
|
||||||
|
int index = ui->cb_type->count();
|
||||||
|
ui->cb_type->addItem(iter.value().modelName);
|
||||||
|
ui->cb_type->setItemData(index,iter->id,Qt::UserRole); //存放基模id
|
||||||
|
ui->cb_type->setItemData(index,iter->graphicElement,Qt::UserRole+1); //存放基础类型
|
||||||
|
}
|
||||||
|
|
||||||
ui->cb_category->addItem("电气设备",0);
|
ui->cb_category->addItem("电气设备",0);
|
||||||
ui->cb_category->addItem("连接关系",1);
|
ui->cb_category->addItem("连接关系",1);
|
||||||
ui->cb_type->addItem("母线",1);
|
|
||||||
ui->cb_type->addItem("异步电动机",2);
|
|
||||||
ui->cb_type->addItem("断路器",3);
|
|
||||||
ui->cb_type->addItem("电缆",4);
|
|
||||||
ui->cb_type->addItem("电流互感器",5);
|
|
||||||
ui->cb_type->addItem("电压互感器",6);
|
|
||||||
ui->cb_type->addItem("隔离开关",7);
|
|
||||||
ui->cb_type->addItem("接地开关",8);
|
|
||||||
ui->cb_type->addItem("快速接地开关",9);
|
|
||||||
ui->cb_type->addItem("双掷接地隔离开关",10);
|
|
||||||
ui->cb_type->addItem("带电指示器",11);
|
|
||||||
ui->cb_type->addItem("避雷器",12);
|
|
||||||
ui->cb_type->addItem("电缆出线套筒",13);
|
|
||||||
ui->cb_type->addItem("电缆端",14);
|
|
||||||
|
|
||||||
ui->tableView_items->setContextMenuPolicy(Qt::CustomContextMenu);
|
ui->tableView_items->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
ui->tableView_items->setSelectionMode(QAbstractItemView::SingleSelection);
|
ui->tableView_items->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||||
|
|
@ -170,52 +165,11 @@ void DiagramEditorBayDetailAddDlg::showDlg(DiagramEditorRouteInfo info)
|
||||||
QString sType;
|
QString sType;
|
||||||
if(component.nCategory == 0){
|
if(component.nCategory == 0){
|
||||||
sCate = "电气设备";
|
sCate = "电气设备";
|
||||||
if(component.nType == 1){
|
sType = BaseTypeManager::getInstance()->getNameById(component.nType); //直接添加数据库中的基础类型
|
||||||
sType = "母线";
|
|
||||||
}
|
|
||||||
else if(component.nType == 2){
|
|
||||||
sType = "异步电动机";
|
|
||||||
}
|
|
||||||
else if(component.nType == 3){
|
|
||||||
sType = "断路器";
|
|
||||||
}
|
|
||||||
else if(component.nType == 4){
|
|
||||||
sType = "电缆";
|
|
||||||
}
|
|
||||||
else if(component.nType == 5){
|
|
||||||
sType = "电流互感器";
|
|
||||||
}
|
|
||||||
else if(component.nType == 6){
|
|
||||||
sType = "电压互感器";
|
|
||||||
}
|
|
||||||
else if(component.nType == 7){
|
|
||||||
sType = "隔离开关";
|
|
||||||
}
|
|
||||||
else if(component.nType == 8){
|
|
||||||
sType = "接地开关";
|
|
||||||
}
|
|
||||||
else if(component.nType == 9){
|
|
||||||
sType = "快速接地开关";
|
|
||||||
}
|
|
||||||
else if(component.nType == 10){
|
|
||||||
sType = "双掷接地隔离开关";
|
|
||||||
}
|
|
||||||
else if(component.nType == 11){
|
|
||||||
sType = "带电指示器";
|
|
||||||
}
|
|
||||||
else if(component.nType == 12){
|
|
||||||
sType = "避雷器";
|
|
||||||
}
|
|
||||||
else if(component.nType == 13){
|
|
||||||
sType = "电缆出线套筒";
|
|
||||||
}
|
|
||||||
else if(component.nType == 14){
|
|
||||||
sType = "电缆端";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if(component.nCategory == 1){
|
else if(component.nCategory == 1){
|
||||||
sCate = "连接关系";
|
sCate = "连接关系";
|
||||||
if(component.nType == 1){
|
if(component.nType == 0){ //连接点暂时写死
|
||||||
sType = "连接点";
|
sType = "连接点";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -496,24 +450,16 @@ void DiagramEditorBayDetailAddDlg::onCategoryChanged(const QString& str)
|
||||||
{
|
{
|
||||||
ui->cb_type->clear();
|
ui->cb_type->clear();
|
||||||
if(str == "电气设备"){
|
if(str == "电气设备"){
|
||||||
QStringList lst;
|
QMap<int,modelType> mapType = BaseTypeManager::getInstance()->getMapType(); //直接添加数据库中的基础类型
|
||||||
ui->cb_type->addItem("母线",1);
|
for(auto iter = mapType.begin();iter != mapType.end();++iter){
|
||||||
ui->cb_type->addItem("异步电动机",2);
|
int index = ui->cb_type->count();
|
||||||
ui->cb_type->addItem("断路器",3);
|
ui->cb_type->addItem(iter.value().modelName);
|
||||||
ui->cb_type->addItem("电缆",4);
|
ui->cb_type->setItemData(index,iter->id,Qt::UserRole); //存放基模id
|
||||||
ui->cb_type->addItem("电流互感器",5);
|
ui->cb_type->setItemData(index,iter->graphicElement,Qt::UserRole+1); //存放基础类型
|
||||||
ui->cb_type->addItem("电压互感器",6);
|
}
|
||||||
ui->cb_type->addItem("隔离开关",7);
|
|
||||||
ui->cb_type->addItem("接地开关",8);
|
|
||||||
ui->cb_type->addItem("快速接地开关",9);
|
|
||||||
ui->cb_type->addItem("双掷接地隔离开关",10);
|
|
||||||
ui->cb_type->addItem("带电指示器",11);
|
|
||||||
ui->cb_type->addItem("避雷器",12);
|
|
||||||
ui->cb_type->addItem("电缆出线套筒",13);
|
|
||||||
ui->cb_type->addItem("电缆端",14);
|
|
||||||
}
|
}
|
||||||
else if(str == "连接关系"){
|
else if(str == "连接关系"){
|
||||||
ui->cb_type->addItem("连接点",1);
|
ui->cb_type->addItem("连接点",0); //连接点暂时写死为0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,10 @@
|
||||||
#include "diagramEditor/diagramEditorBayDetailSettingDlg.h"
|
#include "diagramEditor/diagramEditorBayDetailSettingDlg.h"
|
||||||
#include "diagramEditor/diagramEditorBayDetailAddDlg.h"
|
#include "diagramEditor/diagramEditorBayDetailAddDlg.h"
|
||||||
#include "diagramEditor/diagramEditorBayPreviewDlg.h"
|
#include "diagramEditor/diagramEditorBayPreviewDlg.h"
|
||||||
#include "diagramEditor/diagramEditorWizard.h"
|
|
||||||
#include "ui_diagramEditorBayDetailSettingDlg.h"
|
#include "ui_diagramEditorBayDetailSettingDlg.h"
|
||||||
#include "diagramEditor/diagramEditorBaseBlock.h"
|
#include "diagramEditor/diagramEditorBaseBlock.h"
|
||||||
#include "graphicsDataModel/diagramEditorModel.h"
|
#include "graphicsDataModel/diagramEditorModel.h"
|
||||||
|
#include "include/instance/baseTypeManager.h"
|
||||||
#include "topologyManager.h"
|
#include "topologyManager.h"
|
||||||
|
|
||||||
DiagramEditorBayDetailSettingDlg::DiagramEditorBayDetailSettingDlg(QWidget *parent,DiagramEditorModel* pModel)
|
DiagramEditorBayDetailSettingDlg::DiagramEditorBayDetailSettingDlg(QWidget *parent,DiagramEditorModel* pModel)
|
||||||
|
|
@ -84,70 +84,15 @@ void DiagramEditorBayDetailSettingDlg::refreshModel()
|
||||||
QString sType;
|
QString sType;
|
||||||
if(info.nCategory == 0){
|
if(info.nCategory == 0){
|
||||||
sCategory = "设备";
|
sCategory = "设备";
|
||||||
if(info.nType == 1)
|
sType = BaseTypeManager::getInstance()->getNameById(info.nType);
|
||||||
{
|
|
||||||
sType = "母线";
|
|
||||||
}
|
|
||||||
else if(info.nType == 2)
|
|
||||||
{
|
|
||||||
sType = "异步电动机";
|
|
||||||
}
|
|
||||||
else if(info.nType == 3)
|
|
||||||
{
|
|
||||||
sType = "断路器";
|
|
||||||
}
|
|
||||||
else if(info.nType == 4)
|
|
||||||
{
|
|
||||||
sType = "电缆";
|
|
||||||
}
|
|
||||||
else if(info.nType == 5)
|
|
||||||
{
|
|
||||||
sType = "电流互感器";
|
|
||||||
}
|
|
||||||
else if(info.nType == 6)
|
|
||||||
{
|
|
||||||
sType = "电压互感器";
|
|
||||||
}
|
|
||||||
else if(info.nType == 7)
|
|
||||||
{
|
|
||||||
sType = "隔离开关";
|
|
||||||
}
|
|
||||||
else if(info.nType == 8)
|
|
||||||
{
|
|
||||||
sType = "接地开关";
|
|
||||||
}
|
|
||||||
else if(info.nType == 9)
|
|
||||||
{
|
|
||||||
sType = "快速接地开关";
|
|
||||||
}
|
|
||||||
else if(info.nType == 10)
|
|
||||||
{
|
|
||||||
sType = "双掷接地隔离开关";
|
|
||||||
}
|
|
||||||
else if(info.nType == 11)
|
|
||||||
{
|
|
||||||
sType = "带电指示器";
|
|
||||||
}
|
|
||||||
else if(info.nType == 12)
|
|
||||||
{
|
|
||||||
sType = "避雷器";
|
|
||||||
}
|
|
||||||
else if(info.nType == 13)
|
|
||||||
{
|
|
||||||
sType = "电缆出线套筒";
|
|
||||||
}
|
|
||||||
else if(info.nType == 14)
|
|
||||||
{
|
|
||||||
sType = "电缆端";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if(info.nCategory == 1){
|
else if(info.nCategory == 1){
|
||||||
sCategory = "连接关系";
|
sCategory = "连接关系";
|
||||||
if(info.nType == 1){
|
if(info.nType == 0){ //连接点暂时写死
|
||||||
sType = "连接点";
|
sType = "连接点";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
int nBaseType = BaseTypeManager::getInstance()->getBaseTypeById(info.nType);
|
||||||
itemCate->setText(sCategory);
|
itemCate->setText(sCategory);
|
||||||
itemCate->setData(info.nCategory);
|
itemCate->setData(info.nCategory);
|
||||||
itemName->setText(info.sName);
|
itemName->setText(info.sName);
|
||||||
|
|
@ -158,6 +103,7 @@ void DiagramEditorBayDetailSettingDlg::refreshModel()
|
||||||
itemName->setData(info.nRotate,Qt::UserRole+5);
|
itemName->setData(info.nRotate,Qt::UserRole+5);
|
||||||
itemType->setText(sType);
|
itemType->setText(sType);
|
||||||
itemType->setData(info.nType);
|
itemType->setData(info.nType);
|
||||||
|
itemType->setData(nBaseType,Qt::UserRole+2);
|
||||||
itemObj->setText(info.sBindObj);
|
itemObj->setText(info.sBindObj);
|
||||||
itemObj->setData(info.nBindType);
|
itemObj->setData(info.nBindType);
|
||||||
itemObj->setData(info.nBindPara,Qt::UserRole+2);
|
itemObj->setData(info.nBindPara,Qt::UserRole+2);
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
#include "ui_diagramEditorTransDetailAddDlg.h"
|
#include "ui_diagramEditorTransDetailAddDlg.h"
|
||||||
#include "diagramEditor/diagramEditorBaseBlock.h"
|
#include "diagramEditor/diagramEditorBaseBlock.h"
|
||||||
#include "diagramEditor/diagramEditorWizard.h"
|
#include "diagramEditor/diagramEditorWizard.h"
|
||||||
|
#include "include/instance/baseTypeManager.h"
|
||||||
|
|
||||||
DiagramEditorTransDetailAddDlg::DiagramEditorTransDetailAddDlg(QWidget *parent)
|
DiagramEditorTransDetailAddDlg::DiagramEditorTransDetailAddDlg(QWidget *parent)
|
||||||
: QDialog(parent)
|
: QDialog(parent)
|
||||||
|
|
@ -40,22 +41,15 @@ void DiagramEditorTransDetailAddDlg::initial()
|
||||||
connect(ui->tableView_selected, &QTableView::customContextMenuRequested, this, &DiagramEditorTransDetailAddDlg::onRouteRbtnClicked);
|
connect(ui->tableView_selected, &QTableView::customContextMenuRequested, this, &DiagramEditorTransDetailAddDlg::onRouteRbtnClicked);
|
||||||
connect(ui->tableView_items, &QTableView::customContextMenuRequested, this, &DiagramEditorTransDetailAddDlg::onComponentRbtnClicked);
|
connect(ui->tableView_items, &QTableView::customContextMenuRequested, this, &DiagramEditorTransDetailAddDlg::onComponentRbtnClicked);
|
||||||
|
|
||||||
|
QMap<int,modelType> mapType = BaseTypeManager::getInstance()->getMapType(); //直接添加数据库中的基础类型
|
||||||
|
for(auto iter = mapType.begin();iter != mapType.end();++iter){
|
||||||
|
int index = ui->cb_type->count();
|
||||||
|
ui->cb_type->addItem(iter.value().modelName);
|
||||||
|
ui->cb_type->setItemData(index,iter->id,Qt::UserRole); //存放基模id
|
||||||
|
ui->cb_type->setItemData(index,iter->graphicElement,Qt::UserRole+1); //存放基础类型
|
||||||
|
}
|
||||||
ui->cb_category->addItem("电气设备",0);
|
ui->cb_category->addItem("电气设备",0);
|
||||||
ui->cb_category->addItem("连接关系",1);
|
ui->cb_category->addItem("连接关系",1);
|
||||||
ui->cb_type->addItem("母线",1);
|
|
||||||
ui->cb_type->addItem("异步电动机",2);
|
|
||||||
ui->cb_type->addItem("断路器",3);
|
|
||||||
ui->cb_type->addItem("电缆",4);
|
|
||||||
ui->cb_type->addItem("电流互感器",5);
|
|
||||||
ui->cb_type->addItem("电压互感器",6);
|
|
||||||
ui->cb_type->addItem("隔离开关",7);
|
|
||||||
ui->cb_type->addItem("接地开关",8);
|
|
||||||
ui->cb_type->addItem("快速接地开关",9);
|
|
||||||
ui->cb_type->addItem("双掷接地隔离开关",10);
|
|
||||||
ui->cb_type->addItem("带电指示器",11);
|
|
||||||
ui->cb_type->addItem("避雷器",12);
|
|
||||||
ui->cb_type->addItem("电缆出线套筒",13);
|
|
||||||
ui->cb_type->addItem("电缆端",14);
|
|
||||||
|
|
||||||
ui->tableView_items->setContextMenuPolicy(Qt::CustomContextMenu);
|
ui->tableView_items->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
ui->tableView_items->setSelectionMode(QAbstractItemView::SingleSelection);
|
ui->tableView_items->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||||
|
|
@ -110,52 +104,11 @@ void DiagramEditorTransDetailAddDlg::showDlg(DiagramEditorRouteInfo info)
|
||||||
QString sType;
|
QString sType;
|
||||||
if(component.nCategory == 0){
|
if(component.nCategory == 0){
|
||||||
sCate = "电气设备";
|
sCate = "电气设备";
|
||||||
if(component.nType == 1){
|
sType = BaseTypeManager::getInstance()->getNameById(component.nType);
|
||||||
sType = "母线";
|
|
||||||
}
|
|
||||||
else if(component.nType == 2){
|
|
||||||
sType = "异步电动机";
|
|
||||||
}
|
|
||||||
else if(component.nType == 3){
|
|
||||||
sType = "断路器";
|
|
||||||
}
|
|
||||||
else if(component.nType == 4){
|
|
||||||
sType = "电缆";
|
|
||||||
}
|
|
||||||
else if(component.nType == 5){
|
|
||||||
sType = "电流互感器";
|
|
||||||
}
|
|
||||||
else if(component.nType == 6){
|
|
||||||
sType = "电压互感器";
|
|
||||||
}
|
|
||||||
else if(component.nType == 7){
|
|
||||||
sType = "隔离开关";
|
|
||||||
}
|
|
||||||
else if(component.nType == 8){
|
|
||||||
sType = "接地开关";
|
|
||||||
}
|
|
||||||
else if(component.nType == 9){
|
|
||||||
sType = "快速接地开关";
|
|
||||||
}
|
|
||||||
else if(component.nType == 10){
|
|
||||||
sType = "双掷接地隔离开关";
|
|
||||||
}
|
|
||||||
else if(component.nType == 11){
|
|
||||||
sType = "带电指示器";
|
|
||||||
}
|
|
||||||
else if(component.nType == 12){
|
|
||||||
sType = "避雷器";
|
|
||||||
}
|
|
||||||
else if(component.nType == 13){
|
|
||||||
sType = "电缆出线套筒";
|
|
||||||
}
|
|
||||||
else if(component.nType == 14){
|
|
||||||
sType = "电缆端";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if(component.nCategory == 1){
|
else if(component.nCategory == 1){
|
||||||
sCate = "连接关系";
|
sCate = "连接关系";
|
||||||
if(component.nType == 1){
|
if(component.nType == 0){ //连接点暂时写死
|
||||||
sType = "连接点";
|
sType = "连接点";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -481,21 +434,13 @@ void DiagramEditorTransDetailAddDlg::onCategoryChanged(const QString& str)
|
||||||
{
|
{
|
||||||
ui->cb_type->clear();
|
ui->cb_type->clear();
|
||||||
if(str == "电气设备"){
|
if(str == "电气设备"){
|
||||||
QStringList lst;
|
QMap<int,modelType> mapType = BaseTypeManager::getInstance()->getMapType(); //直接添加数据库中的基础类型
|
||||||
ui->cb_type->addItem("母线",1);
|
for(auto iter = mapType.begin();iter != mapType.end();++iter){
|
||||||
ui->cb_type->addItem("异步电动机",2);
|
int index = ui->cb_type->count();
|
||||||
ui->cb_type->addItem("断路器",3);
|
ui->cb_type->addItem(iter.value().modelName);
|
||||||
ui->cb_type->addItem("电缆",4);
|
ui->cb_type->setItemData(index,iter->id,Qt::UserRole); //存放基模id
|
||||||
ui->cb_type->addItem("电流互感器",5);
|
ui->cb_type->setItemData(index,iter->graphicElement,Qt::UserRole+1); //存放基础类型
|
||||||
ui->cb_type->addItem("电压互感器",6);
|
}
|
||||||
ui->cb_type->addItem("隔离开关",7);
|
|
||||||
ui->cb_type->addItem("接地开关",8);
|
|
||||||
ui->cb_type->addItem("快速接地开关",9);
|
|
||||||
ui->cb_type->addItem("双掷接地隔离开关",10);
|
|
||||||
ui->cb_type->addItem("带电指示器",11);
|
|
||||||
ui->cb_type->addItem("避雷器",12);
|
|
||||||
ui->cb_type->addItem("电缆出线套筒",13);
|
|
||||||
ui->cb_type->addItem("电缆端",14);
|
|
||||||
}
|
}
|
||||||
else if(str == "连接关系"){
|
else if(str == "连接关系"){
|
||||||
ui->cb_type->addItem("连接点",1);
|
ui->cb_type->addItem("连接点",1);
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,12 @@
|
||||||
#include "diagramEditor/diagramEditorTransDetailSettingDlg.h"
|
#include "diagramEditor/diagramEditorTransDetailSettingDlg.h"
|
||||||
#include "diagramEditor/diagramEditorTransDetailAddDlg.h"
|
#include "diagramEditor/diagramEditorTransDetailAddDlg.h"
|
||||||
#include "diagramEditor/diagramEditorTransPreviewDlg.h"
|
#include "diagramEditor/diagramEditorTransPreviewDlg.h"
|
||||||
#include "diagramEditor/diagramEditorWizard.h"
|
|
||||||
#include "ui_diagramEditorTransDetailSettingDlg.h"
|
#include "ui_diagramEditorTransDetailSettingDlg.h"
|
||||||
#include "diagramEditor/diagramEditorBaseBlock.h"
|
#include "diagramEditor/diagramEditorBaseBlock.h"
|
||||||
#include "graphicsDataModel/diagramEditorModel.h"
|
#include "graphicsDataModel/diagramEditorModel.h"
|
||||||
#include "topologyManager.h"
|
#include "topologyManager.h"
|
||||||
#include "diagramEditor/diagramEditorTransPreviewDlg.h"
|
#include "diagramEditor/diagramEditorTransPreviewDlg.h"
|
||||||
|
#include "include/instance/baseTypeManager.h"
|
||||||
|
|
||||||
DiagramEditorTransDetailSettingDlg::DiagramEditorTransDetailSettingDlg(QWidget *parent,DiagramEditorModel* pModel)
|
DiagramEditorTransDetailSettingDlg::DiagramEditorTransDetailSettingDlg(QWidget *parent,DiagramEditorModel* pModel)
|
||||||
: QDialog(parent)
|
: QDialog(parent)
|
||||||
|
|
@ -108,69 +108,18 @@ void DiagramEditorTransDetailSettingDlg::refreshModel()
|
||||||
QStandardItem *itemObj = new QStandardItem();
|
QStandardItem *itemObj = new QStandardItem();
|
||||||
QStandardItem *itemRoute = new QStandardItem();
|
QStandardItem *itemRoute = new QStandardItem();
|
||||||
QString sCategory;
|
QString sCategory;
|
||||||
|
QString sType;
|
||||||
if(info.nCategory == 0){
|
if(info.nCategory == 0){
|
||||||
sCategory = "设备";
|
sCategory = "设备";
|
||||||
|
sType = BaseTypeManager::getInstance()->getNameById(info.nType);
|
||||||
}
|
}
|
||||||
else if(info.nCategory == 1){
|
else if(info.nCategory == 1){
|
||||||
sCategory = "连接关系";
|
sCategory = "连接关系";
|
||||||
|
if(info.nType == 0){ //连接点暂时写死
|
||||||
|
sType = "连接点";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
QString sType;
|
int nBaseType = BaseTypeManager::getInstance()->getBaseTypeById(info.nType);
|
||||||
if(info.nType == 1)
|
|
||||||
{
|
|
||||||
sType = "母线";
|
|
||||||
}
|
|
||||||
else if(info.nType == 2)
|
|
||||||
{
|
|
||||||
sType = "异步电动机";
|
|
||||||
}
|
|
||||||
else if(info.nType == 3)
|
|
||||||
{
|
|
||||||
sType = "断路器";
|
|
||||||
}
|
|
||||||
else if(info.nType == 4)
|
|
||||||
{
|
|
||||||
sType = "电缆";
|
|
||||||
}
|
|
||||||
else if(info.nType == 5)
|
|
||||||
{
|
|
||||||
sType = "电流互感器";
|
|
||||||
}
|
|
||||||
else if(info.nType == 6)
|
|
||||||
{
|
|
||||||
sType = "电压互感器";
|
|
||||||
}
|
|
||||||
else if(info.nType == 7)
|
|
||||||
{
|
|
||||||
sType = "隔离开关";
|
|
||||||
}
|
|
||||||
else if(info.nType == 8)
|
|
||||||
{
|
|
||||||
sType = "接地开关";
|
|
||||||
}
|
|
||||||
else if(info.nType == 9)
|
|
||||||
{
|
|
||||||
sType = "快速接地开关";
|
|
||||||
}
|
|
||||||
else if(info.nType == 10)
|
|
||||||
{
|
|
||||||
sType = "双掷接地隔离开关";
|
|
||||||
}
|
|
||||||
else if(info.nType == 11)
|
|
||||||
{
|
|
||||||
sType = "带点指示器";
|
|
||||||
}
|
|
||||||
else if(info.nType == 12)
|
|
||||||
{
|
|
||||||
sType = "避雷器";
|
|
||||||
}
|
|
||||||
else if(info.nType == 13)
|
|
||||||
{
|
|
||||||
sType = "电缆出线套筒";
|
|
||||||
}
|
|
||||||
else if(info.nType == 14)
|
|
||||||
{
|
|
||||||
sType = "电缆端";
|
|
||||||
}
|
|
||||||
itemCate->setText(sCategory);
|
itemCate->setText(sCategory);
|
||||||
itemCate->setData(info.nCategory);
|
itemCate->setData(info.nCategory);
|
||||||
itemName->setText(info.sName);
|
itemName->setText(info.sName);
|
||||||
|
|
@ -181,6 +130,7 @@ void DiagramEditorTransDetailSettingDlg::refreshModel()
|
||||||
itemName->setData(info.nRotate,Qt::UserRole+5);
|
itemName->setData(info.nRotate,Qt::UserRole+5);
|
||||||
itemType->setText(sType);
|
itemType->setText(sType);
|
||||||
itemType->setData(info.nType);
|
itemType->setData(info.nType);
|
||||||
|
itemType->setData(nBaseType,Qt::UserRole+2);
|
||||||
itemObj->setText(info.sBindObj);
|
itemObj->setText(info.sBindObj);
|
||||||
itemObj->setData(info.nBindType);
|
itemObj->setData(info.nBindType);
|
||||||
itemObj->setData(info.nBindPara,Qt::UserRole+2);
|
itemObj->setData(info.nBindPara,Qt::UserRole+2);
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
#include <QJsonArray>
|
#include <QJsonArray>
|
||||||
#include <QMetaMethod>
|
#include <QMetaMethod>
|
||||||
#include "common/core_model/constants.h"
|
#include "common/core_model/constants.h"
|
||||||
|
#include "include/instance/baseTypeManager.h"
|
||||||
|
|
||||||
int g_nCompoWidth = 50; //元件默认宽度(计算布局使用)
|
int g_nCompoWidth = 50; //元件默认宽度(计算布局使用)
|
||||||
int g_nCompoHeight = 50;
|
int g_nCompoHeight = 50;
|
||||||
|
|
@ -153,10 +154,9 @@ QRectF DiagramEditorModel::generateTempBay(DiagramEditorBayBlock* p)
|
||||||
return itemsRect;
|
return itemsRect;
|
||||||
}
|
}
|
||||||
|
|
||||||
GraphicsBaseModelItem* DiagramEditorModel::generateComponent(QUuid uid,QString sName,int nCategory,int nType,QPointF pos,int nRotate,int mode,DiagramEditorBaseBlock* pBlock)
|
GraphicsBaseModelItem* DiagramEditorModel::generateComponent(QUuid uid,QString sName,int nCategory,int nType,int baseType,QPointF pos,int nRotate,int mode,DiagramEditorBaseBlock* pBlock)
|
||||||
{
|
{
|
||||||
GraphicsBaseModelItem* pItem = nullptr;
|
GraphicsBaseModelItem* pItem = nullptr;
|
||||||
int componentType = -1; //对应的componentType
|
|
||||||
if(nCategory == 0)
|
if(nCategory == 0)
|
||||||
{
|
{
|
||||||
QByteArray byte;
|
QByteArray byte;
|
||||||
|
|
@ -166,67 +166,64 @@ GraphicsBaseModelItem* DiagramEditorModel::generateComponent(QUuid uid,QString s
|
||||||
pBus->loadSvg(byte);
|
pBus->loadSvg(byte);
|
||||||
pItem = pBus;
|
pItem = pBus;
|
||||||
pItem->setItemType(GIT_baseBus);
|
pItem->setItemType(GIT_baseBus);
|
||||||
componentType = 1;
|
|
||||||
}
|
}
|
||||||
else if(nType == 2){ //异步电动机
|
else if(nType == 2){ //异步电动机
|
||||||
componentType = 2;
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
|
auto pMotor = new ElectricBaseModelSvgItem(QRect(-40, -40, 80, 80));
|
||||||
|
pMotor->loadSvg(byte);
|
||||||
|
pItem = pMotor;
|
||||||
|
pItem->setItemType(GIT_baseMotor);
|
||||||
|
pItem->initialPortsByDatabase(baseType);
|
||||||
}
|
}
|
||||||
else if(nType == 3){ //断路器
|
else if(nType == 3){ //断路器
|
||||||
byte = DataBase::GetInstance()->ModelType()[nType].icon; //注意modelType表与componentType表不一致!
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
auto pBreaker = new ElectricBaseModelSvgItem(QRect(-15, -15, 30, 30));
|
auto pBreaker = new ElectricBaseModelSvgItem(QRect(-15, -15, 30, 30));
|
||||||
pBreaker->loadSvg(byte);
|
pBreaker->loadSvg(byte);
|
||||||
pItem = pBreaker;
|
pItem = pBreaker;
|
||||||
pItem->setItemType(GIT_baseBreaker);
|
pItem->setItemType(GIT_baseBreaker);
|
||||||
componentType = 3;
|
pItem->initialPortsByDatabase(baseType);
|
||||||
pItem->initialPortsByDatabase(componentType);
|
|
||||||
}
|
}
|
||||||
else if(nType == 4){ //电缆
|
else if(nType == 4){ //电缆
|
||||||
componentType = 8;
|
|
||||||
}
|
}
|
||||||
else if(nType == 5){ //电流互感器
|
else if(nType == 5){ //电流互感器
|
||||||
byte = DataBase::GetInstance()->ModelType()[nType].icon; //注意modelType表与componentType表不一致!
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
auto pCt= new ElectricBaseModelSvgItem(QRect(-10, -10, 20, 20));
|
auto pCt= new ElectricBaseModelSvgItem(QRect(-10, -10, 20, 20));
|
||||||
pCt->loadSvg(byte);
|
pCt->loadSvg(byte);
|
||||||
pItem = pCt;
|
pItem = pCt;
|
||||||
pItem->setItemType(GIT_baseCT);
|
pItem->setItemType(GIT_baseCT);
|
||||||
componentType = 4;
|
pItem->initialPortsByDatabase(baseType);
|
||||||
pItem->initialPortsByDatabase(componentType);
|
|
||||||
}
|
}
|
||||||
else if(nType == 6){ //电压互感器
|
else if(nType == 6){ //电压互感器
|
||||||
byte = DataBase::GetInstance()->ModelType()[nType].icon; //注意modelType表与componentType表不一致!
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
auto pPt = new ElectricBaseModelSvgItem(QRect(-25, -25, 50, 50));
|
auto pPt = new ElectricBaseModelSvgItem(QRect(-25, -25, 50, 50));
|
||||||
pPt->loadSvg(byte);
|
pPt->loadSvg(byte);
|
||||||
pItem = pPt;
|
pItem = pPt;
|
||||||
pItem->setItemType(GIT_basePT);
|
pItem->setItemType(GIT_basePT);
|
||||||
componentType = 5;
|
pItem->initialPortsByDatabase(baseType);
|
||||||
pItem->initialPortsByDatabase(componentType);
|
|
||||||
}
|
}
|
||||||
else if(nType == 7){ //隔离开关
|
else if(nType == 7){ //隔离开关
|
||||||
byte = DataBase::GetInstance()->ModelType()[nType].icon; //注意modelType表与componentType表不一致!
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
auto pDs = new ElectricBaseModelSvgItem(QRect(-15, -15, 30, 30));
|
auto pDs = new ElectricBaseModelSvgItem(QRect(-15, -15, 30, 30));
|
||||||
pDs->loadSvg(byte);
|
pDs->loadSvg(byte);
|
||||||
pItem = pDs;
|
pItem = pDs;
|
||||||
pItem->setItemType(GIT_baseDS);
|
pItem->setItemType(GIT_baseDS);
|
||||||
componentType = 9;
|
pItem->initialPortsByDatabase(baseType);
|
||||||
pItem->initialPortsByDatabase(componentType);
|
|
||||||
}
|
}
|
||||||
else if(nType == 8){ //接地开关
|
else if(nType == 8){ //接地开关
|
||||||
byte = DataBase::GetInstance()->ModelType()[nType].icon; //注意modelType表与componentType表不一致!
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
auto pEs = new ElectricBaseModelSvgItem(QRect(-15, -30, 30, 60));
|
auto pEs = new ElectricBaseModelSvgItem(QRect(-15, -30, 30, 60));
|
||||||
pEs->loadSvg(byte);
|
pEs->loadSvg(byte);
|
||||||
pItem = pEs;
|
pItem = pEs;
|
||||||
pItem->setItemType(GIT_baseES);
|
pItem->setItemType(GIT_baseES);
|
||||||
componentType = 6;
|
pItem->initialPortsByDatabase(baseType);
|
||||||
pItem->initialPortsByDatabase(componentType);
|
|
||||||
}
|
}
|
||||||
else if(nType == 9){ //快速接地开关
|
else if(nType == 9){ //快速接地开关
|
||||||
byte = DataBase::GetInstance()->ModelType()[nType].icon; //注意modelType表与componentType表不一致!
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
auto pFEs = new ElectricBaseModelSvgItem(QRect(-15, -30, 30, 60));
|
auto pFEs = new ElectricBaseModelSvgItem(QRect(-15, -30, 30, 60));
|
||||||
pFEs->loadSvg(byte);
|
pFEs->loadSvg(byte);
|
||||||
pItem = pFEs;
|
pItem = pFEs;
|
||||||
pItem->setItemType(GIT_baseFES);
|
pItem->setItemType(GIT_baseFES);
|
||||||
componentType = 7;
|
pItem->initialPortsByDatabase(baseType);
|
||||||
pItem->initialPortsByDatabase(componentType);
|
|
||||||
}
|
}
|
||||||
else if(nType == 10){ //双掷接地隔离开关
|
else if(nType == 10){ //双掷接地隔离开关
|
||||||
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
|
|
@ -234,17 +231,15 @@ GraphicsBaseModelItem* DiagramEditorModel::generateComponent(QUuid uid,QString s
|
||||||
pDtedes->loadSvg(byte);
|
pDtedes->loadSvg(byte);
|
||||||
pItem = pDtedes;
|
pItem = pDtedes;
|
||||||
pItem->setItemType(GIT_baseDTEDS);
|
pItem->setItemType(GIT_baseDTEDS);
|
||||||
componentType = 10;
|
pItem->initialPortsByDatabase(baseType);
|
||||||
pItem->initialPortsByDatabase(componentType);
|
|
||||||
}
|
}
|
||||||
else if(nType == 11){ //带电指示器
|
else if(nType == 11){ //带电指示器
|
||||||
byte = DataBase::GetInstance()->ModelType()[nType].icon; //注意modelType表与componentType表不一致!
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
auto pPi = new ElectricBaseModelSvgItem(QRect(-15, -30, 30, 60));
|
auto pPi = new ElectricBaseModelSvgItem(QRect(-15, -30, 30, 60));
|
||||||
pPi->loadSvg(byte);
|
pPi->loadSvg(byte);
|
||||||
pItem = pPi;
|
pItem = pPi;
|
||||||
pItem->setItemType(GIT_basePI);
|
pItem->setItemType(GIT_basePI);
|
||||||
componentType = 11;
|
pItem->initialPortsByDatabase(baseType);
|
||||||
pItem->initialPortsByDatabase(componentType);
|
|
||||||
}
|
}
|
||||||
else if(nType == 12){ //避雷器
|
else if(nType == 12){ //避雷器
|
||||||
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
|
|
@ -252,11 +247,16 @@ GraphicsBaseModelItem* DiagramEditorModel::generateComponent(QUuid uid,QString s
|
||||||
pPi->loadSvg(byte);
|
pPi->loadSvg(byte);
|
||||||
pItem = pPi;
|
pItem = pPi;
|
||||||
pItem->setItemType(GIT_baseLightningArrester);
|
pItem->setItemType(GIT_baseLightningArrester);
|
||||||
componentType = 12;
|
pItem->initialPortsByDatabase(baseType);
|
||||||
pItem->initialPortsByDatabase(componentType);
|
|
||||||
}
|
}
|
||||||
else if(nType == 13){ //电缆出线套筒
|
else if(nType == 13){ //电缆出线套筒
|
||||||
componentType = 13;
|
|
||||||
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
|
auto pCableTer = new ElectricBaseModelSvgItem(QRect(-10, -10, 20, 20));
|
||||||
|
pCableTer->loadSvg(byte);
|
||||||
|
pItem = pCableTer;
|
||||||
|
pItem->setItemType(GIT_baseCableTer);
|
||||||
|
pItem->initialPortsByDatabase(baseType);
|
||||||
}
|
}
|
||||||
else if(nType == 14){ //电缆端
|
else if(nType == 14){ //电缆端
|
||||||
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
|
|
@ -264,30 +264,35 @@ GraphicsBaseModelItem* DiagramEditorModel::generateComponent(QUuid uid,QString s
|
||||||
pCableEnd->loadSvg(byte);
|
pCableEnd->loadSvg(byte);
|
||||||
pItem = pCableEnd;
|
pItem = pCableEnd;
|
||||||
pItem->setItemType(GIT_baseCableEnd);
|
pItem->setItemType(GIT_baseCableEnd);
|
||||||
componentType = 14;
|
pItem->initialPortsByDatabase(baseType);
|
||||||
pItem->initialPortsByDatabase(componentType);
|
|
||||||
}
|
}
|
||||||
else if(nType == 15){ //两绕组变压器
|
else if(nType == 15){ //两绕组变压器
|
||||||
byte = DataBase::GetInstance()->ModelType()[nType].icon; //注意modelType表与componentType表不一致!
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
auto p2W = new ElectricBaseModelSvgItem(QRect(-50, -50, 100, 100));
|
auto p2W = new ElectricBaseModelSvgItem(QRect(-50, -50, 100, 100));
|
||||||
p2W->loadSvg(byte);
|
p2W->loadSvg(byte);
|
||||||
pItem = p2W;
|
pItem = p2W;
|
||||||
pItem->setItemType(GIT_base2wTransformer);
|
pItem->setItemType(GIT_base2wTransformer);
|
||||||
componentType = 15;
|
pItem->initialPortsByDatabase(baseType);
|
||||||
pItem->initialPortsByDatabase(componentType);
|
|
||||||
}
|
}
|
||||||
else if(nType == 16){ //三绕组变压器
|
else if(nType == 16){ //三绕组变压器
|
||||||
byte = DataBase::GetInstance()->ModelType()[nType].icon; //注意modelType表与componentType表不一致!
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
auto p3W = new ElectricBaseModelSvgItem(QRect(-75, -50, 150, 100));
|
auto p3W = new ElectricBaseModelSvgItem(QRect(-75, -50, 150, 100));
|
||||||
p3W->loadSvg(byte);
|
p3W->loadSvg(byte);
|
||||||
pItem = p3W;
|
pItem = p3W;
|
||||||
pItem->setItemType(GIT_base3wTransformer);
|
pItem->setItemType(GIT_base3wTransformer);
|
||||||
componentType = 16;
|
pItem->initialPortsByDatabase(baseType);
|
||||||
pItem->initialPortsByDatabase(componentType);
|
}
|
||||||
|
else{ //自定义类型
|
||||||
|
byte = DataBase::GetInstance()->ModelType()[nType].icon;
|
||||||
|
auto pCustom = new ElectricBaseModelSvgItem(QRect(-30, -30, 60, 60));
|
||||||
|
pCustom->loadSvg(byte);
|
||||||
|
pItem = pCustom;
|
||||||
|
pItem->setItemType(GIT_baseCustomItem);
|
||||||
|
pItem->initialPortsByDatabase(baseType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(nCategory == 1){
|
else if(nCategory == 1){
|
||||||
if(nType == 1){ //节点
|
if(nType == 0){ //节点
|
||||||
pItem = new ElectricBaseModelPortItem();
|
pItem = new ElectricBaseModelPortItem();
|
||||||
pItem->setItemType(GIT_baseNode);
|
pItem->setItemType(GIT_baseNode);
|
||||||
}
|
}
|
||||||
|
|
@ -320,7 +325,7 @@ GraphicsBaseModelItem* DiagramEditorModel::generateComponent(QUuid uid,QString s
|
||||||
pData->setGraphicsType(pItem->getItemType());
|
pData->setGraphicsType(pItem->getItemType());
|
||||||
}
|
}
|
||||||
else if(nCategory == 0){ //设备
|
else if(nCategory == 0){ //设备
|
||||||
pData = addPreviewData(uid,componentType,sName,DataBase::GetInstance()->ModelType()[nType].modelType,sBay,mode);
|
pData = addPreviewData(uid,baseType,sName,DataBase::GetInstance()->ModelType()[nType].modelType,sBay,mode);
|
||||||
pData->setGraphicsType(pItem->getItemType());
|
pData->setGraphicsType(pItem->getItemType());
|
||||||
}
|
}
|
||||||
if(pData)
|
if(pData)
|
||||||
|
|
@ -422,7 +427,9 @@ void DiagramEditorModel::connectTransToNeutral(DiagramEditorTransformerBlock* bl
|
||||||
else if(typ == TransformerType::threeWinding){
|
else if(typ == TransformerType::threeWinding){
|
||||||
nT = 16;
|
nT = 16;
|
||||||
}
|
}
|
||||||
generateComponent(uid,sName,0,nT,QPoint(0,0),0,0,block);
|
|
||||||
|
int nBaseType = BaseTypeManager::getInstance()->getBaseTypeById(nT);
|
||||||
|
generateComponent(uid,sName,0,nT,nBaseType,QPoint(0,0),0,0,block);
|
||||||
|
|
||||||
auto pTransItem = _tempItem.value(uid);
|
auto pTransItem = _tempItem.value(uid);
|
||||||
if(pTransItem){
|
if(pTransItem){
|
||||||
|
|
@ -534,7 +541,8 @@ void DiagramEditorModel::generatePreview(bool bVisible)
|
||||||
QPointF pos = item->scenePos();
|
QPointF pos = item->scenePos();
|
||||||
if(_previewItem.contains(uid))
|
if(_previewItem.contains(uid))
|
||||||
continue;
|
continue;
|
||||||
auto pItem = generateComponent(uid,name,0,1,pos,0,1,pBus);
|
int nBaseType = BaseTypeManager::getInstance()->getBaseTypeById(1);
|
||||||
|
auto pItem = generateComponent(uid,name,0,1,nBaseType,pos,0,1,pBus);
|
||||||
pBus->addSubList(qMakePair(0,uid));
|
pBus->addSubList(qMakePair(0,uid));
|
||||||
if(nMaxLen > rec.width())
|
if(nMaxLen > rec.width())
|
||||||
rec.setWidth(nMaxLen);
|
rec.setWidth(nMaxLen);
|
||||||
|
|
@ -625,7 +633,8 @@ void DiagramEditorModel::generatePreview(bool bVisible)
|
||||||
nType = 15;
|
nType = 15;
|
||||||
else
|
else
|
||||||
nType = 16;
|
nType = 16;
|
||||||
auto pItem = generateComponent(uid,name,0,nType,pos,0,1,pTrans);
|
int nBaseType = BaseTypeManager::getInstance()->getBaseTypeById(nType);
|
||||||
|
auto pItem = generateComponent(uid,name,0,nType,nBaseType,pos,0,1,pTrans);
|
||||||
auto pro = pItem->getProperty();
|
auto pro = pItem->getProperty();
|
||||||
|
|
||||||
QRectF rect = item->boundingRect();
|
QRectF rect = item->boundingRect();
|
||||||
|
|
@ -1130,8 +1139,10 @@ void DiagramEditorModel::generateItemByModel(QStandardItemModel* pModel,DiagramE
|
||||||
QPoint pos = pItem->data(Qt::UserRole+2).toPoint();
|
QPoint pos = pItem->data(Qt::UserRole+2).toPoint();
|
||||||
pos += delta;
|
pos += delta;
|
||||||
QUuid uid = pItem->data(Qt::UserRole+3).toUuid();
|
QUuid uid = pItem->data(Qt::UserRole+3).toUuid();
|
||||||
if(!_tempItem.contains(uid))
|
if(!_tempItem.contains(uid)){
|
||||||
generateComponent(uid,name,nCate,nType,pos,nRotate,0,pBlock);
|
int nBaseType = BaseTypeManager::getInstance()->getBaseTypeById(nType);
|
||||||
|
generateComponent(uid,name,nCate,nType,nBaseType,pos,nRotate,0,pBlock);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1181,7 +1192,8 @@ QList<DiagramEditorComponentInfo> DiagramEditorModel::generateItemByInfo(QMap<QS
|
||||||
auto info = mapCompo.value(compo.sName);
|
auto info = mapCompo.value(compo.sName);
|
||||||
if(_previewItem.contains(info.uid))
|
if(_previewItem.contains(info.uid))
|
||||||
continue;
|
continue;
|
||||||
generateComponent(info.uid,info.sName,info.nCategory,info.nType,info.deltaPos+delta,info.nRotate,1,pParent);
|
int nBaseType = BaseTypeManager::getInstance()->getBaseTypeById(info.nType);
|
||||||
|
generateComponent(info.uid,info.sName,info.nCategory,info.nType,nBaseType,info.deltaPos+delta,info.nRotate,1,pParent);
|
||||||
if(!info.sBindObj.isEmpty() && info.sBindObj != QString::fromWCharArray(L"无")){ //非空且不是无
|
if(!info.sBindObj.isEmpty() && info.sBindObj != QString::fromWCharArray(L"无")){ //非空且不是无
|
||||||
if(!lstBind.contains(info))
|
if(!lstBind.contains(info))
|
||||||
lstBind.append(info);
|
lstBind.append(info);
|
||||||
|
|
@ -1206,7 +1218,8 @@ QList<DiagramEditorComponentInfo> DiagramEditorModel::generateItemByInfo(QMap<QS
|
||||||
auto info = mapCompo.value(compo.sName);
|
auto info = mapCompo.value(compo.sName);
|
||||||
if(_previewItem.contains(info.uid))
|
if(_previewItem.contains(info.uid))
|
||||||
continue;
|
continue;
|
||||||
generateComponent(info.uid,info.sName,info.nCategory,info.nType,info.deltaPos+delta,info.nRotate,1,pParent);
|
int nBaseType = BaseTypeManager::getInstance()->getBaseTypeById(info.nType);
|
||||||
|
generateComponent(info.uid,info.sName,info.nCategory,info.nType,nBaseType,info.deltaPos+delta,info.nRotate,1,pParent);
|
||||||
if(!info.sBindObj.isEmpty() && info.sBindObj != QString::fromWCharArray(L"无")){ //非空且不是无
|
if(!info.sBindObj.isEmpty() && info.sBindObj != QString::fromWCharArray(L"无")){ //非空且不是无
|
||||||
if(!lstBind.contains(info))
|
if(!lstBind.contains(info))
|
||||||
lstBind.append(info);
|
lstBind.append(info);
|
||||||
|
|
@ -1217,7 +1230,8 @@ QList<DiagramEditorComponentInfo> DiagramEditorModel::generateItemByInfo(QMap<QS
|
||||||
auto info = mapCompo.value(compo.sName);
|
auto info = mapCompo.value(compo.sName);
|
||||||
if(_previewItem.contains(info.uid))
|
if(_previewItem.contains(info.uid))
|
||||||
continue;
|
continue;
|
||||||
generateComponent(info.uid,info.sName,info.nCategory,info.nType,info.deltaPos+delta,info.nRotate,1,pParent);
|
int nBaseType = BaseTypeManager::getInstance()->getBaseTypeById(info.nType);
|
||||||
|
generateComponent(info.uid,info.sName,info.nCategory,info.nType,nBaseType,info.deltaPos+delta,info.nRotate,1,pParent);
|
||||||
if(!info.sBindObj.isEmpty() && info.sBindObj != QString::fromWCharArray(L"无")){ //非空且不是无
|
if(!info.sBindObj.isEmpty() && info.sBindObj != QString::fromWCharArray(L"无")){ //非空且不是无
|
||||||
if(!lstBind.contains(info))
|
if(!lstBind.contains(info))
|
||||||
lstBind.append(info);
|
lstBind.append(info);
|
||||||
|
|
|
||||||
|
|
@ -52,8 +52,8 @@
|
||||||
#include "graphicsItem/handleText.h"
|
#include "graphicsItem/handleText.h"
|
||||||
#include "bayMeasureDlg.h"
|
#include "bayMeasureDlg.h"
|
||||||
#include "basePannelPropertyProxy.h"
|
#include "basePannelPropertyProxy.h"
|
||||||
//#include "global.h"
|
|
||||||
#include "common/core_model/types.h"
|
#include "common/core_model/types.h"
|
||||||
|
#include "include/instance/baseTypeManager.h"
|
||||||
|
|
||||||
bool FixedPortsModel::_dataInitialised = false;
|
bool FixedPortsModel::_dataInitialised = false;
|
||||||
|
|
||||||
|
|
@ -2267,7 +2267,6 @@ void FixedPortsModel::onWizardFinished(QMap<QUuid,GraphicsBaseModelItem*> mapIte
|
||||||
pPro->setGraphicsType(pro->graphicsType());
|
pPro->setGraphicsType(pro->graphicsType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//pPanel->getModelController()->addTestData();
|
|
||||||
|
|
||||||
QList<HierarchyItem> lstItem;
|
QList<HierarchyItem> lstItem;
|
||||||
for(auto pItem:mapItem){
|
for(auto pItem:mapItem){
|
||||||
|
|
@ -2608,6 +2607,8 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
pPro->setBay(sBay);
|
pPro->setBay(sBay);
|
||||||
pPro->setVoltageLevel(pBase->getVoltageLevel());
|
pPro->setVoltageLevel(pBase->getVoltageLevel());
|
||||||
|
|
||||||
|
int nBaseTypeId = BaseTypeManager::getInstance()->getIdByModelType(pBase->metaModelName());
|
||||||
|
|
||||||
QString sMeta = pBase->metaModelName();
|
QString sMeta = pBase->metaModelName();
|
||||||
QString sModel = pBase->modelName();
|
QString sModel = pBase->modelName();
|
||||||
int type = pBase->graphicsType();
|
int type = pBase->graphicsType();
|
||||||
|
|
@ -2621,7 +2622,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
{
|
{
|
||||||
QByteArray svg;
|
QByteArray svg;
|
||||||
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[1].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
||||||
|
|
@ -2638,7 +2639,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
{
|
{
|
||||||
QByteArray svg;
|
QByteArray svg;
|
||||||
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[3].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
||||||
|
|
@ -2657,7 +2658,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
QByteArray svg2;
|
QByteArray svg2;
|
||||||
QMap<QString,QByteArray> mapSvg = pBase->getModelProperty().modelSetting.mapSvg;
|
QMap<QString,QByteArray> mapSvg = pBase->getModelProperty().modelSetting.mapSvg;
|
||||||
if(mapSvg.isEmpty()){
|
if(mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[5].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
svg2 = svg;
|
svg2 = svg;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|
@ -2683,7 +2684,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
QByteArray svg2;
|
QByteArray svg2;
|
||||||
QMap<QString,QByteArray> mapSvg = pBase->getModelProperty().modelSetting.mapSvg;
|
QMap<QString,QByteArray> mapSvg = pBase->getModelProperty().modelSetting.mapSvg;
|
||||||
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[6].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
svg2 = svg;
|
svg2 = svg;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|
@ -2708,7 +2709,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
{
|
{
|
||||||
QByteArray svg;
|
QByteArray svg;
|
||||||
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[8].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
||||||
|
|
@ -2725,7 +2726,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
{
|
{
|
||||||
QByteArray svg;
|
QByteArray svg;
|
||||||
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[7].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
||||||
|
|
@ -2742,7 +2743,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
{
|
{
|
||||||
QByteArray svg;
|
QByteArray svg;
|
||||||
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[9].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
||||||
|
|
@ -2759,7 +2760,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
{
|
{
|
||||||
QByteArray svg;
|
QByteArray svg;
|
||||||
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[10].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
||||||
|
|
@ -2776,7 +2777,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
{
|
{
|
||||||
QByteArray svg;
|
QByteArray svg;
|
||||||
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[11].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
||||||
|
|
@ -2793,7 +2794,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
{
|
{
|
||||||
QByteArray svg;
|
QByteArray svg;
|
||||||
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[12].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
||||||
|
|
@ -2810,7 +2811,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
{
|
{
|
||||||
QByteArray svg;
|
QByteArray svg;
|
||||||
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[13].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
||||||
|
|
@ -2827,7 +2828,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
{
|
{
|
||||||
QByteArray svg;
|
QByteArray svg;
|
||||||
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[14].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
||||||
|
|
@ -2844,7 +2845,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
{
|
{
|
||||||
QByteArray svg;
|
QByteArray svg;
|
||||||
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[15].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
||||||
|
|
@ -2861,7 +2862,7 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
{
|
{
|
||||||
QByteArray svg;
|
QByteArray svg;
|
||||||
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
svg = DataBase::GetInstance()->ModelType()[16].icon;
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
||||||
|
|
@ -2881,6 +2882,23 @@ void FixedPortsModel::addProjectItemByBaseData(DrawingPanel* pPanel,GraphicsBase
|
||||||
pProItem->setItemType(GIT_link);
|
pProItem->setItemType(GIT_link);
|
||||||
pPanel->getScene()->addItem(pProItem);
|
pPanel->getScene()->addItem(pProItem);
|
||||||
}
|
}
|
||||||
|
else if(type == GIT_baseCustomItem)
|
||||||
|
{
|
||||||
|
QByteArray svg;
|
||||||
|
if(pBase->getModelProperty().modelSetting.mapSvg.isEmpty()){
|
||||||
|
svg = DataBase::GetInstance()->ModelType()[nBaseTypeId].icon;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
svg = pBase->getModelProperty().modelSetting.mapSvg.first();
|
||||||
|
}
|
||||||
|
ProjectModelManager::instance().getData()[sMeta][sModel].modelSetting.mapUsedSvg["customType"] = svg;
|
||||||
|
QRectF rec = pBaseItem->boundingRect();
|
||||||
|
auto pCustom = new ElectricSvgItem(rec.toRect());
|
||||||
|
pCustom->updateMapSvg(ProjectModelManager::instance().getData()[sMeta][sModel].modelSetting.mapUsedSvg);
|
||||||
|
pCustom->loadSvg(svg);
|
||||||
|
pProItem = pCustom;
|
||||||
|
pProItem->setItemType(GIT_CustomType);
|
||||||
|
}
|
||||||
|
|
||||||
if(pBase->graphicsType() != GIT_baseLine) //非连接线对象
|
if(pBase->graphicsType() != GIT_baseLine) //非连接线对象
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
#include "include/instance/baseTypeManager.h"
|
||||||
|
#include "dataBase.h"
|
||||||
|
#include <QJsonDocument>
|
||||||
|
#include <QFile>
|
||||||
|
|
||||||
|
// 构造函数
|
||||||
|
BaseTypeManager::BaseTypeManager(QObject *parent)
|
||||||
|
: QObject(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void BaseTypeManager::initial() {
|
||||||
|
|
||||||
|
_mapType = DataBase::GetInstance()->ModelType();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 通过id获取名称
|
||||||
|
QString BaseTypeManager::getNameById(int id) const
|
||||||
|
{
|
||||||
|
if(_mapType.contains(id)){
|
||||||
|
return _mapType.value(id).modelName;
|
||||||
|
}
|
||||||
|
return QString();
|
||||||
|
}
|
||||||
|
|
||||||
|
int BaseTypeManager::getBaseTypeById(int id) const
|
||||||
|
{
|
||||||
|
if(_mapType.contains(id)){
|
||||||
|
return _mapType.value(id).graphicElement;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 通过名称获取id
|
||||||
|
int BaseTypeManager::getIdByName(const QString& name) const
|
||||||
|
{
|
||||||
|
for(auto iter = _mapType.begin(); iter != _mapType.end();++iter){
|
||||||
|
if(name == iter->modelName)
|
||||||
|
return iter.key();
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int BaseTypeManager::getIdByModelType(const QString& str) const
|
||||||
|
{
|
||||||
|
for(auto iter = _mapType.begin(); iter != _mapType.end();++iter){
|
||||||
|
if(str == iter->modelType)
|
||||||
|
return iter.key();
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>DiagramDesigner</string>
|
<string>GridFrame</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="styleSheet">
|
<property name="styleSheet">
|
||||||
<string notr="true"> QMenuBar#menubar {
|
<string notr="true"> QMenuBar#menubar {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue