#ifndef __DATAMODEL_H__ #define __DATAMODEL_H__ #include #include #include #include #include #include class ModelItem : private QObject { Q_OBJECT public: ModelItem(QString name, QString type, QString data, QDateTime creationDate); QString itemName; QString itemType; QString itemData; QDateTime itemCreationDate; }; class Model : public QObject { Q_OBJECT public: Model(QTreeWidget *treeWidget, QTextEdit *editor, QString fileName, QString dateFormat); ~Model(); void changeName(int index, QString newName); int addItem(QString name, QString type, QString data, QDateTime creationDate); QString getName(int index); QString getType(int index); QString getData(int index); QDateTime getCreationDate(int index); bool askForSaveAndSave(QWidget *parent); void save(); void saveAs(QString fileName); bool open(); void updateDisplay(QTreeWidgetItem *newItem); void updateModelWithCurrent(); QString getFileName(); QTreeWidgetItem * getCurrentItem(); void setCurrentItem(QTreeWidgetItem *value); void setFileModified(bool value); void setDateFormat(QString value); QIcon m_folderIcon; QIcon m_bookmarkIcon; private: QList *list; QTreeWidget *m_treeWidget; QTreeWidgetItem *m_currentItem; bool m_boFileModified; QString m_stFileName; QString m_stDateFormat; QTextEdit *m_editor; QDateTime m_fileCreationDate; void updateData(int index, QString data); void clear(); bool checkFileModified(); QString getCategoryHtml(QTreeWidgetItem *item); bool readFile(); void ParseElement(const QDomElement &element, QTreeWidgetItem *parentItem, QTreeWidget *treeWidget); void writeFile(); void processSaveItem(QDomDocument *doc, QDomElement *parent, QTreeWidgetItem *item); }; #endif // __DATAMODEL_H__