#include "XGUI_PartDataModel.h"
+#include "XGUI_Workshop.h"
#include <ModelAPI_PluginManager.h>
#include <ModelAPI_Document.h>
// return an Icon
switch (theIndex.internalId()) {
case ParamsFolder:
- return QIcon(":pictures/params_folder.png");
+ return QIcon(":pictures/params_folder.png");
case ConstructFolder:
- return QIcon(":pictures/constr_folder.png");
+ return QIcon(":pictures/constr_folder.png");
case ConstructObject:
- return QIcon(":pictures/point_ico.png");
+ {
+ FeaturePtr aFeature = myDocument->feature(CONSTRUCTIONS_GROUP, theIndex.row());
+ if (aFeature)
+ return QIcon(XGUI_Workshop::featureIcon(aFeature->getKind()));
+ }
}
break;
if (aFeature)
return aFeature->data()->getName().c_str();
}
+ case HistoryObject:
+ {
+ boost::shared_ptr<ModelAPI_Feature> aFeature =
+ featureDocument()->feature(FEATURES_GROUP, theIndex.row() - 3);
+ if (aFeature)
+ return aFeature->data()->getName().c_str();
+ }
}
break;
case Qt::DecorationRole:
case BodiesFolder:
return QIcon(":pictures/constr_folder.png");
case ConstructObject:
- return QIcon(":pictures/point_ico.png");
+ {
+ FeaturePtr aFeature = featureDocument()->feature(CONSTRUCTIONS_GROUP, theIndex.row());
+ if (aFeature)
+ return QIcon(XGUI_Workshop::featureIcon(aFeature->getKind()));
+ }
+ case HistoryObject:
+ {
+ boost::shared_ptr<ModelAPI_Feature> aFeature =
+ featureDocument()->feature(FEATURES_GROUP, theIndex.row() - 3);
+ if (aFeature)
+ return QIcon(XGUI_Workshop::featureIcon(aFeature->getKind()));
+ }
}
break;
case Qt::ToolTipRole:
return 0;
switch (parent.internalId()) {
case MyRoot:
- return 3;
+ return 3 + featureDocument()->size(FEATURES_GROUP);
case ParamsFolder:
return featureDocument()->size(PARAMETERS_GROUP);
case ConstructFolder:
case 1:
return createIndex(1, 0, (qint32) ConstructFolder);
case 2:
- return createIndex(1, 0, (qint32) BodiesFolder);
+ return createIndex(2, 0, (qint32) BodiesFolder);
+ default:
+ return createIndex(theRow, theColumn, (qint32) HistoryObject);
}
case ParamsFolder:
return createIndex(theRow, 0, (qint32) ParamObject);
case ParamsFolder:
case ConstructFolder:
case BodiesFolder:
+ case HistoryObject:
return createIndex(0, 0, (qint32) MyRoot);
case ParamObject:
return createIndex(0, 0, (qint32) ParamsFolder);
{
switch (theIndex.internalId()) {
case MyRoot:
- return myDocument->feature(PARTS_GROUP, myId);
+ if (theIndex.row() < 3)
+ return myDocument->feature(PARTS_GROUP, myId);
+ else
+ return featureDocument()->feature(FEATURES_GROUP, theIndex.row() - 3);
case ParamsFolder:
case ConstructFolder:
return FeaturePtr();
return createIndex(1, 0, (qint32) ConstructFolder);
return QModelIndex();
}
+
+FeaturePtr XGUI_PartDataModel::part() const
+{
+ return myDocument->feature(PARTS_GROUP, myId);
+}
\ No newline at end of file