// Author : Nicolas REJNERI
// Module : SMESH
// $Header$
-//
+
#include "SMESHGUI.h"
#include "SMESH_Client.hxx"
if ( !aHypothesis->_is_nil() )
{
CORBA::String_var aHypType = aHypothesis->GetName();
- SMESHGUI_GenericHypothesisCreator* aCreator = SMESH::GetHypothesisCreator(aHypType);
- if (aCreator)
+ // BUG 0020378
+ //SMESHGUI_GenericHypothesisCreator* aCreator = SMESH::GetHypothesisCreator(aHypType);
+ SMESH::HypothesisCreatorPtr aCreator = SMESH::GetHypothesisCreator(aHypType);
+ if (aCreator) {
aCreator->edit( aHypothesis.in(), anIObject->getName(), desktop() );
- else
- {
+ }
+ else {
// report error
}
}
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
+
#include "SMESHGUI_HypothesesUtils.h"
#include "SMESHGUI.h"
THypothesisDataMap myHypothesesMap;
THypothesisDataMap myAlgorithmsMap;
- typedef map<string,SMESHGUI_GenericHypothesisCreator*> THypCreatorMap;
- THypCreatorMap myHypCreatorMap;
+ // BUG 0020378
+ //typedef map<string,SMESHGUI_GenericHypothesisCreator*> THypCreatorMap;
+ //THypCreatorMap myHypCreatorMap;
list<HypothesesSet*> myListOfHypothesesSets;
return false;
}
- SMESHGUI_GenericHypothesisCreator* GetHypothesisCreator(const char* aHypType)
+ HypothesisCreatorPtr GetHypothesisCreator(const char* aHypType)
{
if(MYDEBUG) MESSAGE("Get HypothesisCreator for " << aHypType);
SMESHGUI_GenericHypothesisCreator* aCreator = 0;
// check, if creator for this hypothesis type already exists
- if (myHypCreatorMap.find(aHypType) != myHypCreatorMap.end()) {
- aCreator = myHypCreatorMap[aHypType];
- }
- else {
+ // BUG 0020378
+ //if (myHypCreatorMap.find(aHypType) != myHypCreatorMap.end()) {
+ // aCreator = myHypCreatorMap[aHypType];
+ //}
+ //else
+ {
// 1. Init list of available hypotheses, if needed
InitAvailableHypotheses();
// 2. Get names of plugin libraries
HypothesisData* aHypData = GetHypothesisData(aHypType);
if (!aHypData)
- return aCreator;
+ return HypothesisCreatorPtr(aCreator);
QString aClientLibName = aHypData->ClientLibName;
QString aServerLibName = aHypData->ServerLibName;
}
else {
// map hypothesis creator to a hypothesis name
- myHypCreatorMap[aHypType] = aCreator;
+ // BUG 0020378
+ //myHypCreatorMap[aHypType] = aCreator;
}
}
}
}
}
- return aCreator;
+ return HypothesisCreatorPtr(aCreator);
}
// Author : Julia DOROVSKIKH
// Module : SMESH
// $Header$
-//
+
#ifndef SMESHGUI_HypothesesUtils_HeaderFile
#define SMESHGUI_HypothesesUtils_HeaderFile
#include <vector>
+// boost includes
+#include <boost/shared_ptr.hpp>
+
class HypothesisData;
class HypothesesSet;
class SMESHGUI_GenericHypothesisCreator;
class SALOMEDSClient_SObject;
class algo_error_array;
-namespace SMESH{
+namespace SMESH
+{
+ typedef boost::shared_ptr<SMESHGUI_GenericHypothesisCreator> HypothesisCreatorPtr;
SMESHGUI_EXPORT
void InitAvailableHypotheses();
const HypothesisData* algo2Data);
SMESHGUI_EXPORT
- SMESHGUI_GenericHypothesisCreator* GetHypothesisCreator(const char* aHypType);
+ HypothesisCreatorPtr GetHypothesisCreator(const char* aHypType);
SMESHGUI_EXPORT
SMESH::SMESH_Hypothesis_ptr CreateHypothesis(const char* aHypType,
SMESH::CreateHypothesis(theTypeName, aHypName, false);
} else {
// Get hypotheses creator client (GUI)
- SMESHGUI_GenericHypothesisCreator* aCreator = SMESH::GetHypothesisCreator(theTypeName);
+ // BUG 0020378
+ //SMESHGUI_GenericHypothesisCreator* aCreator = SMESH::GetHypothesisCreator(theTypeName);
+ SMESH::HypothesisCreatorPtr aCreator = SMESH::GetHypothesisCreator(theTypeName);
// Create hypothesis
if (aCreator) {
return;
CORBA::String_var aTypeName = aHyp->GetName();
- SMESHGUI_GenericHypothesisCreator* aCreator = SMESH::GetHypothesisCreator( aTypeName );
- if ( aCreator ) {
+ // BUG 0020378
+ //SMESHGUI_GenericHypothesisCreator* aCreator = SMESH::GetHypothesisCreator(aTypeName);
+ SMESH::HypothesisCreatorPtr aCreator = SMESH::GetHypothesisCreator(aTypeName);
+ if ( aCreator )
+ {
int obj = myDlg->getActiveObject();
removeCustomFilters(); // Issue 0020170
myDlg->setEnabled( false );
SMESH::CreateHypothesis(aHypName, aHypData->Label, true);
} else {
// Get hypotheses creator client (GUI)
- SMESHGUI_GenericHypothesisCreator* aCreator = SMESH::GetHypothesisCreator(aHypName);
+ // BUG 0020378
+ //SMESHGUI_GenericHypothesisCreator* aCreator = SMESH::GetHypothesisCreator(aHypName);
+ SMESH::HypothesisCreatorPtr aCreator = SMESH::GetHypothesisCreator(aHypName);
// Create algorithm
- if (aCreator)
+ if (aCreator) {
aCreator->create(true, aHypName, myDlg);
+ }
else
SMESH::CreateHypothesis(aHypName, aHypData->Label, true);
}
return;
CORBA::String_var hypType = myHyp->GetName();
- SMESHGUI_GenericHypothesisCreator*
- editor = SMESH::GetHypothesisCreator( hypType.in() );
+ // BUG 0020378
+ //SMESHGUI_GenericHypothesisCreator* editor = SMESH::GetHypothesisCreator(hypType.in());
+ SMESH::HypothesisCreatorPtr editor = SMESH::GetHypothesisCreator(hypType.in());
if ( !editor ) return;
if ( myDlg ) myDlg->hide();