Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
document.h
Go to the documentation of this file.
1 
8 #ifndef DOCUMENT_H_
9 #define DOCUMENT_H_
10 
11 #include <QList>
12 #include <QString>
13 #include <QDateTime>
14 
15 class CASheet;
16 class CAArchive;
17 class CAResource;
18 
19 class CADocument {
20 public:
21  CADocument();
22  virtual ~CADocument();
23  CADocument *clone();
24  void clear();
25 
26  QList<CASheet*> sheetList() { return _sheetList; }
27  int sheetCount() { return _sheetList.size(); }
28  CASheet *sheet(const QString name);
29  CASheet *sheetAt(int i) { return _sheetList[i]; }
30  void setSheetAt(int i, CASheet *newSheet) { _sheetList[i]=newSheet; }
31 
32  QList<CAResource*>& resourceList() { return _resourceList; }
33  inline void addResource(CAResource *r) { _resourceList << r; }
34  inline void removeResource(CAResource *r) { _resourceList.removeAll(r); }
35 
36  CASheet *addSheetByName(const QString name);
37  void addSheet(CASheet *sheet);
38  CASheet *addSheet();
39  inline void removeSheet(CASheet *sheet) { _sheetList.removeAll(sheet); }
40 
41  const QString title() { return _title; }
42  const QString subtitle() { return _subtitle; }
43  const QString composer() { return _composer; }
44  const QString arranger() { return _arranger; }
45  const QString poet() { return _poet; }
46  const QString textTranslator() { return _textTranslator; }
47  const QString dedication() { return _dedication; }
48  const QString copyright() { return _copyright; }
49  const QDateTime dateCreated() { return _dateCreated; }
50  const QDateTime dateLastModified() { return _dateLastModified; }
51  const unsigned int timeEdited() { return _timeEdited; }
52  const QString comments() { return _comments; }
53 
54  void setTitle(const QString title) { _title = title; }
55  void setSubtitle(const QString subtitle) { _subtitle = subtitle; }
56  void setComposer(const QString composer) { _composer = composer; }
57  void setArranger(const QString arranger) { _arranger = arranger; }
58  void setPoet(const QString poet) { _poet = poet; }
60  void setDedication(const QString dedication) { _dedication = dedication; }
61  void setCopyright(const QString copyright) { _copyright = copyright; }
62  void setDateCreated(const QDateTime dateCreated) { _dateCreated = dateCreated; }
64  void setTimeEdited(const unsigned int timeEdited) { _timeEdited = timeEdited; }
65  void setComments(const QString comments) { _comments = comments; }
66 
68  // Temporary properties (not stored inside the file) //
70  const QString fileName() { return _fileName; }
71  bool isModified() { return _modified; }
72  CAArchive *archive() { return _archive; }
73 
74  void setFileName(const QString fileName) { _fileName = fileName; } // not saved!
75  void setModified( bool m ) { _modified = m; }
76  void setArchive( CAArchive *a ) { _archive = a; }
77 
78 private:
79  QList<CASheet*> _sheetList;
80  QList<CAResource*> _resourceList;
81 
82  QString _title;
83  QString _subtitle;
84  QString _composer;
85  QString _arranger;
86  QString _poet;
87  QString _textTranslator;
88  QString _dedication;
89  QString _copyright;
90  QDateTime _dateLastModified;
91  QDateTime _dateCreated;
92  unsigned int _timeEdited; // time the document has been edited in seconds
93  QString _comments;
94 
95  QString _fileName;
96  bool _modified; // unsaved changes
98 };
99 #endif /* DOCUMENT_H_ */
Represents a single sheet of paper in the document.
Definition: sheet.h:20
void setTextTranslator(const QString textTranslator)
Definition: document.h:59
QDateTime _dateLastModified
Definition: document.h:90
QDateTime _dateCreated
Definition: document.h:91
CASheet * sheetAt(int i)
Definition: document.h:29
CASheet * addSheet()
Definition: document.cpp:132
bool _modified
Definition: document.h:96
const unsigned int timeEdited()
Definition: document.h:51
QList< CAResource * > & resourceList()
Definition: document.h:32
CADocument * clone()
Definition: document.cpp:43
const QString poet()
Definition: document.h:45
CAArchive * _archive
Definition: document.h:97
Class for the manipulation of a gzipped tar archive (tar.gz)
Definition: archive.h:18
const QString title()
Definition: document.h:41
void setFileName(const QString fileName)
Definition: document.h:74
QString _composer
Definition: document.h:84
const QDateTime dateLastModified()
Definition: document.h:50
void setCopyright(const QString copyright)
Definition: document.h:61
void setArchive(CAArchive *a)
Definition: document.h:76
QList< CAResource * > _resourceList
Definition: document.h:80
QList< CASheet * > sheetList()
Definition: document.h:26
QString _comments
Definition: document.h:93
Class which represents the current document.
Definition: document.h:19
void setModified(bool m)
Definition: document.h:75
CADocument()
Definition: document.cpp:32
virtual ~CADocument()
Definition: document.cpp:74
QString _textTranslator
Definition: document.h:87
const QString arranger()
Definition: document.h:44
void setSubtitle(const QString subtitle)
Definition: document.h:55
const QString fileName()
Definition: document.h:70
void setTitle(const QString title)
Definition: document.h:54
const QString subtitle()
Definition: document.h:42
void setDateLastModified(const QDateTime dateLastModified)
Definition: document.h:63
QString _title
Definition: document.h:82
void setArranger(const QString arranger)
Definition: document.h:57
QString _arranger
Definition: document.h:85
void setPoet(const QString poet)
Definition: document.h:58
const QString composer()
Definition: document.h:43
void removeSheet(CASheet *sheet)
Definition: document.h:39
void setDateCreated(const QDateTime dateCreated)
Definition: document.h:62
QString _dedication
Definition: document.h:88
unsigned int _timeEdited
Definition: document.h:92
int sheetCount()
Definition: document.h:27
QList< CASheet * > _sheetList
Definition: document.h:79
const QString dedication()
Definition: document.h:47
void addResource(CAResource *r)
Definition: document.h:33
void setComposer(const QString composer)
Definition: document.h:56
const QDateTime dateCreated()
Definition: document.h:49
const QString comments()
Definition: document.h:52
bool isModified()
Definition: document.h:71
CASheet * addSheetByName(const QString name)
Definition: document.cpp:111
void setSheetAt(int i, CASheet *newSheet)
Definition: document.h:30
void setDedication(const QString dedication)
Definition: document.h:60
const QString copyright()
Definition: document.h:48
void setComments(const QString comments)
Definition: document.h:65
void setTimeEdited(const unsigned int timeEdited)
Definition: document.h:64
QString _copyright
Definition: document.h:89
const QString textTranslator()
Definition: document.h:46
QString _subtitle
Definition: document.h:83
Different resources included in the file.
Definition: resource.h:15
CASheet * sheet(const QString name)
Definition: document.cpp:142
CAArchive * archive()
Definition: document.h:72
QString _poet
Definition: document.h:86
void clear()
Definition: document.cpp:82
void removeResource(CAResource *r)
Definition: document.h:34
QString _fileName
Definition: document.h:95