-
Notifications
You must be signed in to change notification settings - Fork 3
/
Settings.hpp
89 lines (76 loc) · 2.87 KB
/
Settings.hpp
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/**
* Settings.hpp
* Copyright © 2012 kbinani
*
* This file is part of cadencii.
*
* cadencii is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2.0 as published by the Free Software Foundation.
*
* cadencii is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
#ifndef __Settings_hpp__
#define __Settings_hpp__
#include "enum/QuantizeMode.hpp"
namespace cadencii {
/**
* @brief カスタマイズ可能な、アプリの設定項目を保持する
*/
class Settings {
public:
/**
* @brief 設定項目を取得する。引数 newInstance が指定された場合、設定項目のインスタンスを置き換える
* @param newInstance 置き換える設定項目のインスタンス
* @return 設定項目
*/
static Settings *instance(Settings *newInstance = 0) {
static Settings *settings;
if (newInstance) {
settings = newInstance;
}
return settings;
}
virtual ~Settings() {
}
/**
* @brief クオンタイズモードを取得する
*/
virtual QuantizeMode::QuantizeModeEnum getQuantizeMode() = 0;
/**
* @brief クオンタイズモードを設定する
*/
virtual void setQuantizeMode(QuantizeMode::QuantizeModeEnum mode) = 0;
/**
* @brief グリッド線を表示するかどうかを取得する
* @return グリッド線を表示する場合は true を返す
*/
virtual bool isGridVisible() = 0;
/**
* @brief グリッド線を表示するかどうかを設定する
* @param isVisible 表示する場合は true を、それ以外は false を設定する
*/
virtual void setGridVisible(bool isVisible) = 0;
/**
* @brief ソングポジションの移動時に、ソングポジションが可視状態となるよう自動でスクロールするかどうかを取得する
* @return 自動スクロールするかどうか
*/
virtual bool isAutoScroll() = 0;
/**
* @brief ソングポジションの移動時に、ソングポジションが可視状態となるよう自動でスクロールするかどうかを設定する
* @param isAutoScroll 自動スクロールするかどうか
*/
virtual void setAutoScroll(bool isAutoScroll) = 0;
/**
* @brief 設定項目を保存する
*/
virtual void save() = 0;
/**
* @brief 単体テストでの実行かどうかを取得する
*/
virtual bool isUnderUnitTest() = 0;
};
}
#endif