PageRenderTime 47ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-2-pre14/org/gjt/sp/jedit/options/TextAreaOptionPane.java

#
Java | 220 lines | 156 code | 23 blank | 41 comment | 0 complexity | 7c3a187e759543f6a783b02d7f7d89ad MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. /*
  2. * TextAreaOptionPane.java - Text area options panel
  3. * :tabSize=8:indentSize=8:noTabs=false:
  4. * :folding=explicit:collapseFolds=1:
  5. *
  6. * Copyright (C) 1998, 1999, 2000 Slava Pestov
  7. *
  8. * This program is free software; you can redistribute it and/or
  9. * modify it under the terms of the GNU General Public License
  10. * as published by the Free Software Foundation; either version 2
  11. * of the License, or any later version.
  12. *
  13. * This program is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU General Public License
  19. * along with this program; if not, write to the Free Software
  20. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  21. */
  22. package org.gjt.sp.jedit.options;
  23. //{{{ Imports
  24. import javax.swing.*;
  25. import java.awt.event.ActionEvent;
  26. import java.awt.event.ActionListener;
  27. import java.awt.*;
  28. import org.gjt.sp.jedit.gui.*;
  29. import org.gjt.sp.jedit.*;
  30. //}}}
  31. public class TextAreaOptionPane extends AbstractOptionPane
  32. {
  33. //{{{ TextAreaOptionPane constructor
  34. public TextAreaOptionPane()
  35. {
  36. super("textarea");
  37. } //}}}
  38. //{{{ _init() method
  39. public void _init()
  40. {
  41. /* Font */
  42. font = new FontSelector(jEdit.getFontProperty("view.font"));
  43. addComponent(jEdit.getProperty("options.textarea.font"),font);
  44. /* Text color */
  45. addComponent(jEdit.getProperty("options.textarea.foreground"),
  46. foregroundColor = new ColorWellButton(
  47. jEdit.getColorProperty("view.fgColor")),
  48. GridBagConstraints.VERTICAL);
  49. /* Background color */
  50. addComponent(jEdit.getProperty("options.textarea.background"),
  51. backgroundColor = new ColorWellButton(
  52. jEdit.getColorProperty("view.bgColor")),
  53. GridBagConstraints.VERTICAL);
  54. /* Caret color, caret blink, block caret */
  55. blinkCaret = new JCheckBox(jEdit.getProperty("options.textarea"
  56. + ".blinkCaret"));
  57. blinkCaret.setSelected(jEdit.getBooleanProperty("view.caretBlink"));
  58. blockCaret = new JCheckBox(jEdit.getProperty("options.textarea"
  59. + ".blockCaret"));
  60. blockCaret.setSelected(jEdit.getBooleanProperty("view.blockCaret"));
  61. Box caretSettings = new Box(BoxLayout.X_AXIS);
  62. caretSettings.add(new JLabel(jEdit.getProperty(
  63. "options.textarea.caret")));
  64. caretSettings.add(Box.createHorizontalStrut(6));
  65. caretSettings.add(blinkCaret);
  66. caretSettings.add(blockCaret);
  67. addComponent(caretSettings,caretColor = new ColorWellButton(
  68. jEdit.getColorProperty("view.caretColor")),
  69. GridBagConstraints.VERTICAL);
  70. /* Selection color */
  71. addComponent(jEdit.getProperty("options.textarea.selection"),
  72. selectionColor = new ColorWellButton(
  73. jEdit.getColorProperty("view.selectionColor")),
  74. GridBagConstraints.VERTICAL);
  75. /* Multiple selection color */
  76. addComponent(jEdit.getProperty("options.textarea.multipleSelection"),
  77. multipleSelectionColor = new ColorWellButton(
  78. jEdit.getColorProperty("view.multipleSelectionColor")),
  79. GridBagConstraints.VERTICAL);
  80. /* Line highlight */
  81. lineHighlight = new JCheckBox(jEdit.getProperty("options.textarea"
  82. + ".lineHighlight"));
  83. lineHighlight.setSelected(jEdit.getBooleanProperty("view.lineHighlight"));
  84. addComponent(lineHighlight,lineHighlightColor = new ColorWellButton(
  85. jEdit.getColorProperty("view.lineHighlightColor")),
  86. GridBagConstraints.VERTICAL);
  87. /* Structure highlight */
  88. structureHighlight = new JCheckBox(jEdit.getProperty("options.textarea"
  89. + ".structureHighlight"));
  90. structureHighlight.setSelected(jEdit.getBooleanProperty(
  91. "view.structureHighlight"));
  92. addComponent(structureHighlight,structureHighlightColor = new ColorWellButton(
  93. jEdit.getColorProperty("view.structureHighlightColor")),
  94. GridBagConstraints.VERTICAL);
  95. /* EOL markers */
  96. eolMarkers = new JCheckBox(jEdit.getProperty("options.textarea"
  97. + ".eolMarkers"));
  98. eolMarkers.setSelected(jEdit.getBooleanProperty("view.eolMarkers"));
  99. addComponent(eolMarkers,eolMarkerColor =new ColorWellButton(
  100. jEdit.getColorProperty("view.eolMarkerColor")),
  101. GridBagConstraints.VERTICAL);
  102. /* Wrap guide */
  103. wrapGuide = new JCheckBox(jEdit.getProperty("options.textarea"
  104. + ".wrapGuide"));
  105. wrapGuide.setSelected(jEdit.getBooleanProperty("view.wrapGuide"));
  106. addComponent(wrapGuide,wrapGuideColor = new ColorWellButton(
  107. jEdit.getColorProperty("view.wrapGuideColor")),
  108. GridBagConstraints.VERTICAL);
  109. /* Electric borders */
  110. electricBorders = new JCheckBox(jEdit.getProperty("options.textarea"
  111. + ".electricBorders"));
  112. electricBorders.setSelected(!"0".equals(jEdit.getProperty(
  113. "view.electricBorders")));
  114. addComponent(electricBorders);
  115. /* Anti-aliasing */
  116. antiAlias = new JCheckBox(jEdit.getProperty("options.textarea"
  117. + ".antiAlias"));
  118. boolean antiAliasEnabled = jEdit.getBooleanProperty(
  119. "view.antiAlias");
  120. font.setAntiAliasEnabled(antiAliasEnabled);
  121. antiAlias.addActionListener(new ActionListener()
  122. {
  123. public void actionPerformed(ActionEvent evt)
  124. {
  125. font.setAntiAliasEnabled(
  126. antiAlias.isSelected());
  127. font.repaint();
  128. }
  129. });
  130. antiAlias.setSelected(antiAliasEnabled);
  131. addComponent(antiAlias);
  132. /* Fractional font metrics */
  133. fracFontMetrics = new JCheckBox(jEdit.getProperty("options.textarea"
  134. + ".fracFontMetrics"));
  135. fracFontMetrics.setSelected(jEdit.getBooleanProperty(
  136. "view.fracFontMetrics"));
  137. addComponent(fracFontMetrics);
  138. } //}}}
  139. //{{{ _save() method
  140. public void _save()
  141. {
  142. jEdit.setFontProperty("view.font",font.getFont());
  143. jEdit.setColorProperty("view.fgColor",foregroundColor
  144. .getSelectedColor());
  145. jEdit.setColorProperty("view.bgColor",backgroundColor
  146. .getSelectedColor());
  147. jEdit.setBooleanProperty("view.caretBlink",blinkCaret.isSelected());
  148. jEdit.setBooleanProperty("view.blockCaret",blockCaret.isSelected());
  149. jEdit.setColorProperty("view.caretColor",caretColor
  150. .getSelectedColor());
  151. jEdit.setColorProperty("view.selectionColor",selectionColor
  152. .getSelectedColor());
  153. jEdit.setColorProperty("view.multipleSelectionColor",multipleSelectionColor
  154. .getSelectedColor());
  155. jEdit.setBooleanProperty("view.lineHighlight",lineHighlight
  156. .isSelected());
  157. jEdit.setColorProperty("view.lineHighlightColor",
  158. lineHighlightColor.getSelectedColor());
  159. jEdit.setBooleanProperty("view.structureHighlight",structureHighlight
  160. .isSelected());
  161. jEdit.setColorProperty("view.structureHighlightColor",
  162. structureHighlightColor.getSelectedColor());
  163. jEdit.setBooleanProperty("view.eolMarkers",eolMarkers
  164. .isSelected());
  165. jEdit.setColorProperty("view.eolMarkerColor",
  166. eolMarkerColor.getSelectedColor());
  167. jEdit.setBooleanProperty("view.wrapGuide",wrapGuide
  168. .isSelected());
  169. jEdit.setColorProperty("view.wrapGuideColor",
  170. wrapGuideColor.getSelectedColor());
  171. jEdit.setIntegerProperty("view.electricBorders",electricBorders
  172. .isSelected() ? 3 : 0);
  173. jEdit.setBooleanProperty("view.antiAlias",antiAlias.isSelected());
  174. jEdit.setBooleanProperty("view.fracFontMetrics",fracFontMetrics.isSelected());
  175. } //}}}
  176. //{{{ Private members
  177. private FontSelector font;
  178. private ColorWellButton foregroundColor;
  179. private ColorWellButton backgroundColor;
  180. private JCheckBox blinkCaret;
  181. private JCheckBox blockCaret;
  182. private ColorWellButton caretColor;
  183. private ColorWellButton selectionColor;
  184. private ColorWellButton multipleSelectionColor;
  185. private JCheckBox lineHighlight;
  186. private ColorWellButton lineHighlightColor;
  187. private JCheckBox structureHighlight;
  188. private ColorWellButton structureHighlightColor;
  189. private JCheckBox eolMarkers;
  190. private ColorWellButton eolMarkerColor;
  191. private JCheckBox wrapGuide;
  192. private ColorWellButton wrapGuideColor;
  193. private JCheckBox electricBorders;
  194. private JCheckBox antiAlias;
  195. private JCheckBox fracFontMetrics;
  196. //}}}
  197. }