|
What this is
Other links
The source code
/*
* StylesOptions.java - Color/style option pane
* Copyright (C) 1999 Slava Pestov
* Portions copyright (C) 1999 mike dillon
* Portions copyright (C) 1999-2001 Romain Guy
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* This program 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. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
package org.jext.options;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
import javax.swing.border.EmptyBorder;
import org.jext.*;
import org.jext.gui.*;
//import org.gjt.sp.jedit.syntax.SyntaxStyle;
public class StylesOptions extends AbstractOptionPane
{
public static final EmptyBorder noFocusBorder = new EmptyBorder(1, 1, 1, 1);
public StylesOptions()
{
super("styles");
setLayout(new GridLayout(2, 1));
JPanel panel = new JPanel(new BorderLayout());
panel.add(BorderLayout.NORTH, new JLabel(Jext.getProperty("options.styles.colors")));
panel.add(BorderLayout.CENTER, createColorTableScroller());
add(panel);
setLayout(new GridLayout(2, 1));
panel = new JPanel(new BorderLayout());
panel.add(BorderLayout.NORTH, new JLabel(Jext.getProperty("options.styles.styles")));
panel.add(BorderLayout.CENTER, createStyleTableScroller());
add(panel);
}
public void save()
{
colorModel.save();
styleModel.save();
}
public void load()
{
colorModel.load();
styleModel.load();
}
// private members
private ColorTable.ColorTableModel colorModel;
private ColorTable colorTable;
private StyleTable.StyleTableModel styleModel;
private StyleTable styleTable;
private JScrollPane createColorTableScroller()
{
colorModel = createColorTableModel();
colorTable = new ColorTable(colorModel);
Dimension d = colorTable.getPreferredSize();
d.height = Math.min(d.height, 100);
JScrollPane scroller = new JScrollPane(colorTable);
scroller.setPreferredSize(d);
return scroller;
}
private ColorTable.ColorTableModel createColorTableModel()
{
ColorTable.ColorTableModel model = new ColorTable.ColorTableModel();
model.addColorChoice("options.styles.bgColor", "editor.bgColor");
model.addColorChoice("options.styles.fgColor", "editor.fgColor");
model.addColorChoice("options.styles.caretColor", "editor.caretColor");
model.addColorChoice("options.styles.selectionColor", "editor.selectionColor");
model.addColorChoice("options.styles.highlightColor", "editor.highlightColor");
model.addColorChoice("options.styles.lineHighlightColor", "editor.lineHighlightColor");
model.addColorChoice("options.styles.linesHighlightColor", "editor.linesHighlightColor");
model.addColorChoice("options.styles.bracketHighlightColor", "editor.bracketHighlightColor");
model.addColorChoice("options.styles.wrapGuideColor", "editor.wrapGuideColor");
model.addColorChoice("options.styles.eolMarkerColor", "editor.eolMarkerColor");
model.addColorChoice("options.styles.gutterBgColor", "textArea.gutter.bgColor");
model.addColorChoice("options.styles.gutterFgColor", "textArea.gutter.fgColor");
model.addColorChoice("options.styles.gutterHighlightColor", "textArea.gutter.highlightColor");
model.addColorChoice("options.styles.gutterBorderColor", "textArea.gutter.borderColor");
model.addColorChoice("options.styles.gutterAnchorMarkColor", "textArea.gutter.anchorMarkColor");
model.addColorChoice("options.styles.gutterCaretMarkColor", "textArea.gutter.caretMarkColor");
model.addColorChoice("options.styles.gutterSelectionMarkColor", "textArea.gutter.selectionMarkColor");
model.addColorChoice("options.styles.consoleBgColor", "console.bgColor");
model.addColorChoice("options.styles.consoleOutputColor", "console.outputColor");
model.addColorChoice("options.styles.consolePromptColor", "console.promptColor");
model.addColorChoice("options.styles.consoleErrorColor", "console.errorColor");
model.addColorChoice("options.styles.consoleInfoColor", "console.infoColor");
model.addColorChoice("options.styles.consoleSelectionColor", "console.selectionColor");
model.addColorChoice("options.styles.vfSelectionColor", "vf.selectionColor");
model.addColorChoice("options.styles.buttonsHighlightColor", "buttons.highlightColor");
return model;
}
private JScrollPane createStyleTableScroller()
{
styleModel = createStyleTableModel();
styleTable = new StyleTable(styleModel);
Dimension d = styleTable.getPreferredSize();
d.height = Math.min(d.height, 100);
JScrollPane scroller = new JScrollPane(styleTable);
scroller.setPreferredSize(d);
return scroller;
}
private StyleTable.StyleTableModel createStyleTableModel()
{
StyleTable.StyleTableModel model = new StyleTable.StyleTableModel();
model.addStyleChoice("options.styles.comment1Style", "editor.style.comment1");
model.addStyleChoice("options.styles.comment2Style", "editor.style.comment2");
model.addStyleChoice("options.styles.literal1Style", "editor.style.literal1");
model.addStyleChoice("options.styles.literal2Style", "editor.style.literal2");
model.addStyleChoice("options.styles.labelStyle", "editor.style.label");
model.addStyleChoice("options.styles.keyword1Style", "editor.style.keyword1");
model.addStyleChoice("options.styles.keyword2Style", "editor.style.keyword2");
model.addStyleChoice("options.styles.keyword3Style", "editor.style.keyword3");
model.addStyleChoice("options.styles.operatorStyle", "editor.style.operator");
model.addStyleChoice("options.styles.invalidStyle", "editor.style.invalid");
model.addStyleChoice("options.styles.methodStyle", "editor.style.method");
return model;
}
}//end class StylesOptions
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.