refactor(nmNum): 移除结果网格显隐开关

- 删除结果视图中的结果网格工具栏和右键菜单动作
- 将业务显隐动作调整为色标、比例网格、单元边线、井位和井名
- 移除SceneController中的网格显隐接口及状态
- 有效快照下始终显示彩色结果网格
- 无快照或清场时自动隐藏网格并解除旋转中心拾取目标
- 保留单元边线独立显隐能力
- 清理结果网格翻译词条并更新中文翻译资源
feature/nmNum-postprocessing-view-20260910
lh 2 weeks ago
parent 7cceff6135
commit 2c48c6f793

Binary file not shown.

@ -2886,7 +2886,6 @@ Reason: %1</source>
<context> <context>
<name>nmWxPebiResultViewWidget</name> <name>nmWxPebiResultViewWidget</name>
<message><source>No result data.</source><translation>暂无结果数据。</translation></message> <message><source>No result data.</source><translation>暂无结果数据。</translation></message>
<message><source>Result Grid</source><translation>结果网格</translation></message>
<message><source>Color Scale</source><translation>色标</translation></message> <message><source>Color Scale</source><translation>色标</translation></message>
<message><source>Scale Grid</source><translation>比例网格</translation></message> <message><source>Scale Grid</source><translation>比例网格</translation></message>
<message><source>Cell Edges</source><translation>单元边线</translation></message> <message><source>Cell Edges</source><translation>单元边线</translation></message>

@ -65,8 +65,6 @@ public:
const nmPebiResultDisplaySettings& oSettings, const nmPebiResultDisplaySettings& oSettings,
QString* pError = nullptr); QString* pError = nullptr);
/** @brief 设置结果网格显隐;偏好跨快照保留。 */
void setMeshVisible(bool bVisible);
/** @brief 设置色标显隐;默认显示,偏好跨快照保留。 */ /** @brief 设置色标显隐;默认显示,偏好跨快照保留。 */
void setScalarBarVisible(bool bVisible); void setScalarBarVisible(bool bVisible);
/** @brief 设置平面比例网格显隐;偏好跨快照保留。 */ /** @brief 设置平面比例网格显隐;偏好跨快照保留。 */
@ -111,8 +109,6 @@ public:
/** @brief 返回当前属性最后一次成功提交的规范化显示设置。 */ /** @brief 返回当前属性最后一次成功提交的规范化显示设置。 */
bool getCurrentDisplaySettings( bool getCurrentDisplaySettings(
nmPebiResultDisplaySettings& oSettings) const; nmPebiResultDisplaySettings& oSettings) const;
/** @brief 返回结果网格显示偏好,不要求当前存在快照。 */
bool isMeshVisible() const;
/** @brief 返回色标显示偏好,不要求当前存在快照。 */ /** @brief 返回色标显示偏好,不要求当前存在快照。 */
bool isScalarBarVisible() const; bool isScalarBarVisible() const;
/** @brief 返回比例网格显示偏好,不要求当前存在快照。 */ /** @brief 返回比例网格显示偏好,不要求当前存在快照。 */

