+ if (aGroup == ModelAPI_Folder::group()) {
+ static QString anIconString(":pictures/features_folder.png");
+ int aFirst = -1, aLast = -1;
+ PartSet_Tools::getFirstAndLastIndexInFolder(theObj, aFirst, aLast);
+ if ((aFirst != -1) && (aLast != -1)) {
+ int aNbItems = aLast - aFirst + 1;
+ if (aNbItems) {
+ XGUI_ObjectsBrowser* aObBrowser = myModule->getWorkshop()->objectBrowser();
+ XGUI_DataTree* aTree = aObBrowser->treeView();
+ QModelIndex aIndex = aTree->dataModel()->objectIndex(theObj, 0);
+ if (!aTree->isExpanded(aIndex)) {
+ DocumentPtr aDoc = theObj->document();
+ ObjectPtr aSubObj;
+ ModelAPI_ExecState aState;
+ bool aHasWarning = false;
+ for (int i = aFirst; i < aLast + 1; i++) {
+ aSubObj = aDoc->object(ModelAPI_Feature::group(), i);
+ aState = aSubObj->data()->execState();
+ if ((aState == ModelAPI_StateExecFailed) || (aState == ModelAPI_StateMustBeUpdated)) {
+ aHasWarning = true;
+ break;
+ }
+ }
+ if (aHasWarning) {
+ return QIcon(ModuleBase_Tools::composite(":icons/hasWarning.png", anIconString));
+ }
+ }
+ }
+ }
+ return loadIcon(anIconString);
+ }
+