#include <ModelAPI_Data.h>
#include <ModelAPI_Result.h>
-#include <ModelAPI_ResultCompSolid.h>
#include <ModelAPI_ResultParameter.h>
#include <ModelAPI_Tools.h>
#include <ModelAPI_Session.h>
{
QImage anIcon = ModuleBase_IconFactory::loadImage(theIcon);
QImage anAditional(theAdditionalIcon);
+ return composite(anAditional, anIcon);
+}
- if (anIcon.isNull())
+QPixmap composite(const QImage& theAdditionalIcon, QImage& theIcon)
+{
+ if (theIcon.isNull())
return QPixmap();
- int anAddWidth = anAditional.width();
- int anAddHeight = anAditional.height();
+ int anAddWidth = theAdditionalIcon.width();
+ int anAddHeight = theAdditionalIcon.height();
- int aWidth = anIcon.width();
- int aHeight = anIcon.height();
+ int aWidth = theIcon.width();
+ int aHeight = theIcon.height();
- int aStartWidthPos = aWidth - anAddWidth - 1;
- int aStartHeightPos = aHeight - anAddHeight - 1;
+ int aStartWidthPos = aWidth - anAddWidth;
+ int aStartHeightPos = aHeight - anAddHeight;
for (int i = 0; i < anAddWidth && i + aStartWidthPos < aWidth; i++)
{
for (int j = 0; j < anAddHeight && j + aStartHeightPos < aHeight; j++)
{
- if (qAlpha(anAditional.pixel(i, j)) > 0)
- anIcon.setPixel(i + aStartWidthPos, j + aStartHeightPos, anAditional.pixel(i, j));
+ if (qAlpha(theAdditionalIcon.pixel(i, j)) > 0)
+ theIcon.setPixel(i + aStartWidthPos, j + aStartHeightPos, theAdditionalIcon.pixel(i, j));
}
}
- return QPixmap::fromImage(anIcon);
+ return QPixmap::fromImage(theIcon);
}
QPixmap lighter(const QString& theIcon, const int theLighterValue)
} else if (aType == ModelAPI_AttributeSelection::typeId()) {
AttributeSelectionPtr aSelectAttr =
std::dynamic_pointer_cast<ModelAPI_AttributeSelection>(theAttribute);
- ResultPtr aResult = std::dynamic_pointer_cast<ModelAPI_Result>(theObject);
if (aSelectAttr.get() != NULL) {
- aSelectAttr->setValue(aResult, theShape, theTemporarily);
+ aSelectAttr->setValue(theObject, theShape, theTemporarily);
}
}
if (aType == ModelAPI_AttributeSelectionList::typeId()) {
AttributeSelectionListPtr aSelectionListAttr =
std::dynamic_pointer_cast<ModelAPI_AttributeSelectionList>(theAttribute);
- ResultPtr aResult = std::dynamic_pointer_cast<ModelAPI_Result>(theObject);
if (!theCheckIfAttributeHasObject ||
- !aSelectionListAttr->isInList(aResult, theShape, theTemporarily))
- aSelectionListAttr->append(aResult, theShape, theTemporarily);
+ !aSelectionListAttr->isInList(theObject, theShape, theTemporarily))
+ aSelectionListAttr->append(theObject, theShape, theTemporarily);
}
else if (aType == ModelAPI_AttributeRefList::typeId()) {
AttributeRefListPtr aRefListAttr =
.arg(anOtherFeatureNames.join(aSep));
}
if (!aParamFeatureNames.empty()) {
- const char* aMsg = "Parameters are used directly and through a sequence of dependencies in the following features: %1.\nThese features will "
+ const char* aMsg = "Parameters are used directly and through a sequence "
+ "of dependencies in the following features: %1.\nThese features will "
"be deleted.\nOr parameters could be replaced by their values.\n";
aText += QString(QObject::tr(aMsg))
.arg(aParamFeatureNames.join(aSep));
}
+//********************************************************************
+std::string generateName(const AttributePtr& theAttribute,
+ ModuleBase_IWorkshop* theWorkshop)
+{
+ std::string aName;
+ if (theAttribute.get() != NULL) {
+ ModuleBase_Operation* anOperation = theWorkshop->currentOperation();
+
+ FeaturePtr aFeature = ModelAPI_Feature::feature(theAttribute->owner());
+ if (aFeature.get()) {
+ std::string aXmlCfg, aDescription;
+ theWorkshop->module()->getXMLRepresentation(aFeature->getKind(), aXmlCfg, aDescription);
+
+ ModuleBase_WidgetFactory aFactory(aXmlCfg, theWorkshop);
+ std::string anAttributeTitle;
+ aFactory.getAttributeTitle(theAttribute->id(), anAttributeTitle);
+
+ std::stringstream aStreamName;
+ aStreamName << theAttribute->owner()->data()->name() << "/" << anAttributeTitle.c_str();
+ aName = aStreamName.str();
+ }
+ }
+ return aName;
+}
+
} // namespace ModuleBase_Tools