@ -63,8 +63,6 @@ private slots:
/** @brief 明确操作成功后清除旧普通错误,不影响绑定失败或过期状态。 */ /** @brief 明确操作成功后清除旧普通错误,不影响绑定失败或过期状态。 */
void onControlOperationSucceeded(); void onControlOperationSucceeded();
/** @brief 切换结果网格显隐。 */
void onMeshToggled(bool bVisible);
/** @brief 切换色标显隐。 */ /** @brief 切换色标显隐。 */
void onScalarBarToggled(bool bVisible); void onScalarBarToggled(bool bVisible);
/** @brief 切换比例网格显隐。 */ /** @brief 切换比例网格显隐。 */
@ -90,7 +88,7 @@ private:
const QSharedPointer<const nmPebiResultSnapshot>& pSnapshot, const QSharedPointer<const nmPebiResultSnapshot>& pSnapshot,
const QString& sSnapshotId, const QString& sSnapshotId,
bool bCurrent); bool bCurrent);
/** @brief 从 SceneController 镜像六个业务 QAction 的勾选和可用状态。 */ /** @brief 从 SceneController 镜像五个业务 QAction 的勾选和可用状态。 */
void synchronizeBusinessActions(); void synchronizeBusinessActions();
/** @brief 根据“绑定失败、过期、操作错误”的固定优先级刷新提示栏。 */ /** @brief 根据“绑定失败、过期、操作错误”的固定优先级刷新提示栏。 */
void refreshStatusBar(); void refreshStatusBar();
@ -104,7 +102,6 @@ private:
QToolBar* m_pToolBar; ///< Qt 父对象拥有的右侧竖向工具栏。 QToolBar* m_pToolBar; ///< Qt 父对象拥有的右侧竖向工具栏。
QLabel* m_pStatusLabel; ///< 过期或错误的非阻塞提示栏。 QLabel* m_pStatusLabel; ///< 过期或错误的非阻塞提示栏。
QAction* m_pMeshAction; ///< 结果网格显隐动作。
QAction* m_pScalarBarAction; ///< 色标显隐动作。 QAction* m_pScalarBarAction; ///< 色标显隐动作。
QAction* m_pScaleGridAction; ///< 比例网格显隐动作。 QAction* m_pScaleGridAction; ///< 比例网格显隐动作。
QAction* m_pCellEdgesAction; ///< 单元边线显隐动作。 QAction* m_pCellEdgesAction; ///< 单元边线显隐动作。

