|
Canorus
0.7
|
00001 00008 #ifndef DOCUMENT_H_ 00009 #define DOCUMENT_H_ 00010 00011 #include <QList> 00012 #include <QString> 00013 #include <QDateTime> 00014 00015 class CASheet; 00016 class CAArchive; 00017 class CAResource; 00018 00019 class CADocument { 00020 public: 00021 CADocument(); 00022 virtual ~CADocument(); 00023 CADocument *clone(); 00024 void clear(); 00025 00026 QList<CASheet*> sheetList() { return _sheetList; } 00027 int sheetCount() { return _sheetList.size(); } 00028 CASheet *sheet(const QString name); 00029 CASheet *sheetAt(int i) { return _sheetList[i]; } 00030 void setSheetAt(int i, CASheet *newSheet) { _sheetList[i]=newSheet; } 00031 00032 QList<CAResource*>& resourceList() { return _resourceList; } 00033 inline void addResource(CAResource *r) { _resourceList << r; } 00034 inline void removeResource(CAResource *r) { _resourceList.removeAll(r); } 00035 00036 CASheet *addSheetByName(const QString name); 00037 void addSheet(CASheet *sheet); 00038 CASheet *addSheet(); 00039 inline void removeSheet(CASheet *sheet) { _sheetList.removeAll(sheet); } 00040 00041 const QString title() { return _title; } 00042 const QString subtitle() { return _subtitle; } 00043 const QString composer() { return _composer; } 00044 const QString arranger() { return _arranger; } 00045 const QString poet() { return _poet; } 00046 const QString textTranslator() { return _textTranslator; } 00047 const QString dedication() { return _dedication; } 00048 const QString copyright() { return _copyright; } 00049 const QDateTime dateCreated() { return _dateCreated; } 00050 const QDateTime dateLastModified() { return _dateLastModified; } 00051 const unsigned int timeEdited() { return _timeEdited; } 00052 const QString comments() { return _comments; } 00053 00054 void setTitle(const QString title) { _title = title; } 00055 void setSubtitle(const QString subtitle) { _subtitle = subtitle; } 00056 void setComposer(const QString composer) { _composer = composer; } 00057 void setArranger(const QString arranger) { _arranger = arranger; } 00058 void setPoet(const QString poet) { _poet = poet; } 00059 void setTextTranslator(const QString textTranslator) { _textTranslator = textTranslator; } 00060 void setDedication(const QString dedication) { _dedication = dedication; } 00061 void setCopyright(const QString copyright) { _copyright = copyright; } 00062 void setDateCreated(const QDateTime dateCreated) { _dateCreated = dateCreated; } 00063 void setDateLastModified(const QDateTime dateLastModified) { _dateLastModified = dateLastModified; } 00064 void setTimeEdited(const unsigned int timeEdited) { _timeEdited = timeEdited; } 00065 void setComments(const QString comments) { _comments = comments; } 00066 00068 // Temporary properties (not stored inside the file) // 00070 const QString fileName() { return _fileName; } 00071 bool isModified() { return _modified; } 00072 CAArchive *archive() { return _archive; } 00073 00074 void setFileName(const QString fileName) { _fileName = fileName; } // not saved! 00075 void setModified( bool m ) { _modified = m; } 00076 void setArchive( CAArchive *a ) { _archive = a; } 00077 00078 private: 00079 QList<CASheet*> _sheetList; 00080 QList<CAResource*> _resourceList; 00081 00082 QString _title; 00083 QString _subtitle; 00084 QString _composer; 00085 QString _arranger; 00086 QString _poet; 00087 QString _textTranslator; 00088 QString _dedication; 00089 QString _copyright; 00090 QDateTime _dateLastModified; 00091 QDateTime _dateCreated; 00092 unsigned int _timeEdited; // time the document has been edited in seconds 00093 QString _comments; 00094 00095 QString _fileName; 00096 bool _modified; // unsaved changes 00097 CAArchive *_archive; 00098 }; 00099 #endif /* DOCUMENT_H_ */
1.8.0