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

# · Java · 209 lines · 147 code · 21 blank · 41 comment · 2 complexity · 44ed6ce2d3fcd633271875b1849eedae MD5 · raw file

  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. /* Caret status */
  47. showCaretStatus = new JCheckBox(jEdit.getProperty(
  48. "options.status.show-caret-status"));
  49. showCaretStatus.setSelected(jEdit.getBooleanProperty(
  50. "view.status.show-caret-status"));
  51. addComponent(showCaretStatus);
  52. /* Edit mode */
  53. showEditMode = new JCheckBox(jEdit.getProperty(
  54. "options.status.show-edit-mode"));
  55. showEditMode.setSelected(jEdit.getBooleanProperty(
  56. "view.status.show-edit-mode"));
  57. addComponent(showEditMode);
  58. /* Fold mode */
  59. showFoldMode = new JCheckBox(jEdit.getProperty(
  60. "options.status.show-fold-mode"));
  61. showFoldMode.setSelected(jEdit.getBooleanProperty(
  62. "view.status.show-fold-mode"));
  63. addComponent(showFoldMode);
  64. /* Encoding */
  65. showEncoding = new JCheckBox(jEdit.getProperty(
  66. "options.status.show-encoding"));
  67. showEncoding.setSelected(jEdit.getBooleanProperty(
  68. "view.status.show-encoding"));
  69. addComponent(showEncoding);
  70. /* Wrap */
  71. showWrap = new JCheckBox(jEdit.getProperty(
  72. "options.status.show-wrap"));
  73. showWrap.setSelected(jEdit.getBooleanProperty(
  74. "view.status.show-wrap"));
  75. addComponent(showWrap);
  76. /* Multi select */
  77. showMultiSelect = new JCheckBox(jEdit.getProperty(
  78. "options.status.show-multi-select"));
  79. showMultiSelect.setSelected(jEdit.getBooleanProperty(
  80. "view.status.show-multi-select"));
  81. addComponent(showMultiSelect);
  82. /* Rect select */
  83. showRectSelect = new JCheckBox(jEdit.getProperty(
  84. "options.status.show-rect-select"));
  85. showRectSelect.setSelected(jEdit.getBooleanProperty(
  86. "view.status.show-rect-select"));
  87. addComponent(showRectSelect);
  88. /* Overwrite */
  89. showOverwrite = new JCheckBox(jEdit.getProperty(
  90. "options.status.show-overwrite"));
  91. showOverwrite.setSelected(jEdit.getBooleanProperty(
  92. "view.status.show-overwrite"));
  93. addComponent(showOverwrite);
  94. /* Line seperator */
  95. showLineSeperator = new JCheckBox(jEdit.getProperty(
  96. "options.status.show-line-seperator"));
  97. showLineSeperator.setSelected(jEdit.getBooleanProperty(
  98. "view.status.show-line-seperator"));
  99. addComponent(showLineSeperator);
  100. /* Memory status */
  101. showMemory = new JCheckBox(jEdit.getProperty(
  102. "options.status.show-memory"));
  103. showMemory.setSelected(jEdit.getBooleanProperty(
  104. "view.status.show-memory"));
  105. showMemory.addActionListener(new ActionHandler());
  106. addComponent(showMemory);
  107. /* Memory foreground color */
  108. addComponent(jEdit.getProperty("options.status.memory.foreground"),
  109. memForegroundColor = new ColorWellButton(
  110. jEdit.getColorProperty("view.status.memory.foreground")),
  111. GridBagConstraints.VERTICAL);
  112. /* Memory background color */
  113. addComponent(jEdit.getProperty("options.status.memory.background"),
  114. memBackgroundColor = new ColorWellButton(
  115. jEdit.getColorProperty("view.status.memory.background")),
  116. GridBagConstraints.VERTICAL);
  117. updateEnabled();
  118. } //}}}
  119. //{{{ _save() method
  120. protected void _save()
  121. {
  122. jEdit.setBooleanProperty("view.status.visible",
  123. statusVisible.isSelected());
  124. jEdit.setBooleanProperty("view.status.show-caret-status",
  125. showCaretStatus.isSelected());
  126. jEdit.setBooleanProperty("view.status.show-edit-mode",
  127. showEditMode.isSelected());
  128. jEdit.setBooleanProperty("view.status.show-fold-mode",
  129. showFoldMode.isSelected());
  130. jEdit.setBooleanProperty("view.status.show-encoding",
  131. showEncoding.isSelected());
  132. jEdit.setBooleanProperty("view.status.show-wrap",
  133. showWrap.isSelected());
  134. jEdit.setBooleanProperty("view.status.show-multi-select",
  135. showMultiSelect.isSelected());
  136. jEdit.setBooleanProperty("view.status.show-rect-select",
  137. showRectSelect.isSelected());
  138. jEdit.setBooleanProperty("view.status.show-overwrite",
  139. showOverwrite.isSelected());
  140. jEdit.setBooleanProperty("view.status.show-line-seperator",
  141. showLineSeperator.isSelected());
  142. jEdit.setBooleanProperty("view.status.show-memory",
  143. showMemory.isSelected());
  144. jEdit.setColorProperty("view.status.memory.foreground",memForegroundColor
  145. .getSelectedColor());
  146. jEdit.setColorProperty("view.status.memory.background",memBackgroundColor
  147. .getSelectedColor());
  148. } //}}}
  149. //{{{ Private members
  150. private JCheckBox statusVisible;
  151. private JCheckBox showCaretStatus;
  152. private JCheckBox showEditMode;
  153. private JCheckBox showFoldMode;
  154. private JCheckBox showEncoding;
  155. private JCheckBox showWrap;
  156. private JCheckBox showMultiSelect;
  157. private JCheckBox showRectSelect;
  158. private JCheckBox showOverwrite;
  159. private JCheckBox showLineSeperator;
  160. private JCheckBox showMemory;
  161. private ColorWellButton memForegroundColor;
  162. private ColorWellButton memBackgroundColor;
  163. private void updateEnabled()
  164. {
  165. boolean enabled = statusVisible.isSelected();
  166. showCaretStatus.setEnabled(enabled);
  167. showEditMode.setEnabled(enabled);
  168. showFoldMode.setEnabled(enabled);
  169. showEncoding.setEnabled(enabled);
  170. showWrap.setEnabled(enabled);
  171. showMultiSelect.setEnabled(enabled);
  172. showRectSelect.setEnabled(enabled);
  173. showOverwrite.setEnabled(enabled);
  174. showLineSeperator.setEnabled(enabled);
  175. showMemory.setEnabled(enabled);
  176. memForegroundColor.setEnabled(enabled && showMemory.isSelected());
  177. memBackgroundColor.setEnabled(enabled && showMemory.isSelected());
  178. }
  179. //}}}
  180. //{{{ ActionHandler class
  181. class ActionHandler implements ActionListener
  182. {
  183. public void actionPerformed(ActionEvent evt)
  184. {
  185. updateEnabled();
  186. }
  187. } //}}}
  188. }