//! \param theIndex a last index for history
void setLastHistoryItem(const QModelIndex& theIndex);
+ //! Returns last history item
QModelIndex lastHistoryItem() const;
//! Returns icon name according to feature
static QIcon featureIcon(const FeaturePtr& theFeature);
+ public slots:
+ void onMouseDoubleClick(const QModelIndex& theIndex);
+
private:
enum
{
- PartsFolder = -100,
+ PartsFolder,
HistoryNode,
PartResult
};
//! Removes sub-model on removing a part object. Also it removes QModelIndex-es which refer to this model
void removeSubModel(int theModelId);
+ //! Removes sub-model on removing a part object. Also it removes QModelIndex-es which refer to this model
+ void removeSubModel(PartSet_PartModel* theModel);
+
//! Returns true if the given model is a one of sub-models (of both types)
bool isSubModel(const QAbstractItemModel* theModel) const;
int historyOffset() const;
+ PartSet_PartModel* findPartModel(FeaturePtr thePart) const;
+
+ PartSet_PartModel* findPartModel(int thePosition) const;
+
//! Data model of top part of data tree (not parts object)
PartSet_TopDataModel* myModel;
//! Data models for Parts data tree representation (one data model per a one part)
- QMap<int, PartSet_PartModel*> myPartModels;
+ QList<PartSet_PartModel*> myPartModels;
//! Active part in part editing mode
- int myActivePartId;
+ PartSet_PartModel* myActivePartModel;
QModelIndex myActivePartIndex;
//! List of saved QModelIndexes created by sub-models
QList<QModelIndex*> myIndexes;
- int myHistoryBackOffset;
-
static QMap<QString, QString> myIcons;
};