onObjVisibleChanged统一在binder中实现

feature/nm-para-property-20260615
lvjunjie 1 week ago
parent 3df19d5568
commit f576bb6f0a

@ -79,10 +79,6 @@ class NM_PLOT_EXPORT nmObjPointWell : public nmObjPoint {
// 标记井数据已由Binder绑定图元只保留井类型
void markWellDataBound(NM_WELL_MODEL wellType);
public slots:
// 图元状态改变
void onObjVisibleChanged(bool bIsVisible);
public:
virtual void paintBack(QPainter* painter, \
const ZxPaintParam& param) override;

@ -76,10 +76,6 @@ public:
// 删除区域数据对象
virtual void removeData() override;
public slots:
// 图元状态改变
void onObjVisibleChanged(bool bIsVisible);
signals:
// 流动模型变更
void sigRegionFlowModelChanged(int model);

@ -111,13 +111,6 @@ signals:
void sigComWChanged(double comW);
// 净毛比变更
void sigNetToGrossChanged(double netToGross);
// 可见性变更
void sigRegionMarkVisibleChanged(bool bVisible);
public slots:
// 图元状态改变
void onObjVisibleChanged(bool bIsVisible);
private:
bool m_bSelectRegion;
int m_iColorIndex; //颜色索引

@ -180,7 +180,6 @@ public:
// 获取井图元绘制所需的数据快照
WellRenderData getWellRenderData(nmObjPointWell* pGraphic) const;
// 同步井图元可见性到井数据
void setWellVisible(nmObjPointWell* pGraphic, bool bVisible);
// 更新井图元的数据映射(编辑井后更换数据对象时使用)
void updateWellDataMapping(nmObjPointWell* pGraphic, nmDataWellBase* pNewData) { m_mapWellData[pGraphic] = pNewData; }
@ -233,6 +232,10 @@ private slots:
// 复合区图元信号 → 数据同步
void onGraphicRegionFlowModelChanged(int model);
void onGraphicRegionLeakageChanged(double leakage);
void onGraphicRegionVisibleChanged(bool bVisible);
// 井图元信号 → 数据同步
void onGraphicWellVisibleChanged(bool bVisible);
private:
nmDataAnalyzeManager* m_pDataMgr; // 数据中心,不持有,外部注入

@ -78,9 +78,6 @@ void nmObjPointWell::init(const QString& sName, \
m_pGraphicBinder = nullptr;
// 连接图元可见性信号和槽
connect(this, SIGNAL(sigObjVisibleChanged(bool)),
this, SLOT(onObjVisibleChanged(bool)));
}
void nmObjPointWell::initTools()
@ -508,10 +505,3 @@ void nmObjPointWell::markWellDataBound(NM_WELL_MODEL wellType)
m_bSelectWell = false;
m_enumWellType = wellType;
}
void nmObjPointWell::onObjVisibleChanged(bool bIsVisible)
{
if (m_pGraphicBinder) {
m_pGraphicBinder->setWellVisible(this, bIsVisible);
}
}

@ -58,9 +58,6 @@ void nmObjRegion::init(const QString& sName, \
loadTempl();
// 连接图元可见性信号和槽
connect(this, SIGNAL(sigObjVisibleChanged(bool)),
this, SLOT(onObjVisibleChanged(bool)));
}
void nmObjRegion::initTools()
@ -468,13 +465,3 @@ void nmObjRegion::removeData()
m_pGraphicBinder->removeRegionBinding(this);
}
}
void nmObjRegion::onObjVisibleChanged(bool bIsVisible)
{
if (m_pGraphicBinder) {
nmDataRegion* pData = m_pGraphicBinder->getRegionDataFor(this);
if (pData) {
pData->setPlotVisible(bIsVisible);
}
}
}

