3 // Author: Frantisek Vacek <fanda.vacek@volny.cz>, (C) 2010
5 // Copyright: See COPYING file that comes with this distribution
8 #ifndef QFPROTOTYPEDOBJECTTREEMODEL_H
9 #define QFPROTOTYPEDOBJECTTREEMODEL_H
11 #include<qfguiglobal.h>
12 #include<qfprototypedobject.h>
14 #include <QStandardItemModel>
16 //! TODO: write class documentation.
17 class QFGUI_DECL_EXPORT QFPrototypedObjectTreeModel
: public QStandardItemModel
21 class QFGUI_DECL_EXPORT Item
: public QStandardItem
28 QString
valueType() const {return meta
.value("type").toString();}
29 //QStringList path() const {return f_path;}
30 //void setPath(const QStringList &p) {f_path = p;}
35 QFPrototypedObject f_rootObject
;
36 QStringList f_designPath
;
38 void reload_helper(const QStringList
&path
, QStandardItem
*it
);
42 void propertyChanged(const QStringList
&design_path
, const QStringList
&object_path
, const QVariant
&value
);
44 void setRoot(const QFPrototypedObject
&o
);
45 QVariant
itemValue(const QModelIndex
&ix
, int *status
= NULL
) const;
46 Item
* itemFromIndex(const QModelIndex
&ix
) const;
48 virtual int columnCount(const QModelIndex
&parent_ix
= QModelIndex()) const;
49 virtual QModelIndex
index( int row
, int column
, const QModelIndex
& parent
= QModelIndex() ) const;
50 virtual QVariant
headerData(int section
, Qt::Orientation orientation
, int role
= Qt::DisplayRole
) const;
51 virtual QVariant
data(const QModelIndex
&ix
, int role
= Qt::DisplayRole
) const;
52 virtual bool setData(const QModelIndex
&index
, const QVariant
&val
, int role
= Qt::EditRole
);
53 virtual Qt::ItemFlags
flags(const QModelIndex
&ix
) const;
55 QFPrototypedObjectTreeModel(QObject
*parent
= NULL
);
56 virtual ~QFPrototypedObjectTreeModel();
59 #endif // QFPROTOTYPEDOBJECTTREEMODEL_H