width, Settings.MIN_COLUMN_WIDTH, Settings.MAX_COLUMN_WIDTH, 1));
mSettingsPn.add(new JLabel(mLocalizer.msg("widthInPixels", "Width in Pixels")), cc.xy(2, (currentRow += 2)));
mSettingsPn.add(mColWidth, cc.xy(4, currentRow));
mDefaultBtn = new JButton(Localizer.getLocalization(Localizer.I18N_DEFAULT));
mDefaultBtn.addActionListener(this);
mSettingsPn.add(mDefaultBtn, cc.xy(6, currentRow));
// Column Rows ***************************************
layout.appendRow(RowSpec.decode("pref"));
layout.appendRow(RowSpec.decode("5dlu"));
layout.appendRow(RowSpec.decode("pref"));
layout.appendRow(RowSpec.decode("3dlu"));
layout.appendRow(RowSpec.decode("pref"));
layout.appendRow(RowSpec.decode("10dlu"));
mSettingsPn.add(DefaultComponentFactory.getInstance().createSeparator(
mLocalizer.msg("range", "Range")), cc.xyw(1, (currentRow += 2), 8));
mSettingsPn.add(new JLabel(mLocalizer.msg("startOfDay", "Start of day")),
cc.xy(2, (currentRow += 2)));
TwoSpinnerDateModel startModel = new TwoSpinnerDateModel();
mStartOfDayTimeSp = new JSpinner(startModel);
startModel.setMe(mStartOfDayTimeSp);
JSpinner.DateEditor dateEditor = new JSpinner.DateEditor(mStartOfDayTimeSp, Settings.getTimePattern());
mStartOfDayTimeSp.setEditor(dateEditor);
mSettingsPn.add(mStartOfDayTimeSp, cc.xy(4, currentRow));
mSettingsPn.add(new JLabel("("
+ Localizer.getLocalization(Localizer.I18N_TODAY) + ")"), cc.xy(6,
currentRow));
CaretPositionCorrector.createCorrector(dateEditor.getTextField(), new char[] {':'}, -1);
mSettingsPn.add(new JLabel(mLocalizer.msg("endOfDay", "End of day")), cc
.xy(2, (currentRow += 2)));
TwoSpinnerDateModel endModel = new TwoSpinnerDateModel();
mEndOfDayTimeSp = new JSpinner(endModel);
endModel.setMe(mEndOfDayTimeSp);
dateEditor = new JSpinner.DateEditor(mEndOfDayTimeSp, Settings.getTimePattern());
mEndOfDayTimeSp.setEditor(dateEditor);
mSettingsPn.add(mEndOfDayTimeSp, cc.xy(4, currentRow));
mSettingsPn.add(new JLabel("(" + mLocalizer.msg("nextDay", "next day")
+ ")"), cc.xy(6, currentRow));
CaretPositionCorrector.createCorrector(dateEditor.getTextField(), new char[] {':'}, -1);
int minutes;
Calendar cal = Calendar.getInstance();
minutes = Settings.propProgramTableStartOfDay.getInt();
cal.set(Calendar.HOUR_OF_DAY, minutes / 60);
cal.set(Calendar.MINUTE, minutes % 60);
mStartOfDayTimeSp.setValue(cal.getTime());
minutes = Settings.propProgramTableEndOfDay.getInt();
cal.set(Calendar.HOUR_OF_DAY, minutes / 60);
cal.set(Calendar.MINUTE, minutes % 60);
mEndOfDayTimeSp.setValue(cal.getTime());
// Table Background ***************************************
layout.appendRow(RowSpec.decode("pref"));
layout.appendRow(RowSpec.decode("5dlu"));
layout.appendRow(RowSpec.decode("pref"));
layout.appendRow(RowSpec.decode("10dlu"));
mSettingsPn.add(DefaultComponentFactory.getInstance().createSeparator(
mLocalizer.msg("tableBackground", "Table background")), cc.xyw(1,
(currentRow += 2), 8));
mSettingsPn.add(new JLabel(mLocalizer.msg("tableBackgroundStyle",
"Table background style")), cc.xy(2, (currentRow += 2)));
TableBackgroundStyle[] styles = getTableBackgroundStyles();
mBackgroundStyleCB = new JComboBox(styles);
String style = Settings.propTableBackgroundStyle.getString();
for (int i = 0; i < styles.length; i++) {
if (styles[i].getSettingsString().equals(style)) {
mBackgroundStyleCB.setSelectedIndex(i);
break;
}
}
mBackgroundStyleCB.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
updateBackgroundStyleConfigureButton();
}
});
mSettingsPn.add(mBackgroundStyleCB, cc.xy(4, currentRow));
mConfigBackgroundStyleBt = new JButton(mLocalizer.ellipsisMsg("configure", "Configure"));
mConfigBackgroundStyleBt.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ConfigureBackgroundStyleDialog dlg = new ConfigureBackgroundStyleDialog(mBackgroundStyleCB,
(TableBackgroundStyle) mBackgroundStyleCB.getSelectedItem());