|
What this is
Other links
The source code/* * 01/20/2003 - 23:11:56 * * EditorOptions.java - The editor options pane * Copyright (C) 2000 Romain Guy * romain.guy@jext.org * www.jext.org * * 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 javax.swing.*; import org.jext.*; import org.jext.gui.*; public class EditorOptions extends AbstractOptionPane //JPanel implements OptionPane { private FontSelector fonts; private JTextField autoScroll, linesInterval, wrapGuide; private JComboBox newline, tabSize, modes, encoding, orientation; private JextCheckBox enterIndent, tabIndent, softTabs, blockCaret, selection, smartHomeEnd, splitArea, fullFileName, lineHighlight, eolMarkers, blinkCaret, tabStop, linesIntervalEnabled, wrapGuideEnabled, dirDefaultDialog, overSpace, addExtraLineFeed, preserveLineTerm; private String modeNames[]; public EditorOptions() { super("editor"); addComponent(Jext.getProperty("options.autoscroll.label"), autoScroll = new JTextField(4)); autoScroll.setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR)); addComponent(Jext.getProperty("options.linesinterval.label"), linesInterval = new JTextField(4)); linesInterval.setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR)); addComponent(Jext.getProperty("options.wrapguide.label"), wrapGuide = new JTextField(4)); wrapGuide.setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR)); String[] encodings = { "ASCII", "Cp850", "Cp1252", "iso-8859-1", "iso-8859-2", "KOI8_R","MacRoman", "UTF8", "UTF16", "Unicode" }; encoding = new JComboBox(encodings); encoding.setRenderer(new ModifiedCellRenderer()); encoding.setEditable(true); addComponent(Jext.getProperty("options.encoding.label"), encoding); fonts = new FontSelector("editor"); addComponent(Jext.getProperty("options.fonts.label"), fonts); String sizes[] = { "2", "4", "8", "16" }; tabSize = new JComboBox(sizes); tabSize.setEditable(true); addComponent(Jext.getProperty("options.tabsize.label"), tabSize); tabSize.setRenderer(new ModifiedCellRenderer()); int nModes = Jext.modes.size(); String modeUserNames[] = new String[nModes]; modeNames = new String[nModes]; for (int i = 0; i < nModes; i++) { Mode syntaxMode = (Mode) Jext.modes.get(i); modeNames[i] = syntaxMode.getModeName(); modeUserNames[i] = syntaxMode.getUserModeName(); } modes = new JComboBox(modeUserNames); modes.setRenderer(new ModifiedCellRenderer()); addComponent(Jext.getProperty("options.syntax.mode.label"), modes); String newlines[] = { "MacOS (\\r)", "Unix (\\n)", "Windows (\\r\\n)" }; newline = new JComboBox(newlines); newline.setRenderer(new ModifiedCellRenderer()); addComponent(Jext.getProperty("options.newline.label"), newline); String _or[] = { "Vertical", "Horizontal" }; orientation = new JComboBox(_or); orientation.setRenderer(new ModifiedCellRenderer()); addComponent(Jext.getProperty("options.orientation.label"), orientation); addComponent(linesIntervalEnabled = new JextCheckBox(Jext.getProperty("options.linesintervalenabled.label"))); addComponent(wrapGuideEnabled = new JextCheckBox(Jext.getProperty("options.wrapguideenabled.label"))); addComponent(splitArea = new JextCheckBox(Jext.getProperty("options.splitarea.label"))); addComponent(blockCaret = new JextCheckBox(Jext.getProperty("options.blockcaret.label"))); addComponent(blinkCaret = new JextCheckBox(Jext.getProperty("options.blinkingcaret.label"))); addComponent(lineHighlight = new JextCheckBox(Jext.getProperty("options.linehighlight.label"))); addComponent(eolMarkers = new JextCheckBox(Jext.getProperty("options.eolmarkers.label"))); addComponent(softTabs = new JextCheckBox(Jext.getProperty("options.softtabs.label"))); addComponent(tabIndent = new JextCheckBox(Jext.getProperty("options.tabindent.label"))); addComponent(enterIndent = new JextCheckBox(Jext.getProperty("options.enterindent.label"))); addComponent(tabStop = new JextCheckBox(Jext.getProperty("options.tabstop.label"))); addComponent(overSpace = new JextCheckBox(Jext.getProperty("options.wordmove.go_over_space.label"))); addComponent(smartHomeEnd = new JextCheckBox(Jext.getProperty("options.smartHomeEnd.label"))); addComponent(dirDefaultDialog = new JextCheckBox(Jext.getProperty("options.defaultdirloaddialog.label"))); addComponent(selection = new JextCheckBox(Jext.getProperty("options.selection.label"))); addComponent(addExtraLineFeed = new JextCheckBox(Jext.getProperty("options.extra_line_feed.label"))); addComponent(preserveLineTerm = new JextCheckBox(Jext.getProperty("options.line_end_preserved.label"))); load(); } public void load() { autoScroll.setText(Jext.getProperty("editor.autoScroll")); linesInterval.setText(Jext.getProperty("editor.linesInterval")); wrapGuide.setText(Jext.getProperty("editor.wrapGuideOffset")); encoding.setSelectedItem(Jext.getProperty("editor.encoding", System.getProperty("file.encoding"))); tabSize.setSelectedItem(Jext.getProperty("editor.tabSize")); int selMode = 0; String currMode = Jext.getProperty("editor.colorize.mode"); for ( ; selMode < modeNames.length; selMode++) if (currMode.equals(modeNames[selMode])) break; modes.setSelectedIndex(selMode); int i = 0; String currNewLine = Jext.getProperty("editor.newLine"); for ( ; i < Jext.NEW_LINE.length; i++) if (Jext.NEW_LINE[i].equals(currNewLine)) break; newline.setSelectedIndex(i); orientation.setSelectedItem(Jext.getProperty("editor.splitted.orientation")); linesIntervalEnabled.setSelected(Jext.getBooleanProperty("editor.linesIntervalEnabled")); wrapGuideEnabled.setSelected(Jext.getBooleanProperty("editor.wrapGuideEnabled")); splitArea.setSelected(Jext.getBooleanProperty("editor.splitted")); blockCaret.setSelected(Jext.getBooleanProperty("editor.blockCaret")); blinkCaret.setSelected(Jext.getBooleanProperty("editor.blinkingCaret")); lineHighlight.setSelected(Jext.getBooleanProperty("editor.lineHighlight")); eolMarkers.setSelected(Jext.getBooleanProperty("editor.eolMarkers")); tabIndent.setSelected(Jext.getBooleanProperty("editor.tabIndent")); enterIndent.setSelected(Jext.getBooleanProperty("editor.enterIndent")); softTabs.setSelected(Jext.getBooleanProperty("editor.softTab")); tabStop.setSelected(Jext.getBooleanProperty("editor.tabStop")); smartHomeEnd.setSelected(Jext.getBooleanProperty("editor.smartHomeEnd")); dirDefaultDialog.setSelected(Jext.getBooleanProperty("editor.dirDefaultDialog")); selection.setSelected(Jext.getBooleanProperty("use.selection")); overSpace.setSelected(Jext.getBooleanProperty("editor.wordmove.go_over_space")); addExtraLineFeed.setSelected(Jext.getBooleanProperty("editor.extra_line_feed")); preserveLineTerm.setSelected(Jext.getBooleanProperty("editor.line_end.preserve")); fonts.load(); } public Component getComponent() { JScrollPane scroller = new JScrollPane(this); Dimension _dim = this.getPreferredSize(); scroller.setPreferredSize(new Dimension((int) _dim.width, 410)); //scroller.setBorder(javax.swing.border.LineBorder.createBlackLineBorder()); return scroller; } public void save() { /*Jext.setProperty("editor.colorize.mode", ((Mode) Jext.modes.get(modes.getSelectedIndex())).getModeName());*/ Jext.setProperty("editor.colorize.mode", modeNames[modes.getSelectedIndex()]); Jext.setProperty("editor.tabIndent", tabIndent.isSelected() ? "on" : "off"); Jext.setProperty("editor.enterIndent", enterIndent.isSelected() ? "on" : "off"); Jext.setProperty("editor.softTab", softTabs.isSelected() ? "on" : "off"); Jext.setProperty("editor.tabStop", tabStop.isSelected() ? "on" : "off"); Jext.setProperty("editor.tabSize", (String) tabSize.getSelectedItem()); Jext.setProperty("editor.encoding", (String) encoding.getSelectedItem()); Jext.setProperty("editor.blockCaret", blockCaret.isSelected() ? "on" : "off"); Jext.setProperty("editor.blinkingCaret", blinkCaret.isSelected() ? "on" : "off"); Jext.setProperty("editor.lineHighlight", lineHighlight.isSelected() ? "on" : "off"); Jext.setProperty("editor.newLine", (String) Jext.NEW_LINE[newline.getSelectedIndex()]); Jext.setProperty("editor.eolMarkers", eolMarkers.isSelected() ? "on" : "off"); Jext.setProperty("editor.smartHomeEnd", smartHomeEnd.isSelected() ? "on" : "off"); Jext.setProperty("editor.dirDefaultDialog", dirDefaultDialog.isSelected() ? "on" : "off"); Jext.setProperty("editor.splitted", splitArea.isSelected() ? "on" : "off"); Jext.setProperty("editor.autoScroll", autoScroll.getText()); Jext.setProperty("editor.linesInterval", linesInterval.getText()); Jext.setProperty("editor.linesIntervalEnabled", linesIntervalEnabled.isSelected() ? "on" : "off"); Jext.setProperty("editor.wrapGuideOffset", wrapGuide.getText()); Jext.setProperty("editor.wrapGuideEnabled", wrapGuideEnabled.isSelected() ? "on" : "off"); Jext.setProperty("editor.splitted.orientation", (String) orientation.getSelectedItem()); Jext.setProperty("use.selection", selection.isSelected() ? "on" : "off"); Jext.setProperty("editor.wordmove.go_over_space", overSpace.isSelected() ? "on" : "off"); Jext.setProperty("editor.extra_line_feed", addExtraLineFeed.isSelected() ? "on" : "off"); Jext.setProperty("editor.line_end.preserve", preserveLineTerm.isSelected() ? "on" : "off"); fonts.save(); } } // End of EditorOptions.java |
... 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.