Canorus  0.0
propertiesdialog.h
Go to the documentation of this file.
1 
8 #ifndef PROPERTIESDIALOG_H_
9 #define PROPERTIESDIALOG_H_
10 
11 #include "ui_propertiesdialog.h"
12 #include "ui_documentproperties.h"
13 #include "ui_sheetproperties.h"
14 #include "ui_staffproperties.h"
15 #include "ui_voiceproperties.h"
16 #include "ui_lyricscontextproperties.h"
17 #include "ui_functionmarkcontextproperties.h"
18 
19 class QTreeWidgetItem;
20 
21 class CADocument;
22 class CASheet;
23 class CAStaff;
24 class CAContext;
25 class CAVoice;
26 class CALyricsContext;
28 
29 class CADocumentProperties : public QWidget, public Ui::uiDocumentProperties {
30  Q_OBJECT
31 public:
32  CADocumentProperties( CADocument *doc, QWidget *parent=0 ) : QWidget( parent ) { _document = doc; setupUi(this); }
33 public slots:
35 private:
37 };
38 
39 class CASheetProperties : public QWidget, public Ui::uiSheetProperties {
40 public:
41  CASheetProperties( QWidget *parent=0 ) : QWidget( parent ) { setupUi(this); }
42 };
43 
44 class CAStaffProperties : public QWidget, public Ui::uiStaffProperties {
45 public:
46  CAStaffProperties( QWidget *parent=0 ) : QWidget( parent ) { setupUi(this); }
47 };
48 
49 class CAVoiceProperties : public QWidget, public Ui::uiVoiceProperties {
50 public:
51  CAVoiceProperties( QWidget *parent=0 ) : QWidget( parent ) { setupUi(this); }
52 };
53 
54 class CALyricsContextProperties : public QWidget, public Ui::uiLyricsContextProperties {
55 public:
56  CALyricsContextProperties( QWidget *parent=0 ) : QWidget( parent ) { setupUi(this); }
57 };
58 
59 class CAFunctionMarkContextProperties : public QWidget, public Ui::uiFunctionMarkContextProperties {
60 public:
61  CAFunctionMarkContextProperties( QWidget *parent=0 ) : QWidget( parent ) { setupUi(this); }
62 };
63 
64 class CAPropertiesDialog : public QDialog, private Ui::uiPropertiesDialog
65 {
66  Q_OBJECT
67 public:
68  CAPropertiesDialog( CADocument *doc, QWidget *parent=0 );
69  virtual ~CAPropertiesDialog();
70  static void documentProperties( CADocument *doc, QWidget *parent );
71  static void sheetProperties( CASheet *sheet, QWidget *parent );
72  static void contextProperties( CAContext *context, QWidget *parent );
73  static void voiceProperties( CAVoice *voice, QWidget *parent );
74 
75  inline CADocument *document() { return _document; }
76  inline QTreeWidgetItem *documentItem() { return _documentItem; }
77  inline QHash< QTreeWidgetItem*, CASheet* >& sheetItem() { return _sheetItem; }
78  inline QHash< QTreeWidgetItem*, CAContext* >& contextItem() { return _contextItem; }
79  inline QHash< QTreeWidgetItem*, CAVoice* >& voiceItem() { return _voiceItem; }
80 
81 public slots:
82  void on_uiDocumentTree_currentItemChanged( QTreeWidgetItem *cur, QTreeWidgetItem *prev );
83  void on_uiButtonBox_clicked( QAbstractButton* );
84  void on_uiUp_clicked( bool );
85  void on_uiDown_clicked( bool );
86 
87 private:
88  void buildTree();
89 
90  void applyProperties();
98 
100  QTreeWidgetItem *_documentItem; // Document => Document properties widget
101  QWidget *_documentPropertiesWidget; // Document item in tree widget => Document
102  QHash< CASheet*, QWidget* > _sheetPropertiesWidget; // Sheet => Sheet properties widget
103  QHash< QTreeWidgetItem*, CASheet* > _sheetItem; // Sheet item in tree widget => Sheet
104  QHash< CAContext*, QWidget* > _contextPropertiesWidget; // Context => Context properties widget
105  QHash< QTreeWidgetItem*, CAContext* > _contextItem; // Context item in tree widget => Context
106  QHash< CAVoice*, QWidget* > _voicePropertiesWidget; // Voice => Voice properties widget
107  QHash< QTreeWidgetItem*, CAVoice* > _voiceItem; // Voice item in tree widget => Voice
108 };
109 
110 #endif /* PROPERTIESDIALOG_H_ */
Represents a single sheet of paper in the document.
Definition: sheet.h:22
CADocument * _document
Definition: propertiesdialog.h:36
CAPropertiesDialog(CADocument *doc, QWidget *parent=0)
Definition: propertiesdialog.cpp:42
Definition: propertiesdialog.h:54
static void sheetProperties(CASheet *sheet, QWidget *parent)
Definition: propertiesdialog.cpp:181
QHash< QTreeWidgetItem *, CASheet * > & sheetItem()
Definition: propertiesdialog.h:77
void updateFunctionMarkContextProperties(CAFunctionMarkContext *)
Definition: propertiesdialog.cpp:472
void updateVoiceProperties(CAVoice *)
Definition: propertiesdialog.cpp:461
CASheetProperties(QWidget *parent=0)
Definition: propertiesdialog.h:41
Class which represents a voice in the staff.
Definition: voice.h:23
CADocument * _document
Definition: propertiesdialog.h:99
Definition: propertiesdialog.h:39
QHash< QTreeWidgetItem *, CAContext * > & contextItem()
Definition: propertiesdialog.h:78
void updateLyricsContextProperties(CALyricsContext *)
Definition: propertiesdialog.cpp:468
Class which represents the current document.
Definition: document.h:19
QHash< QTreeWidgetItem *, CAContext * > _contextItem
Definition: propertiesdialog.h:105
QHash< QTreeWidgetItem *, CAVoice * > & voiceItem()
Definition: propertiesdialog.h:79
virtual ~CAPropertiesDialog()
Definition: propertiesdialog.cpp:53
void on_uiDown_clicked(bool)
Definition: propertiesdialog.cpp:419
static void contextProperties(CAContext *context, QWidget *parent)
Definition: propertiesdialog.cpp:189
void on_uiUp_clicked(bool)
Definition: propertiesdialog.cpp:405
QTreeWidgetItem * _documentItem
Definition: propertiesdialog.h:100
Context for function marks.
Definition: functionmarkcontext.h:19
CALyricsContextProperties(QWidget *parent=0)
Definition: propertiesdialog.h:56
static void documentProperties(CADocument *doc, QWidget *parent)
Definition: propertiesdialog.cpp:173
void applyProperties()
Definition: propertiesdialog.cpp:307
QHash< QTreeWidgetItem *, CASheet * > _sheetItem
Definition: propertiesdialog.h:103
QHash< CAContext *, QWidget * > _contextPropertiesWidget
Definition: propertiesdialog.h:104
CAStaffProperties(QWidget *parent=0)
Definition: propertiesdialog.h:46
QHash< CASheet *, QWidget * > _sheetPropertiesWidget
Definition: propertiesdialog.h:102
Definition: propertiesdialog.h:29
void on_uiComposer_editingFinished()
Definition: propertiesdialog.cpp:206
void createDocumentFromTree()
Definition: propertiesdialog.cpp:372
CAFunctionMarkContextProperties(QWidget *parent=0)
Definition: propertiesdialog.h:61
Advanced Document, Sheet, Staff etc. properties.
Definition: propertiesdialog.h:64
QHash< QTreeWidgetItem *, CAVoice * > _voiceItem
Definition: propertiesdialog.h:107
One stanza line of lyrics.
Definition: lyricscontext.h:19
CAVoiceProperties(QWidget *parent=0)
Definition: propertiesdialog.h:51
void on_uiButtonBox_clicked(QAbstractButton *)
Definition: propertiesdialog.cpp:291
void buildTree()
Definition: propertiesdialog.cpp:60
void on_uiDocumentTree_currentItemChanged(QTreeWidgetItem *cur, QTreeWidgetItem *prev)
Definition: propertiesdialog.cpp:227
CADocumentProperties(CADocument *doc, QWidget *parent=0)
Definition: propertiesdialog.h:32
CADocument * document()
Definition: propertiesdialog.h:75
Represents a staff in the sheet.
Definition: staff.h:25
Definition: propertiesdialog.h:49
QHash< CAVoice *, QWidget * > _voicePropertiesWidget
Definition: propertiesdialog.h:106
QTreeWidgetItem * documentItem()
Definition: propertiesdialog.h:76
Definition: propertiesdialog.h:59
void updateStaffProperties(CAStaff *)
Definition: propertiesdialog.cpp:454
static void voiceProperties(CAVoice *voice, QWidget *parent)
Definition: propertiesdialog.cpp:197
void updateSheetProperties(CASheet *)
Definition: propertiesdialog.cpp:450
Definition: propertiesdialog.h:44
void updateDocumentProperties(CADocument *)
Definition: propertiesdialog.cpp:433
QWidget * _documentPropertiesWidget
Definition: propertiesdialog.h:101
Line of music elements in the sheet.
Definition: context.h:16