@ -82,9 +82,6 @@ void nmObjRegionMark::init(const QString& sName, \
loadTempl();
// 连接图元可见性信号和槽
connect(this, SIGNAL(sigObjVisibleChanged(bool)),
this, SLOT(onObjVisibleChanged(bool)));
}
@ -436,11 +433,6 @@ void nmObjRegionMark::removeData()
}
}
void nmObjRegionMark::onObjVisibleChanged(bool bIsVisible)
{
emit sigRegionMarkVisibleChanged(bIsVisible);
}
// 通过 Binder 查询关联的数据对象(供 nmObjRegion 使用)
nmDataRegionMark* nmObjRegionMark::getRegionMarkData() const
{

@ -1085,7 +1085,7 @@ void nmPlotGraphicBinder::_connectRegionMark(nmObjRegionMark* pGraphic, nmDataRe
this, SLOT(onGraphicRegionMarkComWChanged(double)));
connect(pGraphic, SIGNAL(sigNetToGrossChanged(double)),
this, SLOT(onGraphicRegionMarkNetToGrossChanged(double)));
connect(pGraphic, SIGNAL(sigRegionMarkVisibleChanged(bool)),
connect(pGraphic, SIGNAL(sigObjVisibleChanged(bool)),
this, SLOT(onGraphicRegionMarkVisibleChanged(bool)));
m_setBoundRegionMarkGraphics.insert(pGraphic);
@ -1108,7 +1108,7 @@ void nmPlotGraphicBinder::_disconnectRegionMark(nmObjRegionMark* pGraphic)
this, SLOT(onGraphicRegionMarkComWChanged(double)));
disconnect(pGraphic, SIGNAL(sigNetToGrossChanged(double)),
this, SLOT(onGraphicRegionMarkNetToGrossChanged(double)));
disconnect(pGraphic, SIGNAL(sigRegionMarkVisibleChanged(bool)),
disconnect(pGraphic, SIGNAL(sigObjVisibleChanged(bool)),
this, SLOT(onGraphicRegionMarkVisibleChanged(bool)));
m_setBoundRegionMarkGraphics.remove(pGraphic);
@ -1283,6 +1283,17 @@ void nmPlotGraphicBinder::onGraphicRegionLeakageChanged(double leakage)
pData->setRegionLeakage(attr);
}
void nmPlotGraphicBinder::onGraphicRegionVisibleChanged(bool bVisible)
{
nmObjRegion* pGraphic = qobject_cast<nmObjRegion*>(sender());
if (!pGraphic) return;
nmDataRegion* pData = m_mapRegionData.value(pGraphic, nullptr);
if (!pData) return;
pData->setPlotVisible(bVisible);
}
// 建立信号连接
void nmPlotGraphicBinder::_connectRegion(nmObjRegion* pGraphic, nmDataRegion* pData)
{
@ -1293,6 +1304,8 @@ void nmPlotGraphicBinder::_connectRegion(nmObjRegion* pGraphic, nmDataRegion* pD
this, SLOT(onGraphicRegionFlowModelChanged(int)));
connect(pGraphic, SIGNAL(sigRegionLeakageChanged(double)),
this, SLOT(onGraphicRegionLeakageChanged(double)));
connect(pGraphic, SIGNAL(sigObjVisibleChanged(bool)),
this, SLOT(onGraphicRegionVisibleChanged(bool)));
m_setBoundRegionGraphics.insert(pGraphic);
}
@ -1307,6 +1320,8 @@ void nmPlotGraphicBinder::_disconnectRegion(nmObjRegion* pGraphic)
this, SLOT(onGraphicRegionFlowModelChanged(int)));
disconnect(pGraphic, SIGNAL(sigRegionLeakageChanged(double)),
this, SLOT(onGraphicRegionLeakageChanged(double)));
disconnect(pGraphic, SIGNAL(sigObjVisibleChanged(bool)),
this, SLOT(onGraphicRegionVisibleChanged(bool)));
m_setBoundRegionGraphics.remove(pGraphic);
}
@ -1691,12 +1706,15 @@ nmPlotGraphicBinder::WellRenderData nmPlotGraphicBinder::getWellRenderData(nmObj
return renderData;
}
void nmPlotGraphicBinder::setWellVisible(nmObjPointWell* pGraphic, bool bVisible)
void nmPlotGraphicBinder::onGraphicWellVisibleChanged(bool bVisible)
{
nmObjPointWell* pGraphic = qobject_cast<nmObjPointWell*>(sender());
if (!pGraphic) return;
nmDataWellBase* pData = m_mapWellData.value(pGraphic, nullptr);
if (pData) {
pData->setPlotVisible(bVisible);
}
if (!pData) return;
pData->setPlotVisible(bVisible);
}
void nmPlotGraphicBinder::calculateWellLogData(nmDataWellBase* pWellData,
@ -1750,6 +1768,9 @@ void nmPlotGraphicBinder::_connectWell(nmObjPointWell* pGraphic, nmDataWellBase*
if (!pGraphic || !pData) return;
if (m_setBoundWellGraphics.contains(pGraphic)) return;
connect(pGraphic, SIGNAL(sigObjVisibleChanged(bool)),
this, SLOT(onGraphicWellVisibleChanged(bool)));
m_setBoundWellGraphics.insert(pGraphic);
}
@ -1759,6 +1780,9 @@ void nmPlotGraphicBinder::_disconnectWell(nmObjPointWell* pGraphic)
if (!pGraphic) return;
if (!m_setBoundWellGraphics.contains(pGraphic)) return;
disconnect(pGraphic, SIGNAL(sigObjVisibleChanged(bool)),
this, SLOT(onGraphicWellVisibleChanged(bool)));
m_setBoundWellGraphics.remove(pGraphic);
}

Loading…
Cancel
Save