From bf36cccf8ecd8f2d43c10106ec053d89a495d99a Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 14 Nov 2005 09:17:11 +0000 Subject: [PATCH] PAL10491. Add GetMessageOnAlgoStateErrors() --- src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx | 29 +++++++++++++++++++++++ src/SMESHGUI/SMESHGUI_HypothesesUtils.h | 2 ++ 2 files changed, 31 insertions(+) diff --git a/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx b/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx index 585562c8f..68d15b79b 100644 --- a/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx +++ b/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx @@ -549,4 +549,33 @@ namespace SMESH{ if (MYDEBUG) MESSAGE("SMESHGUI::GetMeshesUsingAlgoOrHypothesis(): completed"); return listSOmesh; } + +#define CASE2MESSAGE(enum) case SMESH::enum: msg = QObject::tr( #enum ); break; + QString GetMessageOnAlgoStateErrors(const algo_error_array& errors) + { + QString resMsg = QObject::tr("SMESH_WRN_MISSING_PARAMETERS") + ":\n"; + for ( int i = 0; i < errors.length(); ++i ) { + const SMESH::AlgoStateError & error = errors[ i ]; + QString msg; + switch( error.name ) { + CASE2MESSAGE( MISSING_ALGO ); + CASE2MESSAGE( MISSING_HYPO ); + CASE2MESSAGE( NOT_CONFORM_MESH ); + default: continue; + } + // apply args to message: + // %1 - algo name + if ( error.algoName.in() != 0 ) + msg = msg.arg( error.algoName.in() ); + // %2 - dimention + msg = msg.arg( error.algoDim ); + // %3 - global/local + msg = msg.arg( QObject::tr( error.isGlobalAlgo ? "GLOBAL_ALGO" : "LOCAL_ALGO" )); + + if ( i ) resMsg += ";\n"; + resMsg += msg; + } + return resMsg; + } + } diff --git a/src/SMESHGUI/SMESHGUI_HypothesesUtils.h b/src/SMESHGUI/SMESHGUI_HypothesesUtils.h index a3b932657..2fb920af9 100644 --- a/src/SMESHGUI/SMESHGUI_HypothesesUtils.h +++ b/src/SMESHGUI/SMESHGUI_HypothesesUtils.h @@ -45,6 +45,7 @@ class HypothesisData; class HypothesesSet; class SMESHGUI_GenericHypothesisCreator; class SALOMEDSClient_SObject; +class algo_error_array; namespace SMESH{ @@ -78,6 +79,7 @@ namespace SMESH{ typedef std::vector<_PTR(SObject)> SObjectList; SObjectList GetMeshesUsingAlgoOrHypothesis(SMESH::SMESH_Hypothesis_ptr AlgoOrHyp ) ; + QString GetMessageOnAlgoStateErrors(const algo_error_array& errors); } #endif -- 2.39.2