private JCheckBox mProgramItemWithMarkingsIsShowingBorder, mProgramPanelUsesExtraSpaceForMarkIcons;
private JComboBox mDefaultColor;
private JEditorPane mHelpLabel;
public JPanel createSettingsPanel() {
CellConstraints cc = new CellConstraints();
PanelBuilder pb = new PanelBuilder(new FormLayout("5dlu,default:grow","pref,5dlu,pref,10dlu,pref,5dlu,pref,fill:10dlu:grow,default"));
pb.setDefaultDialogBorder();
JPanel defaultMarkings = new JPanel(new FormLayout("default, 5dlu, default",
"default,2dlu,default,2dlu,default"));
String[] colors = {mLocalizer.msg("color.noPriority","Don't highlight"),mLocalizer.msg("color.minPriority","1. Color (minimal priority)"),mLocalizer.msg("color.lowerMediumPriority","2. Color (lower medium priority)"),mLocalizer.msg("color.mediumPriority","3. Color (medium priority)"),mLocalizer.msg("color.higherMediumPriority","4. Color (higher medium priority)"),mLocalizer.msg("color.maxPriority","5. Color (maximum priority)")};
defaultMarkings.add(mProgramPanelUsesExtraSpaceForMarkIcons = new JCheckBox(mLocalizer.msg("panel.extraSpace","Use additional space for the mark icons"), Settings.propProgramPanelUsesExtraSpaceForMarkIcons.getBoolean()), cc.xyw(1,1,3));
defaultMarkings.add(mProgramItemWithMarkingsIsShowingBorder = new JCheckBox(mLocalizer.msg("color.showBorder","Show border for highlighted programs"), Settings.propProgramPanelWithMarkingsShowingBoder.getBoolean()), cc.xyw(1,3,3));
defaultMarkings.add(new JLabel(mLocalizer.msg("color.showColor","Highlight with color (default color):")), cc.xy(1,5));
defaultMarkings.add(mDefaultColor = new JComboBox(colors), cc.xy(3,5));
mDefaultColor.setSelectedIndex(Settings.propProgramPanelUsedDefaultMarkPriority.getInt()+1);
mDefaultColor.setRenderer(new MarkPriorityComboBoxRenderer());
JPanel markings = new JPanel(new FormLayout("default, 5dlu, default, 5dlu, default",
"default, 3dlu, default, 3dlu, default, 3dlu, default, 3dlu, default, 3dlu, default"));
Color programItemMinMarkedColor = Settings.propProgramPanelMarkedMinPriorityColor.getColor();
Color programItemMinDefaultMarkedColor = Settings.propProgramPanelMarkedMinPriorityColor.getDefaultColor();
markings.add(new JLabel(colors[1]), cc.xy(1,1));
markings.add(mProgramItemMinMarkedColorLb = new ColorLabel(programItemMinMarkedColor), cc.xy(3,1));
mProgramItemMinMarkedColorLb.setStandardColor(programItemMinDefaultMarkedColor);
markings.add(new ColorButton(mProgramItemMinMarkedColorLb), cc.xy(5,1));
Color programItemLowerMediumMarkedColor = Settings.propProgramPanelMarkedLowerMediumPriorityColor.getColor();
Color programItemDefaultLowerMediumMarkedColor = Settings.propProgramPanelMarkedLowerMediumPriorityColor.getDefaultColor();
markings.add(new JLabel(colors[2]), cc.xy(1,3));
markings.add(mProgramItemLowerMediumMarkedColorLb = new ColorLabel(programItemLowerMediumMarkedColor), cc.xy(3,3));
mProgramItemLowerMediumMarkedColorLb.setStandardColor(programItemDefaultLowerMediumMarkedColor);
markings.add(new ColorButton(mProgramItemLowerMediumMarkedColorLb), cc.xy(5,3));
Color programItemMediumMarkedColor = Settings.propProgramPanelMarkedMediumPriorityColor.getColor();
Color programItemMediumDefaultMarkedColor = Settings.propProgramPanelMarkedMediumPriorityColor.getDefaultColor();
markings.add(new JLabel(colors[3]), cc.xy(1,5));
markings.add(mProgramItemMediumMarkedColorLb = new ColorLabel(programItemMediumMarkedColor), cc.xy(3,5));
mProgramItemMediumMarkedColorLb.setStandardColor(programItemMediumDefaultMarkedColor);
markings.add(new ColorButton(mProgramItemMediumMarkedColorLb), cc.xy(5,5));
Color programItemHigherMediumMarkedColor = Settings.propProgramPanelMarkedHigherMediumPriorityColor.getColor();
Color programItemHigherMediumDefaultMarkedColor = Settings.propProgramPanelMarkedHigherMediumPriorityColor.getDefaultColor();
markings.add(new JLabel(colors[4]), cc.xy(1,7));
markings.add(mProgramItemHigherMediumMarkedColorLb = new ColorLabel(programItemHigherMediumMarkedColor), cc.xy(3,7));
mProgramItemHigherMediumMarkedColorLb.setStandardColor(programItemHigherMediumDefaultMarkedColor);
markings.add(new ColorButton(mProgramItemHigherMediumMarkedColorLb), cc.xy(5,7));
Color programItemMaxMarkedColor = Settings.propProgramPanelMarkedMaxPriorityColor.getColor();
Color programItemMaxDefaultMarkedColor = Settings.propProgramPanelMarkedMaxPriorityColor.getDefaultColor();
markings.add(new JLabel(colors[5]), cc.xy(1,9));
markings.add(mProgramItemMaxMarkedColorLb = new ColorLabel(programItemMaxMarkedColor), cc.xy(3,9));
mProgramItemMaxMarkedColorLb.setStandardColor(programItemMaxDefaultMarkedColor);
markings.add(new ColorButton(mProgramItemMaxMarkedColorLb), cc.xy(5,9));
mHelpLabel = UiUtilities.createHtmlHelpTextArea(mLocalizer.msg("color.help","The priority that a plugin uses for a program is used to decide which color have to be used for the marking. A higher priority color replaces a lower priority color. The setting for the default color is only for plugins that do not care about the priority. But it works like for plugins that uses the priorities, so if you select the highest priority color there, all marking of plugin which do not care about the priority will replace lower marking colors."), new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
}
});
pb.addSeparator(mLocalizer.msg("color.programMarked","Highlighting by plugins"), cc.xyw(1,1,2));
pb.add(defaultMarkings, cc.xy(2,3));
pb.addSeparator(mLocalizer.msg("color.programMarkedAdditional","Additional colors (replacing default color)"), cc.xyw(1,5,2));
pb.add(markings, cc.xy(2,7));
pb.add(mHelpLabel, cc.xy(2,9));
return pb.getPanel();
}