PageRenderTime 41ms CodeModel.GetById 22ms app.highlight 17ms RepoModel.GetById 0ms 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
 22package org.gjt.sp.jedit.options;
 23
 24//{{{ Imports
 25import javax.swing.*;
 26import java.awt.event.*;
 27import java.awt.*;
 28import org.gjt.sp.jedit.gui.ColorWellButton;
 29import org.gjt.sp.jedit.*;
 30//}}}
 31
 32public class StatusBarOptionPane extends AbstractOptionPane
 33{
 34	//{{{ StatusBarOptionPane constructor
 35	public StatusBarOptionPane()
 36	{
 37		super("status");
 38	} //}}}
 39
 40	//{{{ _init() method
 41	protected void _init()
 42	{
 43		/* Status bar visible */
 44		statusVisible = new JCheckBox(jEdit.getProperty(
 45			"options.status.visible"));
 46		statusVisible.setSelected(jEdit.getBooleanProperty(
 47			"view.status.visible"));
 48		statusVisible.addActionListener(new ActionHandler());
 49		addComponent(statusVisible);
 50
 51		/* Foreground color */
 52		addComponent(jEdit.getProperty("options.status.foreground"),
 53			foregroundColor = new ColorWellButton(
 54			jEdit.getColorProperty("view.status.foreground")),
 55			GridBagConstraints.VERTICAL);
 56
 57		/* Background color */
 58		addComponent(jEdit.getProperty("options.status.background"),
 59			backgroundColor = new ColorWellButton(
 60			jEdit.getColorProperty("view.status.background")),
 61			GridBagConstraints.VERTICAL);
 62
 63		/* Caret status */
 64		showCaretStatus = new JCheckBox(jEdit.getProperty(
 65			"options.status.show-caret-status"));
 66		showCaretStatus.setSelected(jEdit.getBooleanProperty(
 67			"view.status.show-caret-status"));
 68		addComponent(showCaretStatus);
 69
 70		/* Edit mode */
 71		showEditMode = new JCheckBox(jEdit.getProperty(
 72			"options.status.show-edit-mode"));
 73		showEditMode.setSelected(jEdit.getBooleanProperty(
 74			"view.status.show-edit-mode"));
 75		addComponent(showEditMode);
 76
 77		/* Fold mode */
 78		showFoldMode = new JCheckBox(jEdit.getProperty(
 79			"options.status.show-fold-mode"));
 80		showFoldMode.setSelected(jEdit.getBooleanProperty(
 81			"view.status.show-fold-mode"));
 82		addComponent(showFoldMode);
 83
 84		/* Encoding */
 85		showEncoding = new JCheckBox(jEdit.getProperty(
 86			"options.status.show-encoding"));
 87		showEncoding.setSelected(jEdit.getBooleanProperty(
 88			"view.status.show-encoding"));
 89		addComponent(showEncoding);
 90
 91		/* Wrap */
 92		showWrap = new JCheckBox(jEdit.getProperty(
 93			"options.status.show-wrap"));
 94		showWrap.setSelected(jEdit.getBooleanProperty(
 95			"view.status.show-wrap"));
 96		addComponent(showWrap);
 97
 98		/* Multi select */
 99		showMultiSelect = new JCheckBox(jEdit.getProperty(
100			"options.status.show-multi-select"));
101		showMultiSelect.setSelected(jEdit.getBooleanProperty(
102			"view.status.show-multi-select"));
103		addComponent(showMultiSelect);
104
105		/* Rect select */
106		showRectSelect = new JCheckBox(jEdit.getProperty(
107			"options.status.show-rect-select"));
108		showRectSelect.setSelected(jEdit.getBooleanProperty(
109			"view.status.show-rect-select"));
110		addComponent(showRectSelect);
111
112		/* Overwrite */
113		showOverwrite = new JCheckBox(jEdit.getProperty(
114			"options.status.show-overwrite"));
115		showOverwrite.setSelected(jEdit.getBooleanProperty(
116			"view.status.show-overwrite"));
117		addComponent(showOverwrite);
118
119		/* Line seperator */
120		showLineSeperator = new JCheckBox(jEdit.getProperty(
121			"options.status.show-line-seperator"));
122		showLineSeperator.setSelected(jEdit.getBooleanProperty(
123			"view.status.show-line-seperator"));
124		addComponent(showLineSeperator);
125
126		/* Memory status */
127		showMemory = new JCheckBox(jEdit.getProperty(
128			"options.status.show-memory"));
129		showMemory.setSelected(jEdit.getBooleanProperty(
130			"view.status.show-memory"));
131		showMemory.addActionListener(new ActionHandler());
132		addComponent(showMemory);
133
134		/* Memory foreground color */
135		addComponent(jEdit.getProperty("options.status.memory.foreground"),
136			memForegroundColor = new ColorWellButton(
137			jEdit.getColorProperty("view.status.memory.foreground")),
138			GridBagConstraints.VERTICAL);
139
140		/* Memory background color */
141		addComponent(jEdit.getProperty("options.status.memory.background"),
142			memBackgroundColor = new ColorWellButton(
143			jEdit.getColorProperty("view.status.memory.background")),
144			GridBagConstraints.VERTICAL);
145
146		/* Clock */
147		showClock = new JCheckBox(jEdit.getProperty(
148			"options.status.show-clock"));
149		showClock.setSelected(jEdit.getBooleanProperty(
150			"view.status.show-clock"));
151		showClock.addActionListener(new ActionHandler());
152		addComponent(showClock);
153
154		updateEnabled();
155	} //}}}
156
157	//{{{ _save() method
158	protected void _save()
159	{
160		jEdit.setBooleanProperty("view.status.visible",
161			statusVisible.isSelected());
162		jEdit.setColorProperty("view.status.foreground",foregroundColor
163			.getSelectedColor());
164		jEdit.setColorProperty("view.status.background",backgroundColor
165			.getSelectedColor());
166		jEdit.setBooleanProperty("view.status.show-caret-status",
167			showCaretStatus.isSelected());
168		jEdit.setBooleanProperty("view.status.show-edit-mode",
169			showEditMode.isSelected());
170		jEdit.setBooleanProperty("view.status.show-fold-mode",
171			showFoldMode.isSelected());
172		jEdit.setBooleanProperty("view.status.show-encoding",
173			showEncoding.isSelected());
174		jEdit.setBooleanProperty("view.status.show-wrap",
175			showWrap.isSelected());
176		jEdit.setBooleanProperty("view.status.show-multi-select",
177			showMultiSelect.isSelected());
178		jEdit.setBooleanProperty("view.status.show-rect-select",
179			showRectSelect.isSelected());
180		jEdit.setBooleanProperty("view.status.show-overwrite",
181			showOverwrite.isSelected());
182		jEdit.setBooleanProperty("view.status.show-line-seperator",
183			showLineSeperator.isSelected());
184		jEdit.setBooleanProperty("view.status.show-memory",
185			showMemory.isSelected());
186		jEdit.setColorProperty("view.status.memory.foreground",memForegroundColor
187			.getSelectedColor());
188		jEdit.setColorProperty("view.status.memory.background",memBackgroundColor
189			.getSelectedColor());
190		jEdit.setBooleanProperty("view.status.show-clock",
191			showClock.isSelected());
192	} //}}}
193
194	//{{{ Private members
195	private JCheckBox statusVisible;
196	private ColorWellButton foregroundColor;
197	private ColorWellButton backgroundColor;
198	private JCheckBox showCaretStatus;
199	private JCheckBox showEditMode;
200	private JCheckBox showFoldMode;
201	private JCheckBox showEncoding;
202	private JCheckBox showWrap;
203	private JCheckBox showMultiSelect;
204	private JCheckBox showRectSelect;
205	private JCheckBox showOverwrite;
206	private JCheckBox showLineSeperator;
207	private JCheckBox showMemory;
208	private ColorWellButton memForegroundColor;
209	private ColorWellButton memBackgroundColor;
210	private JCheckBox showClock;
211
212	private void updateEnabled()
213	{
214		boolean enabled = statusVisible.isSelected();
215		showCaretStatus.setEnabled(enabled);
216		showEditMode.setEnabled(enabled);
217		showFoldMode.setEnabled(enabled);
218		showEncoding.setEnabled(enabled);
219		showWrap.setEnabled(enabled);
220		showMultiSelect.setEnabled(enabled);
221		showRectSelect.setEnabled(enabled);
222		showOverwrite.setEnabled(enabled);
223		showLineSeperator.setEnabled(enabled);
224		showMemory.setEnabled(enabled);
225		memForegroundColor.setEnabled(enabled && showMemory.isSelected());
226		memBackgroundColor.setEnabled(enabled && showMemory.isSelected());
227		showClock.setEnabled(enabled);
228	}
229	//}}}
230
231	//{{{ ActionHandler class
232	class ActionHandler implements ActionListener
233	{
234		public void actionPerformed(ActionEvent evt)
235		{
236			updateEnabled();
237		}
238	} //}}}
239}