/******************************************************************************************************** * PROGRAM : essai8 * DATE - TIME : jeudi 14 février 2008 - 20h23 * AUTHOR : ( ) * FILENAME : StandardEtatModel.h * LICENSE : GPL * COMMENTARY : ********************************************************************************************************/ #ifndef __STANDARD_ETAT_MODEL_H__ #define __STANDARD_ETAT_MODEL_H__ #include #include "DomEtats.h" #include "Commun.h" class CStandardEtat { private : bool m_State; TypeEtat m_TypeEtat; QString m_Nom; QFont m_Font; QBrush m_TextColor; CStandardEtat *m_ptParentItem; QList m_ChildEtats; public : CStandardEtat(CStandardEtat *ptParent = 0); void appendChild(CStandardEtat *ptChild); CStandardEtat *Child(int row); int childCount(); int columnCount(); QVariant Data(int role); CStandardEtat *Parent(); int Row(); void setupEtat(QString Nom, TypeEtat Type); TypeEtat typeEtat(); QString Nom(); bool State(); void setState(bool newState); }; class CStandardEtatModel : public QAbstractItemModel { private : CStandardEtat *m_ptRootEtat, *m_ptRootVisible, *m_ptChildAdded; CDomEtats *m_ptDomEtats; public : CStandardEtatModel(CDomEtats *ptDomEtats); void setupModel(CStandardEtat *ptParentItem = 0, CInfoEtat *ptParentInfo = 0); int columnCount(const QModelIndex &Parent) const; QVariant data(const QModelIndex &index, int role) const; Qt::ItemFlags flags(const QModelIndex &index) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const; QModelIndex index(int row, int column, const QModelIndex &parent) const; QModelIndex parent(const QModelIndex &index) const; int rowCount(const QModelIndex &parent) const; QModelIndex rootIndex(); bool insertRows(int row, int count, const QModelIndex &indexParent); bool addRow(const QModelIndex &indexParent, QString Nom, TypeEtat Type); bool setData(const QModelIndex &Index, const QVariant &Value, int role=Qt::EditRole); // signals : // void dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight); }; #endif