1 //=============================================================================
2 //  MuseScore
3 //  Music Composition & Notation
4 //
5 //  Copyright (C) 2013 Werner Schweer and others
6 //
7 //  This program is free software; you can redistribute it and/or modify
8 //  it under the terms of the GNU General Public License version 2
9 //  as published by the Free Software Foundation and appearing in
10 //  the file LICENSE.GPL
11 //=============================================================================
12 
13 #ifndef __NOTE_GROUPS_H__
14 #define __NOTE_GROUPS_H__
15 
16 #include "ui_note_groups.h"
17 #include "libmscore/fraction.h"
18 #include "libmscore/groups.h"
19 
20 namespace Ms {
21 
22 class Chord;
23 class Score;
24 
25 //---------------------------------------------------------
26 //   NoteGroups
27 //---------------------------------------------------------
28 
29 class NoteGroups : public QGroupBox, Ui::NoteGroups {
30       Q_OBJECT
31 
32       std::vector<Chord*> chords8;
33       std::vector<Chord*> chords16;
34       std::vector<Chord*> chords32;
35       Groups _groups;
36       Fraction _sig;
37       QString _z, _n;
38 
39       Score* createScore(int n, TDuration::DurationType t, std::vector<Chord*>* chords);
40       void updateBeams(Chord*, Beam::Mode);
41 
42    private slots:
43       void resetClicked();
44       void noteClicked(Note*);
45       void beamPropertyDropped(Chord*, Icon*);
46 
47    public:
48       NoteGroups(QWidget* parent);
49       void setSig(Fraction sig, const Groups&, const QString& zText, const QString& nText);
50       Groups groups();
51       };
52 
53 
54 } // namespace Ms
55 #endif
56 
57