_selectionModelSynchronizer(new SelectionModelSynchronizer(this)),
_propertyMapper(new ModelPropertyMapper(this))
{
+ rootItem->setFlags(rootItem->flags() | Qt::ItemIsDropEnabled);
_propertyMapper->setModel(this);
delete _propertyMapper->selectionModel();
MappedSelectionModel *mappedSelectionModel = new MappedSelectionModel(this);
/*****************************************
* Buffer Items stored in the Tree Model
*****************************************/
-TreeItem::TreeItem(const QList<QVariant> &data, TreeItem *parent) : QObject(parent) {
- itemData = data;
- parentItem = parent;
+TreeItem::TreeItem(const QList<QVariant> &data, TreeItem *parent)
+ : QObject(parent),
+ parentItem(parent),
+ itemData(data),
+ _flags(Qt::ItemIsSelectable | Qt::ItemIsEnabled)
+{
}
TreeItem::TreeItem(TreeItem *parent) {
Qt::ItemFlags TreeItem::flags() const {
// some sane defaults
- return Qt::ItemIsSelectable | Qt::ItemIsEnabled;
+ return _flags;
}
+void TreeItem::setFlags(Qt::ItemFlags flags) {
+ _flags = flags;
+}
+
+
/*****************************************
* TreeModel
*****************************************/
int columnCount() const;
virtual QVariant data(int column, int role) const;
virtual Qt::ItemFlags flags() const;
+ virtual void setFlags(Qt::ItemFlags);
int row() const;
TreeItem *parent();
QHash<uint, TreeItem *> childHash; // uint to be compatible to qHash functions
TreeItem *parentItem;
QList<QVariant> itemData;
+ Qt::ItemFlags _flags;
};