PageRenderTime 37ms CodeModel.GetById 10ms RepoModel.GetById 1ms app.codeStats 0ms

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

#
Java | 239 lines | 171 code | 24 blank | 44 comment | 2 complexity | 3328d5d6469bc2c2bace7223b05b1937 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. * StatusBarOptionPane.java - Status Bar options panel
  3. * :tabSize=8:indentSize=8:noTabs=false:
  4. * :folding=explicit:collapseFolds=1:
  5. * Copyright (C) 2002 Kenrick Drew
  6. *
  7. * This program is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU General Public License
  9. * as published by the Free Software Foundation; either version 2
  10. * of the License, or any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, write to the Free Software
  19. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  20. */
  21. package org.gjt.sp.jedit.options;
  22. //{{{ Imports
  23. import javax.swing.*;
  24. import java.awt.event.*;
  25. import java.awt.*;
  26. import org.gjt.sp.jedit.gui.ColorWellButton;
  27. import org.gjt.sp.jedit.*;
  28. //}}}
  29. public class StatusBarOptionPane extends AbstractOptionPane
  30. {
  31. //{{{ StatusBarOptionPane constructor
  32. public StatusBarOptionPane()
  33. {
  34. super("status");
  35. } //}}}
  36. //{{{ _init() method
  37. protected void _init()
  38. {
  39. /* Status bar visible */
  40. statusVisible = new JCheckBox(jEdit.getProperty(
  41. "options.status.visible"));
  42. statusVisible.setSelected(jEdit.getBooleanProperty(
  43. "view.status.visible"));
  44. statusVisible.addActionListener(new ActionHandler());
  45. addComponent(statusVisible);
  46. /* Foreground color */
  47. addComponent(jEdit.getProperty("options.status.foreground"),
  48. foregroundColor = new ColorWellButton(
  49. jEdit.getColorProperty("view.status.foreground")),
  50. GridBagConstraints.VERTICAL);
  51. /* Background color */
  52. addComponent(jEdit.getProperty("options.status.background"),
  53. backgroundColor = new ColorWellButton(
  54. jEdit.getColorProperty("view.status.background")),
  55. GridBagConstraints.VERTICAL);
  56. /* Caret status */
  57. showCaretStatus = new JCheckBox(jEdit.getProperty(
  58. "options.status.show-caret-status"));
  59. showCaretStatus.setSelected(jEdit.getBooleanProperty(
  60. "view.status.show-caret-status"));
  61. addComponent(showCaretStatus);
  62. /* Edit mode */
  63. showEditMode = new JCheckBox(jEdit.getProperty(
  64. "options.status.show-edit-mode"));
  65. showEditMode.setSelected(jEdit.getBooleanProperty(
  66. "view.status.show-edit-mode"));
  67. addComponent(showEditMode);
  68. /* Fold mode */
  69. showFoldMode = new JCheckBox(jEdit.getProperty(
  70. "options.status.show-fold-mode"));
  71. showFoldMode.setSelected(jEdit.getBooleanProperty(
  72. "view.status.show-fold-mode"));
  73. addComponent(showFoldMode);
  74. /* Encoding */
  75. showEncoding = new JCheckBox(jEdit.getProperty(
  76. "options.status.show-encoding"));
  77. showEncoding.setSelected(jEdit.getBooleanProperty(
  78. "view.status.show-encoding"));
  79. addComponent(showEncoding);
  80. /* Wrap */
  81. showWrap = new JCheckBox(jEdit.getProperty(
  82. "options.status.show-wrap"));
  83. showWrap.setSelected(jEdit.getBooleanProperty(
  84. "view.status.show-wrap"));
  85. addComponent(showWrap);
  86. /* Multi select */
  87. showMultiSelect = new JCheckBox(jEdit.getProperty(
  88. "options.status.show-multi-select"));
  89. showMultiSelect.setSelected(jEdit.getBooleanProperty(
  90. "view.status.show-multi-select"));
  91. addComponent(showMultiSelect);
  92. /* Rect select */
  93. showRectSelect = new JCheckBox(jEdit.getProperty(
  94. "options.status.show-rect-select"));
  95. showRectSelect.setSelected(jEdit.getBooleanProperty(
  96. "view.status.show-rect-select"));
  97. addComponent(showRectSelect);
  98. /* Overwrite */
  99. showOverwrite = new JCheckBox(jEdit.getProperty(
  100. "options.status.show-overwrite"));
  101. showOverwrite.setSelected(jEdit.getBooleanProperty(
  102. "view.status.show-overwrite"));
  103. addComponent(showOverwrite);
  104. /* Line seperator */
  105. showLineSeperator = new JCheckBox(jEdit.getProperty(
  106. "options.status.show-line-seperator"));
  107. showLineSeperator.setSelected(jEdit.getBooleanProperty(
  108. "view.status.show-line-seperator"));
  109. addComponent(showLineSeperator);
  110. /* Memory status */
  111. showMemory = new JCheckBox(jEdit.getProperty(
  112. "options.status.show-memory"));
  113. showMemory.setSelected(jEdit.getBooleanProperty(
  114. "view.status.show-memory"));
  115. showMemory.addActionListener(new ActionHandler());
  116. addComponent(showMemory);
  117. /* Memory foreground color */
  118. addComponent(jEdit.getProperty("options.status.memory.foreground"),
  119. memForegroundColor = new ColorWellButton(
  120. jEdit.getColorProperty("view.status.memory.foreground")),
  121. GridBagConstraints.VERTICAL);
  122. /* Memory background color */
  123. addComponent(jEdit.getProperty("options.status.memory.background"),
  124. memBackgroundColor = new ColorWellButton(
  125. jEdit.getColorProperty("view.status.memory.background")),
  126. GridBagConstraints.VERTICAL);
  127. /* Clock */
  128. showClock = new JCheckBox(jEdit.getProperty(
  129. "options.status.show-clock"));
  130. showClock.setSelected(jEdit.getBooleanProperty(
  131. "view.status.show-clock"));
  132. showClock.addActionListener(new ActionHandler());
  133. addComponent(showClock);
  134. updateEnabled();
  135. } //}}}
  136. //{{{ _save() method
  137. protected void _save()
  138. {
  139. jEdit.setBooleanProperty("view.status.visible",
  140. statusVisible.isSelected());
  141. jEdit.setColorProperty("view.status.foreground",foregroundColor
  142. .getSelectedColor());
  143. jEdit.setColorProperty("view.status.background",backgroundColor
  144. .getSelectedColor());
  145. jEdit.setBooleanProperty("view.status.show-caret-status",
  146. showCaretStatus.isSelected());
  147. jEdit.setBooleanProperty("view.status.show-edit-mode",
  148. showEditMode.isSelected());
  149. jEdit.setBooleanProperty("view.status.show-fold-mode",
  150. showFoldMode.isSelected());
  151. jEdit.setBooleanProperty("view.status.show-encoding",
  152. showEncoding.isSelected());
  153. jEdit.setBooleanProperty("view.status.show-wrap",
  154. showWrap.isSelected());
  155. jEdit.setBooleanProperty("view.status.show-multi-select",
  156. showMultiSelect.isSelected());
  157. jEdit.setBooleanProperty("view.status.show-rect-select",
  158. showRectSelect.isSelected());
  159. jEdit.setBooleanProperty("view.status.show-overwrite",
  160. showOverwrite.isSelected());
  161. jEdit.setBooleanProperty("view.status.show-line-seperator",
  162. showLineSeperator.isSelected());
  163. jEdit.setBooleanProperty("view.status.show-memory",
  164. showMemory.isSelected());
  165. jEdit.setColorProperty("view.status.memory.foreground",memForegroundColor
  166. .getSelectedColor());
  167. jEdit.setColorProperty("view.status.memory.background",memBackgroundColor
  168. .getSelectedColor());
  169. jEdit.setBooleanProperty("view.status.show-clock",
  170. showClock.isSelected());
  171. } //}}}
  172. //{{{ Private members
  173. private JCheckBox statusVisible;
  174. private ColorWellButton foregroundColor;
  175. private ColorWellButton backgroundColor;
  176. private JCheckBox showCaretStatus;
  177. private JCheckBox showEditMode;
  178. private JCheckBox showFoldMode;
  179. private JCheckBox showEncoding;
  180. private JCheckBox showWrap;
  181. private JCheckBox showMultiSelect;
  182. private JCheckBox showRectSelect;
  183. private JCheckBox showOverwrite;
  184. private JCheckBox showLineSeperator;
  185. private JCheckBox showMemory;
  186. private ColorWellButton memForegroundColor;
  187. private ColorWellButton memBackgroundColor;
  188. private JCheckBox showClock;
  189. private void updateEnabled()
  190. {
  191. boolean enabled = statusVisible.isSelected();
  192. showCaretStatus.setEnabled(enabled);
  193. showEditMode.setEnabled(enabled);
  194. showFoldMode.setEnabled(enabled);
  195. showEncoding.setEnabled(enabled);
  196. showWrap.setEnabled(enabled);
  197. showMultiSelect.setEnabled(enabled);
  198. showRectSelect.setEnabled(enabled);
  199. showOverwrite.setEnabled(enabled);
  200. showLineSeperator.setEnabled(enabled);
  201. showMemory.setEnabled(enabled);
  202. memForegroundColor.setEnabled(enabled && showMemory.isSelected());
  203. memBackgroundColor.setEnabled(enabled && showMemory.isSelected());
  204. showClock.setEnabled(enabled);
  205. }
  206. //}}}
  207. //{{{ ActionHandler class
  208. class ActionHandler implements ActionListener
  209. {
  210. public void actionPerformed(ActionEvent evt)
  211. {
  212. updateEnabled();
  213. }
  214. } //}}}
  215. }