📄 rtextpreferences.java
字号:
props.highlightModifiedDocNames = prefs.getBoolean(
"highlightModifiedDocNames", props.highlightModifiedDocNames);
props.imageAlpha = prefs.getFloat("imageAlpha", props.imageAlpha);
props.marginLineEnabled = prefs.getBoolean("marginLineEnabled",
props.marginLineEnabled);
props.marginLinePosition = prefs.getInt("marginLinePosition",
props.marginLinePosition);
props.syntaxFiltersString = prefs.get("syntaxFilters",
props.syntaxFiltersString);
props.textMode = prefs.getInt("textMode", props.textMode);
props.tabPlacement = prefs.getInt("tabPlacement", props.tabPlacement);
props.wordWrap = prefs.getBoolean("wordWrap", props.wordWrap);
temp = prefs.get("printFont", null);
if (temp != null) {
StringTokenizer t2 = new StringTokenizer(temp, ",");
String fontName = t2.nextToken();
if (fontName.equals("null")) {
props.printFont = null;
}
else {
int fontSize = Integer.parseInt(t2.nextToken());
boolean isBold = Boolean.valueOf(t2.nextToken()).booleanValue();
boolean isItalic = Boolean.valueOf(t2.nextToken()).booleanValue();
int fontStyle = Font.PLAIN;
if (isBold) {
if (isItalic) {
fontStyle = Font.BOLD | Font.ITALIC;
}
else {
fontStyle = Font.BOLD;
}
}
else if (isItalic) {
fontStyle = Font.ITALIC;
}
props.printFont = new Font(fontName, fontStyle, fontSize);
}
}
temp = prefs.get("backgroundObject", null);
if (temp != null) {
StringTokenizer t2 = new StringTokenizer(temp, ",");
String temp2 = t2.nextToken();
if (temp2.equals("color")) {
props.backgroundObject = RUtilities.getColorFromPacked(
Integer.parseInt(temp.substring(temp.indexOf(',') + 1)));
}
else if (temp2.equals("image")) {
props.backgroundObject = t2.nextToken();
}
else {
props.backgroundObject = Color.WHITE;
}
}
props.caretColor = RUtilities.getColorFromPacked(
prefs.getInt("caretColor", RUtilities.getPackedColor(props.caretColor)));
props.selectionColor = RUtilities.getColorFromPacked(
prefs.getInt("selectionColor",
RUtilities.getPackedColor(props.selectionColor)));
props.currentLineHighlightColor = RUtilities.getColorFromPacked(
prefs.getInt("currentLineHighlightColor",
RUtilities.getPackedColor(props.
currentLineHighlightColor)));
props.modifiedDocumentNamesColor = RUtilities.getColorFromPacked(
prefs.getInt("modifiedDocumentNamesColor",
RUtilities.getPackedColor(props.
modifiedDocumentNamesColor)));
props.matchedBracketBGColor = RUtilities.getColorFromPacked(
prefs.getInt("matchedBracketBGColor",
RUtilities.getPackedColor(props.matchedBracketBGColor)));
props.matchedBracketBorderColor = RUtilities.getColorFromPacked(
prefs.getInt("matchedBracketBorderColor",
RUtilities.getPackedColor(props.
matchedBracketBorderColor)));
props.marginLineColor = RUtilities.getColorFromPacked(
prefs.getInt("marginLineColor",
RUtilities.getPackedColor(props.marginLineColor)));
props.visibleWhitespace = prefs.getBoolean("visibleWhitespace",
props.visibleWhitespace);
props.smoothTextEnabled = prefs.getBoolean("smoothText",
props.smoothTextEnabled);
props.fractionalMetricsEnabled = prefs.getBoolean("fractionalMetrics",
props.fractionalMetricsEnabled);
props.markAllHighlightColor = RUtilities.getColorFromPacked(
prefs.getInt("markAllHighlightColor",
RUtilities.getPackedColor(props.markAllHighlightColor)));
props.roundedSelectionEdges = prefs.getBoolean("roundedSelectionEdges",
props.roundedSelectionEdges);
props.carets[RTextArea.INSERT_MODE] = prefs.getInt("insertCaretStyle",
props.carets[RTextArea.INSERT_MODE]);
props.carets[RTextArea.OVERWRITE_MODE] = prefs.getInt(
"overwriteCaretStyle", props.carets[RTextArea.OVERWRITE_MODE]);
props.caretBlinkRate = prefs.getInt("caretBlinkRate",
props.caretBlinkRate);
// Get all properties associated with the RTextMenuBar class.
prefs = Preferences.userNodeForPackage(RTextMenuBar.class);
props.fileHistoryString = prefs.get("fileHistoryString",
props.fileHistoryString);
props.maxFileHistorySize = prefs.getInt("maxFileHistorySize",
props.maxFileHistorySize);
// Get the accelerators for all RText actions.
for (int i = 0; i < RText.actionNames.length; i++) {
String actionName = RText.actionNames[i];
temp = prefs.get(actionName, null);
if (temp != null) {
props.accelerators.put(actionName,
getKeyStrokeFromString(temp));
}
}
// Get the accelerators for all AbstractMainView actions.
for (int i = 0; i < AbstractMainView.NUM_ACTIONS; i++) {
temp = prefs.get(mainViewAcceleratorKeys[i], null);
if (temp != null) {
props.mainViewActionAccelerators[i] = getKeyStrokeFromString(temp);
}
}
// If anything at all goes wrong, just use default property values.
}
catch (Exception e) {
e.printStackTrace();
props.setDefaults();
}
return props;
}
/*****************************************************************************/
/**
* Saves this preferences instance via the Java Preferences API.
*
* @param rtext The rtext instance for which you are saving preferences.
*/
public void savePreferences(Object rtext) {
// Save all properties related to the RText class.
Preferences prefs = Preferences.userNodeForPackage(RText.class);
saveCommonPreferences(prefs);
prefs.put("colorScheme", colorScheme.toCommaSeparatedString());
prefs.put("iconGroupName", iconGroupName);
prefs.putBoolean("lineNumbersVisible", lineNumbersVisible);
prefs.putInt("mainView", mainView);
prefs.putInt("statusBarStyle", statusBarStyle);
prefs.put("workingDirectory", workingDirectory);
prefs.putBoolean("searchToolBarVisible", searchToolBarVisible);
prefs.putInt("pluginDividerLocation.top", dividerLocations[RText.TOP]);
prefs.putInt("pluginDividerLocation.left", dividerLocations[RText.LEFT]);
prefs.putInt("pluginDividerLocation.bottom", dividerLocations[RText.BOTTOM]);
prefs.putInt("pluginDividerLocation.right", dividerLocations[RText.RIGHT]);
// Save all properties related to the AbstractMainView class.
prefs = Preferences.userNodeForPackage(AbstractMainView.class);
prefs.putBoolean("bracketMatchingEnabled", bracketMatchingEnabled);
prefs.putInt("caretColor", RUtilities.getPackedColor(caretColor));
prefs.putInt("currentLineHighlightColor",
RUtilities.getPackedColor(currentLineHighlightColor));
prefs.putBoolean("currentLineHighlightEnabled", currentLineHighlightEnabled);
prefs.putBoolean("emulateTabs", emulateTabsWithSpaces);
prefs.putBoolean("highlightModifiedDocNames", highlightModifiedDocNames);
prefs.putFloat("imageAlpha", imageAlpha);
prefs.putInt("marginLineColor", RUtilities.getPackedColor(marginLineColor));
prefs.putBoolean("marginLineEnabled", marginLineEnabled);
prefs.putInt("marginLinePosition", marginLinePosition);
prefs.putInt("matchedBracketBGColor",
RUtilities.getPackedColor(matchedBracketBGColor));
prefs.putInt("matchedBracketBorderColor",
RUtilities.getPackedColor(matchedBracketBorderColor));
prefs.putInt("modifiedDocumentNamesColor",
RUtilities.getPackedColor(modifiedDocumentNamesColor));
prefs.put("printFont",
printFont == null ? "null" : printFont.getFontName() + ","
+ printFont.getSize() + "," + printFont.isBold() +
"," + printFont.isItalic());
prefs.putInt("selectionColor", RUtilities.getPackedColor(selectionColor));
prefs.put("syntaxFilters", syntaxFiltersString);
prefs.putInt("tabSize", tabSize);
prefs.putInt("tabPlacement", tabPlacement);
prefs.putInt("textMode", textMode);
prefs.putBoolean("wordWrap", wordWrap);
if (backgroundObject instanceof Color) {
Color c = (Color) backgroundObject;
prefs.put("backgroundObject", "color," + RUtilities.getPackedColor(c));
}
else if (backgroundObject instanceof Image) {
prefs.put("backgroundObject",
"image," + ( (RText) rtext).getMainView().getBackgroundImageFileName());
}
prefs.putBoolean("visibleWhitespace", visibleWhitespace);
prefs.putBoolean("smoothText", smoothTextEnabled);
prefs.putBoolean("fractionalMetrics", fractionalMetricsEnabled);
prefs.putInt("markAllHighlightColor",
RUtilities.getPackedColor(markAllHighlightColor));
prefs.putBoolean("roundedSelectionEdges", roundedSelectionEdges);
prefs.putInt("insertCaretStyle", carets[RTextArea.INSERT_MODE]);
prefs.putInt("overwriteCaretStyle", carets[RTextArea.OVERWRITE_MODE]);
prefs.putInt("caretBlinkRate", caretBlinkRate);
// Save all properties related to the RTextMenuBar class.
prefs = Preferences.userNodeForPackage(RTextMenuBar.class);
prefs.put("fileHistoryString",
(fileHistoryString == null ? "-" : fileHistoryString));
prefs.putInt("maxFileHistorySize", maxFileHistorySize);
// Save all accelerators from RText.
for (int i = 0; i < RText.actionNames.length; i++) {
String actionName = RText.actionNames[i];
prefs.put(actionName,
getKeyStrokeString(getAccelerator(actionName)));
}
// Save all accelerators from the AbstractMainView.
for (int i = 0; i < AbstractMainView.NUM_ACTIONS; i++) {
prefs.put(mainViewAcceleratorKeys[i],
getKeyStrokeString(mainViewActionAccelerators[i]));
}
//prefs.flush();
prefs = null;
}
/*****************************************************************************/
/**
* Sets this preferences instance to contain all default values.
*/
protected void setDefaults() {
location = new Point(0, 0);
size = new Dimension(650, 500);
lookAndFeel = UIManager.getSystemLookAndFeelClassName(); //1.5.2004/pwy: use the system default
iconGroupName = IconGroupLoader.DEFAULT_ICON_GROUP_NAME;
toolbarVisible = true;
statusBarVisible = true;
lineNumbersVisible = false;
tabSize = 5;
emulateTabsWithSpaces = false;
textMode = RTextArea.INSERT_MODE;
tabPlacement = JTabbedPane.TOP;
printFont = null; // i.e., use RText's font.
backgroundObject = Color.WHITE;
imageAlpha = 0.3f; // Arbitrary initial value.
wordWrap = false;
caretColor = Color.BLACK;
selectionColor = new Color(200, 200, 255);
colorScheme = new SyntaxHighlightingColorScheme(true);
SyntaxFilters syntaxFilters = new SyntaxFilters();
syntaxFilters.restoreDefaultFileFilters();
syntaxFiltersString = syntaxFilters.toString();
maxFileHistorySize = 5;
fileHistoryString = null;
currentLineHighlightEnabled = true;
currentLineHighlightColor = RTextArea.getDefaultCurrentLineHighlightColor();
mainView = RText.TABBED_VIEW;
highlightModifiedDocNames = true;
modifiedDocumentNamesColor = Color.RED;
language = "en"; // Default to English.
bracketMatchingEnabled = true;
matchedBracketBGColor = RSyntaxTextArea.getDefaultBracketMatchBGColor();
matchedBracketBorderColor = RSyntaxTextArea.
getDefaultBracketMatchBorderColor();
marginLineEnabled = true;
marginLinePosition = RTextArea.getDefaultMarginLinePosition();
marginLineColor = RTextArea.getDefaultMarginLineColor();
visibleWhitespace = false;
smoothTextEnabled = false;
fractionalMetricsEnabled = false;
markAllHighlightColor = RTextArea.getDefaultMarkAllHighlightColor();
statusBarStyle = StatusBar.WINDOWS_XP_STYLE;
roundedSelectionEdges = false;
workingDirectory = System.getProperty("user.dir");
carets = new int[2];
carets[RTextArea.INSERT_MODE] = ConfigurableCaret.VERTICAL_LINE_STYLE;
carets[RTextArea.OVERWRITE_MODE] = ConfigurableCaret.BLOCK_STYLE;
caretBlinkRate = 500;
searchToolBarVisible = false;
dividerLocations = new int[4];
for (int i = 0; i < 4; i++) {
dividerLocations[i] = -1; // negative => left components preferred size.
}
accelerators = new HashMap();
for (int i = 0; i < RText.actionNames.length; i++) {
String actionName = RText.actionNames[i];
accelerators.put(actionName, defaultActionAccelerators[i]);
}
mainViewActionAccelerators = new KeyStroke[AbstractMainView.NUM_ACTIONS];
for (int i = 0; i < AbstractMainView.NUM_ACTIONS; i++) {
mainViewActionAccelerators[i] = defaultMainViewActionAccelerators[i];
}
}
/*****************************************************************************/
/**
* Returns a <code>String</code> containing the value of all members of
* this object.
*/
public String toString() {
return "[Class: RTextPreferences]";
}
/*****************************************************************************/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -