PageRenderTime 44ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

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

#
Java | 225 lines | 157 code | 25 blank | 43 comment | 0 complexity | 2491a7464810edf16d55bffa4e64c02f 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.*;
  26. import org.gjt.sp.jedit.gui.*;
  27. import org.gjt.sp.jedit.*;
  28. //}}}
  29. public class TextAreaOptionPane extends AbstractOptionPane
  30. {
  31. //{{{ TextAreaOptionPane constructor
  32. public TextAreaOptionPane()
  33. {
  34. super("textarea");
  35. } //}}}
  36. //{{{ _init() method
  37. public void _init()
  38. {
  39. /* Font */
  40. font = new FontSelector(jEdit.getFontProperty("view.font"));
  41. addComponent(jEdit.getProperty("options.textarea.font"),font);
  42. /* Text color */
  43. addComponent(jEdit.getProperty("options.textarea.foreground"),
  44. foregroundColor = new ColorWellButton(
  45. jEdit.getColorProperty("view.fgColor")),
  46. GridBagConstraints.VERTICAL);
  47. /* Background color */
  48. addComponent(jEdit.getProperty("options.textarea.background"),
  49. backgroundColor = new ColorWellButton(
  50. jEdit.getColorProperty("view.bgColor")),
  51. GridBagConstraints.VERTICAL);
  52. /* Caret color, caret blink, block caret */
  53. blinkCaret = new JCheckBox(jEdit.getProperty("options.textarea"
  54. + ".blinkCaret"));
  55. blinkCaret.setSelected(jEdit.getBooleanProperty("view.caretBlink"));
  56. blockCaret = new JCheckBox(jEdit.getProperty("options.textarea"
  57. + ".blockCaret"));
  58. blockCaret.setSelected(jEdit.getBooleanProperty("view.blockCaret"));
  59. Box caretSettings = new Box(BoxLayout.X_AXIS);
  60. caretSettings.add(new JLabel(jEdit.getProperty(
  61. "options.textarea.caret")));
  62. caretSettings.add(Box.createHorizontalStrut(6));
  63. caretSettings.add(blinkCaret);
  64. caretSettings.add(blockCaret);
  65. addComponent(caretSettings,caretColor = new ColorWellButton(
  66. jEdit.getColorProperty("view.caretColor")),
  67. GridBagConstraints.VERTICAL);
  68. /* Selection color */
  69. addComponent(jEdit.getProperty("options.textarea.selection"),
  70. selectionColor = new ColorWellButton(
  71. jEdit.getColorProperty("view.selectionColor")),
  72. GridBagConstraints.VERTICAL);
  73. /* Multiple selection color */
  74. addComponent(jEdit.getProperty("options.textarea.multipleSelection"),
  75. multipleSelectionColor = new ColorWellButton(
  76. jEdit.getColorProperty("view.multipleSelectionColor")),
  77. GridBagConstraints.VERTICAL);
  78. /* Line highlight */
  79. lineHighlight = new JCheckBox(jEdit.getProperty("options.textarea"
  80. + ".lineHighlight"));
  81. lineHighlight.setSelected(jEdit.getBooleanProperty("view.lineHighlight"));
  82. addComponent(lineHighlight,lineHighlightColor = new ColorWellButton(
  83. jEdit.getColorProperty("view.lineHighlightColor")),
  84. GridBagConstraints.VERTICAL);
  85. /* Structure highlight */
  86. structureHighlight = new JCheckBox(jEdit.getProperty("options.textarea"
  87. + ".structureHighlight"));
  88. structureHighlight.setSelected(jEdit.getBooleanProperty(
  89. "view.structureHighlight"));
  90. addComponent(structureHighlight,structureHighlightColor = new ColorWellButton(
  91. jEdit.getColorProperty("view.structureHighlightColor")),
  92. GridBagConstraints.VERTICAL);
  93. /* EOL markers */
  94. eolMarkers = new JCheckBox(jEdit.getProperty("options.textarea"
  95. + ".eolMarkers"));
  96. eolMarkers.setSelected(jEdit.getBooleanProperty("view.eolMarkers"));
  97. addComponent(eolMarkers,eolMarkerColor =new ColorWellButton(
  98. jEdit.getColorProperty("view.eolMarkerColor")),
  99. GridBagConstraints.VERTICAL);
  100. /* Wrap guide */
  101. wrapGuide = new JCheckBox(jEdit.getProperty("options.textarea"
  102. + ".wrapGuide"));
  103. wrapGuide.setSelected(jEdit.getBooleanProperty("view.wrapGuide"));
  104. addComponent(wrapGuide,wrapGuideColor = new ColorWellButton(
  105. jEdit.getColorProperty("view.wrapGuideColor")),
  106. GridBagConstraints.VERTICAL);
  107. /* Electric borders */
  108. electricBorders = new JCheckBox(jEdit.getProperty("options.textarea"
  109. + ".electricBorders"));
  110. electricBorders.setSelected(!"0".equals(jEdit.getProperty(
  111. "view.electricBorders")));
  112. addComponent(electricBorders);
  113. /* Non word character selection behavior */
  114. joinNonWordChars = new JCheckBox(jEdit.getProperty(
  115. "options.textarea.joinNonWordChars"));
  116. joinNonWordChars.setSelected(jEdit.getBooleanProperty(
  117. "view.joinNonWordChars"));
  118. addComponent(joinNonWordChars);
  119. /* Middle mouse button click pastes % register */
  120. middleMousePaste = new JCheckBox(jEdit.getProperty("options.textarea"
  121. + ".middleMousePaste"));
  122. middleMousePaste.setSelected(jEdit.getBooleanProperty(
  123. "view.middleMousePaste"));
  124. addComponent(middleMousePaste);
  125. /* Anti-aliasing */
  126. antiAlias = new JCheckBox(jEdit.getProperty("options.textarea"
  127. + ".antiAlias"));
  128. antiAlias.setSelected(jEdit.getBooleanProperty("view.antiAlias"));
  129. addComponent(antiAlias);
  130. /* Fractional font metrics */
  131. fracFontMetrics = new JCheckBox(jEdit.getProperty("options.textarea"
  132. + ".fracFontMetrics"));
  133. fracFontMetrics.setSelected(jEdit.getBooleanProperty(
  134. "view.fracFontMetrics"));
  135. addComponent(fracFontMetrics);
  136. } //}}}
  137. //{{{ _save() method
  138. public void _save()
  139. {
  140. jEdit.setFontProperty("view.font",font.getFont());
  141. jEdit.setColorProperty("view.fgColor",foregroundColor
  142. .getSelectedColor());
  143. jEdit.setColorProperty("view.bgColor",backgroundColor
  144. .getSelectedColor());
  145. jEdit.setBooleanProperty("view.caretBlink",blinkCaret.isSelected());
  146. jEdit.setBooleanProperty("view.blockCaret",blockCaret.isSelected());
  147. jEdit.setColorProperty("view.caretColor",caretColor
  148. .getSelectedColor());
  149. jEdit.setColorProperty("view.selectionColor",selectionColor
  150. .getSelectedColor());
  151. jEdit.setColorProperty("view.multipleSelectionColor",multipleSelectionColor
  152. .getSelectedColor());
  153. jEdit.setBooleanProperty("view.lineHighlight",lineHighlight
  154. .isSelected());
  155. jEdit.setColorProperty("view.lineHighlightColor",
  156. lineHighlightColor.getSelectedColor());
  157. jEdit.setBooleanProperty("view.structureHighlight",structureHighlight
  158. .isSelected());
  159. jEdit.setColorProperty("view.structureHighlightColor",
  160. structureHighlightColor.getSelectedColor());
  161. jEdit.setBooleanProperty("view.eolMarkers",eolMarkers
  162. .isSelected());
  163. jEdit.setColorProperty("view.eolMarkerColor",
  164. eolMarkerColor.getSelectedColor());
  165. jEdit.setBooleanProperty("view.wrapGuide",wrapGuide
  166. .isSelected());
  167. jEdit.setColorProperty("view.wrapGuideColor",
  168. wrapGuideColor.getSelectedColor());
  169. jEdit.setIntegerProperty("view.electricBorders",electricBorders
  170. .isSelected() ? 3 : 0);
  171. jEdit.setBooleanProperty("view.joinNonWordChars",joinNonWordChars.isSelected());
  172. jEdit.setBooleanProperty("view.middleMousePaste",
  173. middleMousePaste.isSelected());
  174. jEdit.setBooleanProperty("view.antiAlias",antiAlias.isSelected());
  175. jEdit.setBooleanProperty("view.fracFontMetrics",fracFontMetrics.isSelected());
  176. } //}}}
  177. //{{{ Private members
  178. private FontSelector font;
  179. private ColorWellButton foregroundColor;
  180. private ColorWellButton backgroundColor;
  181. private JCheckBox blinkCaret;
  182. private JCheckBox blockCaret;
  183. private ColorWellButton caretColor;
  184. private ColorWellButton selectionColor;
  185. private ColorWellButton multipleSelectionColor;
  186. private JCheckBox lineHighlight;
  187. private ColorWellButton lineHighlightColor;
  188. private JCheckBox structureHighlight;
  189. private ColorWellButton structureHighlightColor;
  190. private JCheckBox eolMarkers;
  191. private ColorWellButton eolMarkerColor;
  192. private JCheckBox wrapGuide;
  193. private ColorWellButton wrapGuideColor;
  194. private JCheckBox electricBorders;
  195. private JCheckBox middleMousePaste;
  196. private JCheckBox antiAlias;
  197. private JCheckBox fracFontMetrics;
  198. private JCheckBox joinNonWordChars;
  199. //}}}
  200. }