App/Gui: unify NotImplementedError handling in python features

Recognize NotImplementedError as an indication to call the C++
implementation.
This commit is contained in:
Zheng, Lei
2019-08-28 14:01:37 +08:00
committed by wmayer
parent 959ec5dad3
commit d3dea0178d
4 changed files with 349 additions and 169 deletions

View File

@@ -67,7 +67,7 @@ public:
int allowDuplicateLabel() const;
bool redirectSubName(std::ostringstream &ss,
int redirectSubName(std::ostringstream &ss,
App::DocumentObject *topParent, App::DocumentObject *child) const;
int canLoadPartial() const;
@@ -272,8 +272,10 @@ public:
virtual bool redirectSubName(std::ostringstream &ss,
App::DocumentObject *topParent, App::DocumentObject *child) const override
{
return imp->redirectSubName(ss,topParent,child) ||
FeatureT::redirectSubName(ss,topParent,child);
int ret = imp->redirectSubName(ss,topParent,child);
if(ret < 0)
return FeatureT::redirectSubName(ss,topParent,child);
return ret?true:false;
}
virtual int canLoadPartial() const override {