@ -401,7 +401,6 @@ public:
m_nSnapshotBindingRevision(0), m_nSnapshotBindingRevision(0),
m_bHasPropertyRange(false), m_bHasPropertyRange(false),
m_bHasBounds(false), m_bHasBounds(false),
m_bMeshVisible(true),
m_bScalarBarVisible(true), m_bScalarBarVisible(true),
m_bScaleGridVisible(false), m_bScaleGridVisible(false),
m_bCellEdgesVisible(false), m_bCellEdgesVisible(false),
@ -713,7 +712,8 @@ public:
? nmVTKMeshLayer::DisplayMode_SurfaceWithEdges ? nmVTKMeshLayer::DisplayMode_SurfaceWithEdges
: nmVTKMeshLayer::DisplayMode_Surface); : nmVTKMeshLayer::DisplayMode_Surface);
m_pMeshLayer->setScalarVisibility(bHasData); m_pMeshLayer->setScalarVisibility(bHasData);
m_pMeshLayer->setVisible(bHasData && m_bMeshVisible); // 彩色结果网格是有效快照的主内容,不提供独立隐藏状态。
m_pMeshLayer->setVisible(bHasData);
} }
if(m_pScalarBarLayer != nullptr) { if(m_pScalarBarLayer != nullptr) {
m_pScalarBarLayer->setVisible( m_pScalarBarLayer->setVisible(
@ -730,7 +730,7 @@ public:
} }
if(m_pContainer != nullptr) { if(m_pContainer != nullptr) {
m_pContainer->setRotationCenterPickTarget( m_pContainer->setRotationCenterPickTarget(
bHasData && m_bMeshVisible && m_pMeshLayer != nullptr bHasData && m_pMeshLayer != nullptr
? m_pMeshLayer->getActor() : nullptr); ? m_pMeshLayer->getActor() : nullptr);
} }
} }
@ -882,7 +882,6 @@ public:
double m_dBounds[6]; double m_dBounds[6];
bool m_bHasPropertyRange; bool m_bHasPropertyRange;
bool m_bHasBounds; bool m_bHasBounds;
bool m_bMeshVisible;
bool m_bScalarBarVisible; bool m_bScalarBarVisible;
bool m_bScaleGridVisible; bool m_bScaleGridVisible;
bool m_bCellEdgesVisible; bool m_bCellEdgesVisible;
@ -1315,24 +1314,6 @@ bool nmPebiResultSceneController::applyCurrentDisplaySettings(
return true; return true;
} }
void nmPebiResultSceneController::setMeshVisible(bool bVisible)
{
Q_ASSERT(isResultSceneGuiThread());
if(!isResultSceneGuiThread() || m_pPrivate == nullptr) {
return;
}
m_pPrivate->discardActiveDataIfLayersLost();
if(m_pPrivate->m_bMeshVisible == bVisible) {
return;
}
m_pPrivate->m_bMeshVisible = bVisible;
const bool bHasData = hasSnapshot();
m_pPrivate->applyLayerVisibility(bHasData);
if(bHasData) {
m_pPrivate->m_pContainer->renderView();
}
}
void nmPebiResultSceneController::setScalarBarVisible(bool bVisible) void nmPebiResultSceneController::setScalarBarVisible(bool bVisible)
{ {
Q_ASSERT(isResultSceneGuiThread()); Q_ASSERT(isResultSceneGuiThread());
@ -1535,11 +1516,6 @@ bool nmPebiResultSceneController::getCurrentDisplaySettings(
return true; return true;
} }
bool nmPebiResultSceneController::isMeshVisible() const
{
return m_pPrivate != nullptr && m_pPrivate->m_bMeshVisible;
}
bool nmPebiResultSceneController::isScalarBarVisible() const bool nmPebiResultSceneController::isScalarBarVisible() const
{ {
return m_pPrivate != nullptr && m_pPrivate->m_bScalarBarVisible; return m_pPrivate != nullptr && m_pPrivate->m_bScalarBarVisible;

@ -56,7 +56,6 @@ nmWxPebiResultViewWidget::nmWxPebiResultViewWidget(
m_pControlBar(nullptr), m_pControlBar(nullptr),
m_pToolBar(nullptr), m_pToolBar(nullptr),
m_pStatusLabel(nullptr), m_pStatusLabel(nullptr),
m_pMeshAction(nullptr),
m_pScalarBarAction(nullptr), m_pScalarBarAction(nullptr),
m_pScaleGridAction(nullptr), m_pScaleGridAction(nullptr),
m_pCellEdgesAction(nullptr), m_pCellEdgesAction(nullptr),
@ -173,7 +172,6 @@ void nmWxPebiResultViewWidget::appendContextMenuActions(QMenu* pMenu)
if(pMenu == nullptr) { if(pMenu == nullptr) {
return; return;
} }
pMenu->addAction(m_pMeshAction);
pMenu->addAction(m_pScalarBarAction); pMenu->addAction(m_pScalarBarAction);
pMenu->addAction(m_pScaleGridAction); pMenu->addAction(m_pScaleGridAction);
pMenu->addAction(m_pCellEdgesAction); pMenu->addAction(m_pCellEdgesAction);
@ -203,13 +201,6 @@ void nmWxPebiResultViewWidget::onControlOperationSucceeded()
refreshStatusBar(); refreshStatusBar();
} }
void nmWxPebiResultViewWidget::onMeshToggled(bool bVisible)
{
if(m_pSceneController != nullptr && m_pSceneController->hasSnapshot()) {
m_pSceneController->setMeshVisible(bVisible);
}
}
void nmWxPebiResultViewWidget::onScalarBarToggled(bool bVisible) void nmWxPebiResultViewWidget::onScalarBarToggled(bool bVisible)
{ {
if(m_pSceneController != nullptr && m_pSceneController->hasSnapshot()) { if(m_pSceneController != nullptr && m_pSceneController->hasSnapshot()) {
@ -281,8 +272,6 @@ void nmWxPebiResultViewWidget::createUi()
m_pToolBar->setToolButtonStyle(Qt::ToolButtonIconOnly); m_pToolBar->setToolButtonStyle(Qt::ToolButtonIconOnly);
m_pToolBar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding); m_pToolBar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
m_pMeshAction = new QAction(QIcon(resultViewIconPath("NmGrid.png")),
tr("Result Grid"), this);
m_pScalarBarAction = new QAction( m_pScalarBarAction = new QAction(
QIcon(resultViewIconPath("NmColorScale.png")), QIcon(resultViewIconPath("NmColorScale.png")),
tr("Color Scale"), this); tr("Color Scale"), this);
@ -300,10 +289,10 @@ void nmWxPebiResultViewWidget::createUi()
tr("Well Names"), this); tr("Well Names"), this);
QAction* const pBusinessActions[] = { QAction* const pBusinessActions[] = {
m_pMeshAction, m_pScalarBarAction, m_pScaleGridAction, m_pScalarBarAction, m_pScaleGridAction, m_pCellEdgesAction,
m_pCellEdgesAction, m_pWellMarkersAction, m_pWellNamesAction m_pWellMarkersAction, m_pWellNamesAction
}; };
for(int nIndex = 0; nIndex < 6; ++nIndex) { for(int nIndex = 0; nIndex < 5; ++nIndex) {
pBusinessActions[nIndex]->setCheckable(true); pBusinessActions[nIndex]->setCheckable(true);
pBusinessActions[nIndex]->setToolTip( pBusinessActions[nIndex]->setToolTip(
pBusinessActions[nIndex]->text()); pBusinessActions[nIndex]->text());
@ -335,15 +324,13 @@ void nmWxPebiResultViewWidget::createUi()
if(pFrontAction != nullptr) m_pToolBar->addAction(pFrontAction); if(pFrontAction != nullptr) m_pToolBar->addAction(pFrontAction);
if(pPickCenterAction != nullptr) m_pToolBar->addAction(pPickCenterAction); if(pPickCenterAction != nullptr) m_pToolBar->addAction(pPickCenterAction);
m_pToolBar->addSeparator(); m_pToolBar->addSeparator();
for(int nIndex = 0; nIndex < 6; ++nIndex) { for(int nIndex = 0; nIndex < 5; ++nIndex) {
m_pToolBar->addAction(pBusinessActions[nIndex]); m_pToolBar->addAction(pBusinessActions[nIndex]);
} }
m_pToolBar->addSeparator(); m_pToolBar->addSeparator();
if(pCopyAction != nullptr) m_pToolBar->addAction(pCopyAction); if(pCopyAction != nullptr) m_pToolBar->addAction(pCopyAction);
} }
connect(m_pMeshAction, SIGNAL(toggled(bool)),
this, SLOT(onMeshToggled(bool)));
connect(m_pScalarBarAction, SIGNAL(toggled(bool)), connect(m_pScalarBarAction, SIGNAL(toggled(bool)),
this, SLOT(onScalarBarToggled(bool))); this, SLOT(onScalarBarToggled(bool)));
connect(m_pScaleGridAction, SIGNAL(toggled(bool)), connect(m_pScaleGridAction, SIGNAL(toggled(bool)),
@ -507,8 +494,6 @@ void nmWxPebiResultViewWidget::synchronizeBusinessActions()
if(m_pSceneController == nullptr) { if(m_pSceneController == nullptr) {
return; return;
} }
setActionCheckedWithoutSignal(
m_pMeshAction, m_pSceneController->isMeshVisible());
setActionCheckedWithoutSignal( setActionCheckedWithoutSignal(
m_pScalarBarAction, m_pSceneController->isScalarBarVisible()); m_pScalarBarAction, m_pSceneController->isScalarBarVisible());
setActionCheckedWithoutSignal( setActionCheckedWithoutSignal(
@ -521,7 +506,6 @@ void nmWxPebiResultViewWidget::synchronizeBusinessActions()
m_pWellNamesAction, m_pSceneController->areWellNamesVisible()); m_pWellNamesAction, m_pSceneController->areWellNamesVisible());
const bool bEnabled = m_pSceneController->hasSnapshot(); const bool bEnabled = m_pSceneController->hasSnapshot();
m_pMeshAction->setEnabled(bEnabled);
m_pScalarBarAction->setEnabled(bEnabled); m_pScalarBarAction->setEnabled(bEnabled);
m_pScaleGridAction->setEnabled(bEnabled); m_pScaleGridAction->setEnabled(bEnabled);
m_pCellEdgesAction->setEnabled(bEnabled); m_pCellEdgesAction->setEnabled(bEnabled);

Loading…
Cancel
Save