+void getParameters(QStringList& theParameters)
+{
+ theParameters.clear();
+
+ SessionPtr aSession = ModelAPI_Session::get();
+ std::list<DocumentPtr> aDocList;
+ DocumentPtr anActiveDocument = aSession->activeDocument();
+ DocumentPtr aRootDocument = aSession->moduleDocument();
+ aDocList.push_back(anActiveDocument);
+ if (anActiveDocument != aRootDocument) {
+ aDocList.push_back(aRootDocument);
+ }
+ std::string aGroupId = ModelAPI_ResultParameter::group();
+ for(std::list<DocumentPtr>::const_iterator it = aDocList.begin(); it != aDocList.end(); ++it) {
+ DocumentPtr aDocument = *it;
+ int aSize = aDocument->size(aGroupId);
+ for (int i = 0; i < aSize; i++) {
+ ObjectPtr anObject = aDocument->object(aGroupId, i);
+ std::string aParameterName = anObject->data()->name();
+ theParameters.append(aParameterName.c_str());
+ }
+ }
+}
+
+std::string findGreedAttribute(ModuleBase_IWorkshop* theWorkshop, const FeaturePtr& theFeature)
+{
+ std::string anAttributeId;
+
+ std::string aXmlCfg, aDescription;
+ theWorkshop->module()->getXMLRepresentation(theFeature->getKind(), aXmlCfg, aDescription);
+
+ ModuleBase_WidgetFactory aFactory(aXmlCfg, theWorkshop);
+ std::string anAttributeTitle;
+ aFactory.getGreedAttribute(anAttributeId);
+
+ return anAttributeId;
+}
+