summaryrefslogtreecommitdiff
path: root/noncore/multimedia/tonleiter/tonleiterdata.h
blob: 71d05fd4dff02ce8fd8c74a58ceef9dd81e3f08d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#ifndef TONLEITER_DATA_H
#define TONLEITER_DATA_H

#include <qobject.h>

#include "tonleiterdatahelper.h"

namespace Data
{
    class TonleiterData : public QObject
    {
        Q_OBJECT
    private:
        QValueList<Instrument> instruments;
        int currentInstrumentID;

        QValueList<Scale> scales;
        int currentScaleID;

        int currentNote;
        bool drawnames;
    public:
        TonleiterData(QObject* parent);
        ~TonleiterData();
    signals:
        void dataChange();
    public slots:
        void setCurrentInstrumetID(int id);
        void setCurrentScaleID(int id);
        void setCurrentNote(int id);
        void setDrawNames(bool dn);
    private:
        void loadData();
        void saveData();
    public:
        int noOfInstruments();
        Instrument getInstrument(int id);
        int getCurrentInstrumentID();

        int noOfScales();
        Scale getScale(int id);
        int getCurrentScaleID();

        int getCurrentBaseNote();
        bool isDrawNames();
    };
};

#endif //TONLEITER_DATA_H