X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_IModule.cpp;h=a4fb017577a7bc20c8d46fd5d92e489cdc418fa6;hb=e48efe1ec56a7d7e0d8a57fc05f8220b846ea995;hp=c73bf3c1c5081a803b07d15181918d283418eaae;hpb=34afe547352180006fee9600173c4dc93dc1f6c3;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_IModule.cpp b/src/ModuleBase/ModuleBase_IModule.cpp index c73bf3c1c..a4fb01757 100644 --- a/src/ModuleBase/ModuleBase_IModule.cpp +++ b/src/ModuleBase/ModuleBase_IModule.cpp @@ -8,14 +8,14 @@ #include "ModuleBase_ISelection.h" #include "ModuleBase_OperationDescription.h" #include "ModuleBase_OperationFeature.h" -#include +#include "ModuleBase_ModelWidget.h" #include -#include #include #include #include +#include "ModelAPI_Tools.h" #include #include @@ -66,70 +66,9 @@ void ModuleBase_IModule::sendOperation(ModuleBase_Operation* theOperation) Events_Loop::loop()->send(aMessage); } -const char* toString(ModelAPI_ExecState theExecState) -{ -#define TO_STRING(__NAME__) case __NAME__: return #__NAME__; - switch (theExecState) { - TO_STRING(ModelAPI_StateDone) - TO_STRING(ModelAPI_StateMustBeUpdated) - TO_STRING(ModelAPI_StateExecFailed) - TO_STRING(ModelAPI_StateInvalidArgument) - TO_STRING(ModelAPI_StateNothing) - default: return "Unknown ExecState."; - } -#undef TO_STRING -} - QString ModuleBase_IModule::getFeatureError(const FeaturePtr& theFeature) { - QString anError; - if (!theFeature.get() || !theFeature->data()->isValid() || theFeature->isAction()) - return anError; - - // to be removed later, this error should be got from the feature - if (theFeature->data()->execState() == ModelAPI_StateDone || - theFeature->data()->execState() == ModelAPI_StateMustBeUpdated) - return anError; - - // set error indication - anError = QString::fromStdString(theFeature->error()); - if (anError.isEmpty()) { - bool isDone = ( theFeature->data()->execState() == ModelAPI_StateDone - || theFeature->data()->execState() == ModelAPI_StateMustBeUpdated ); - if (!isDone) - anError = toString(theFeature->data()->execState()); - } - - return anError; -} - -QString ModuleBase_IModule::getWidgetError(ModuleBase_ModelWidget* theWidget) -{ - QString anError; - - if (!theWidget || !theWidget->feature().get()) - return anError; - - std::string anAttributeID = theWidget->attributeID(); - AttributePtr anAttribute = theWidget->feature()->attribute(anAttributeID); - if (!anAttribute.get()) - return anError; - - std::string aValidatorID; - std::string anErrorMsg; - - static ModelAPI_ValidatorsFactory* aValidators = ModelAPI_Session::get()->validators(); - if (!aValidators->validate(anAttribute, aValidatorID, anErrorMsg)) { - if (anErrorMsg.empty()) - anErrorMsg = "unknown error."; - anErrorMsg = anAttributeID + " - " + aValidatorID + ": " + anErrorMsg; - } - - anError = QString::fromStdString(anErrorMsg); - if (anError.isEmpty()) - anError = theWidget->getValueStateError(); - - return anError; + return ModelAPI_Tools::getFeatureError(theFeature).c_str(); } void ModuleBase_IModule::grantedOperationIds(ModuleBase_Operation* theOperation, @@ -190,6 +129,7 @@ void ModuleBase_IModule::createFeatures() void ModuleBase_IModule::actionCreated(QAction* theFeature) { + theFeature->setStatusTip(theFeature->text()); connect(theFeature, SIGNAL(triggered(bool)), this, SLOT(onFeatureTriggered())); }