2
* Created on 27-ene-2006
4
* TODO To change the template for this generated file go to
5
* Window - Preferences - Java - Code Style - Code Templates
7
package org.herac.tuxguitar.gui.system.config;
9
import java.io.InputStream;
10
import java.util.Properties;
12
import org.eclipse.swt.graphics.Font;
13
import org.eclipse.swt.graphics.FontData;
14
import org.herac.tuxguitar.gui.TuxGuitar;
15
import org.herac.tuxguitar.gui.editors.fretboard.FretBoardConfig;
16
import org.herac.tuxguitar.gui.editors.tab.edit.EditorKit;
17
import org.herac.tuxguitar.gui.editors.tab.layout.ViewLayout;
18
import org.herac.tuxguitar.gui.util.TGFileUtils;
23
* TODO To change the template for this generated type comment go to
24
* Window - Preferences - Java - Code Style - Code Templates
26
public class TGConfigDefaults{
28
private static final String DEFAULT_FILE = "config.dist";
30
private static final String DEFAULT_FONT_NAME = getDefaultFontName();
32
private Properties properties;
34
public TGConfigDefaults(){
35
this.properties = new Properties();
37
this.loadDefaultFile();
40
public void loadDefaultFile() {
42
InputStream is = TGFileUtils.getResourceAsStream(DEFAULT_FILE);
44
this.properties.load(is);
46
} catch (Exception e) {
51
private void loadDefaults(){
52
this.loadProperty(TGConfigKeys.SKIN,"Lavender");
53
this.loadProperty(TGConfigKeys.WINDOW_TITLE,"${appname} - ${filename}");
54
this.loadProperty(TGConfigKeys.SHOW_SPLASH,true);
55
this.loadProperty(TGConfigKeys.MAXIMIZED,false);
56
this.loadProperty(TGConfigKeys.WIDTH,800);
57
this.loadProperty(TGConfigKeys.HEIGHT,600);
58
this.loadProperty(TGConfigKeys.SHOW_MIXER,false);
59
this.loadProperty(TGConfigKeys.SHOW_TRANSPORT,false);
60
this.loadProperty(TGConfigKeys.SHOW_FRETBOARD,false);
61
this.loadProperty(TGConfigKeys.SHOW_PIANO,false);
62
this.loadProperty(TGConfigKeys.SHOW_MARKERS,false);
63
this.loadProperty(TGConfigKeys.LAYOUT_MODE,ViewLayout.MODE_PAGE);
64
this.loadProperty(TGConfigKeys.LAYOUT_STYLE,(ViewLayout.DISPLAY_TABLATURE | ViewLayout.DISPLAY_SCORE | ViewLayout.DISPLAY_COMPACT | ViewLayout.DISPLAY_CHORD_DIAGRAM));
65
this.loadProperty(TGConfigKeys.EDITOR_MOUSE_MODE,EditorKit.MOUSE_MODE_EDITION);
66
this.loadProperty(TGConfigKeys.EDITOR_NATURAL_KEY_MODE,true);
67
this.loadProperty(TGConfigKeys.FONT_DEFAULT, (DEFAULT_FONT_NAME + ",6,0"));
68
this.loadProperty(TGConfigKeys.FONT_NOTE, (DEFAULT_FONT_NAME + ",7,1"));
69
this.loadProperty(TGConfigKeys.FONT_TIME_SIGNATURE, (DEFAULT_FONT_NAME + ",13,3"));
70
this.loadProperty(TGConfigKeys.FONT_LYRIC, (DEFAULT_FONT_NAME + ",7,2"));
71
this.loadProperty(TGConfigKeys.FONT_TEXT, (DEFAULT_FONT_NAME + ",8,0"));
72
this.loadProperty(TGConfigKeys.FONT_CHORD, (DEFAULT_FONT_NAME + ",7,2"));
73
this.loadProperty(TGConfigKeys.FONT_CHORD_FRET, (DEFAULT_FONT_NAME + ",5,0"));
74
this.loadProperty(TGConfigKeys.FONT_GRACE, (DEFAULT_FONT_NAME + ",6,0"));
75
this.loadProperty(TGConfigKeys.FONT_PRINTER_DEFAULT, (DEFAULT_FONT_NAME + ",6,0"));
76
this.loadProperty(TGConfigKeys.FONT_PRINTER_NOTE, (DEFAULT_FONT_NAME + ",6,0"));
77
this.loadProperty(TGConfigKeys.FONT_PRINTER_TIME_SIGNATURE, (DEFAULT_FONT_NAME + ",10,3"));
78
this.loadProperty(TGConfigKeys.FONT_PRINTER_LYRIC, (DEFAULT_FONT_NAME + ",7,2"));
79
this.loadProperty(TGConfigKeys.FONT_PRINTER_TEXT, (DEFAULT_FONT_NAME + ",8,0"));
80
this.loadProperty(TGConfigKeys.FONT_PRINTER_CHORD, (DEFAULT_FONT_NAME + ",7,2"));
81
this.loadProperty(TGConfigKeys.FONT_PRINTER_GRACE, (DEFAULT_FONT_NAME + ",6,0"));
82
this.loadProperty(TGConfigKeys.FONT_ABOUT_DIALOG_TITLE, (DEFAULT_FONT_NAME + ",36,3"));
83
this.loadProperty(TGConfigKeys.COLOR_BACKGROUND,"255,255,255");
84
this.loadProperty(TGConfigKeys.COLOR_LINE,"150,150,150");
85
this.loadProperty(TGConfigKeys.COLOR_SCORE_NOTE,"0,0,0");
86
this.loadProperty(TGConfigKeys.COLOR_TAB_NOTE,"0,0,0");
87
this.loadProperty(TGConfigKeys.COLOR_PLAY_NOTE,"255,0,0");
88
this.loadProperty(TGConfigKeys.MAX_HISTORY_FILES,10);
89
this.loadProperty(TGConfigKeys.MIN_SCORE_TABLATURE_SPACING,20);
90
this.loadProperty(TGConfigKeys.SCORE_LINE_SPACING,8);
91
this.loadProperty(TGConfigKeys.TAB_LINE_SPACING,10);
92
this.loadProperty(TGConfigKeys.FIRST_TRACK_SPACING,20);
93
this.loadProperty(TGConfigKeys.TRACK_SPACING,10);
94
this.loadProperty(TGConfigKeys.LANGUAGE,"");
95
this.loadProperty(TGConfigKeys.FRETBOARD_STRING_SPACING,20);
96
this.loadProperty(TGConfigKeys.FRETBOARD_STYLE ,FretBoardConfig.DISPLAY_TEXT_SCALE);
97
this.loadProperty(TGConfigKeys.FRETBOARD_FONT, (DEFAULT_FONT_NAME + ",8,1"));
98
this.loadProperty(TGConfigKeys.FRETBOARD_COLOR_BACKGROUND,"0,0,0");
99
this.loadProperty(TGConfigKeys.FRETBOARD_COLOR_STRING,"227,217,217");
100
this.loadProperty(TGConfigKeys.FRETBOARD_COLOR_FRET_POINT,"192,192,192");
101
this.loadProperty(TGConfigKeys.FRETBOARD_COLOR_NOTE,"0,0,255");
102
this.loadProperty(TGConfigKeys.FRETBOARD_COLOR_SCALE,"255,0,0");
103
this.loadProperty(TGConfigKeys.PIANO_COLOR_KEY_NATURAL,"255,255,255");
104
this.loadProperty(TGConfigKeys.PIANO_COLOR_KEY_NOT_NATURAL,"0,0,0");
105
this.loadProperty(TGConfigKeys.PIANO_COLOR_NOTE,"0,0,255");
106
this.loadProperty(TGConfigKeys.PIANO_COLOR_SCALE,"255,0,0");
107
this.loadProperty(TGConfigKeys.MATRIX_FONT, (DEFAULT_FONT_NAME + ",8,1"));
108
this.loadProperty(TGConfigKeys.MATRIX_COLOR_FOREGROUND,"190,190,190");
109
this.loadProperty(TGConfigKeys.MATRIX_COLOR_BORDER,"25,25,25");
110
this.loadProperty(TGConfigKeys.MATRIX_COLOR_POSITION,"190,190,190");
111
this.loadProperty(TGConfigKeys.MATRIX_COLOR_NOTE,"0,0,255");
112
this.loadProperty(TGConfigKeys.MATRIX_COLOR_PLAY_NOTE,"255,0,0");
113
this.loadProperty(TGConfigKeys.MATRIX_COLOR_LINE_1,"255,255,255");
114
this.loadProperty(TGConfigKeys.MATRIX_COLOR_LINE_2,"230,230,250");
115
this.loadProperty(TGConfigKeys.MATRIX_COLOR_LINE_3,"173,216,230");
116
this.loadProperty(TGConfigKeys.TABLE_AUTO_SIZE,true);
117
this.loadProperty(TGConfigKeys.BROWSER_LINES_VISIBLE,true);
120
public Properties getProperties() {
121
return this.properties;
124
private void loadProperty(String key,String value){
125
this.properties.setProperty(key,value);
128
private void loadProperty(String key,int value){
129
this.properties.setProperty(key,Integer.toString(value));
132
private void loadProperty(String key,boolean value){
133
this.properties.setProperty(key,Boolean.toString(value));
136
private static String getDefaultFontName(){
137
Font font = TuxGuitar.instance().getDisplay().getSystemFont();
139
FontData[] fd = font.getFontData();
140
if(fd != null && fd.length > 0){
141
return fd[0].getName();