/jEdit/tags/jedit-4-3-pre15/org/gjt/sp/jedit/options/ViewOptionPane.java

#
Java | 212 lines | 155 code | 24 blank | 33 comment | 37 complexity | f2b02ccb4a7b318bac127338b9739d9a MD5 | raw file

✨ Summary
  1. /*
  2. * ViewOptionPane.java - Editor window options
  3. * :tabSize=8:indentSize=8:noTabs=false:
  4. * :folding=explicit:collapseFolds=1:
  5. *
  6. * Copyright (C) 2003 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. import javax.swing.border.*;
  24. import javax.swing.*;
  25. import java.awt.event.*;
  26. import java.awt.*;
  27. import org.gjt.sp.jedit.*;
  28. import org.gjt.sp.jedit.bufferset.BufferSet;
  29. import org.gjt.sp.jedit.bufferset.BufferSetManager;
  30. public class ViewOptionPane extends AbstractOptionPane
  31. {
  32. //{{{ ViewOptionPane constructor
  33. public ViewOptionPane()
  34. {
  35. super("view");
  36. } //}}}
  37. //{{{ _init() method
  38. @Override
  39. protected void _init()
  40. {
  41. /* View dock layout */
  42. layoutIcon1 = GUIUtilities.loadIcon("dock_layout1.png");
  43. layoutIcon2 = GUIUtilities.loadIcon("dock_layout2.png");
  44. layoutIcon3 = GUIUtilities.loadIcon("dock_layout3.png");
  45. layoutIcon4 = GUIUtilities.loadIcon("dock_layout4.png");
  46. JPanel layoutPanel = new JPanel(new BorderLayout(12,12));
  47. if(jEdit.getBooleanProperty("view.docking.alternateLayout"))
  48. {
  49. layout = new JLabel(jEdit.getBooleanProperty(
  50. "view.toolbar.alternateLayout")
  51. ? layoutIcon4 : layoutIcon2);
  52. }
  53. else
  54. {
  55. layout = new JLabel(jEdit.getBooleanProperty(
  56. "view.toolbar.alternateLayout")
  57. ? layoutIcon3 : layoutIcon1);
  58. }
  59. layout.setBorder(new EmptyBorder(12,12,12,12));
  60. layoutPanel.add(BorderLayout.CENTER,layout);
  61. JPanel buttons = new JPanel(new GridLayout(2,1,12,12));
  62. buttons.setBorder(new EmptyBorder(0,12,12,12));
  63. buttons.add(alternateDockingLayout = new JButton(jEdit.getProperty(
  64. "options.view.alternateDockingLayout")));
  65. ActionHandler actionHandler = new ActionHandler();
  66. alternateDockingLayout.addActionListener(actionHandler);
  67. buttons.add(alternateToolBarLayout = new JButton(jEdit.getProperty(
  68. "options.view.alternateToolBarLayout")));
  69. alternateToolBarLayout.addActionListener(actionHandler);
  70. layoutPanel.add(BorderLayout.SOUTH,buttons);
  71. TitledBorder border = new TitledBorder(jEdit.getProperty(
  72. "options.view.viewLayout"));
  73. border.setTitleJustification(TitledBorder.CENTER);
  74. layoutPanel.setBorder(border);
  75. addComponent(layoutPanel);
  76. /* Show full path */
  77. showFullPath = new JCheckBox(jEdit.getProperty(
  78. "options.view.showFullPath"));
  79. showFullPath.setSelected(jEdit.getBooleanProperty(
  80. "view.showFullPath"));
  81. addComponent(showFullPath);
  82. /* Show search bar */
  83. showSearchbar = new JCheckBox(jEdit.getProperty(
  84. "options.view.showSearchbar"));
  85. showSearchbar.setSelected(jEdit.getBooleanProperty(
  86. "view.showSearchbar"));
  87. addComponent(showSearchbar);
  88. /* Beep on search auto wrap */
  89. beepOnSearchAutoWrap = new JCheckBox(jEdit.getProperty(
  90. "options.view.beepOnSearchAutoWrap"));
  91. beepOnSearchAutoWrap.setSelected(jEdit.getBooleanProperty(
  92. "search.beepOnSearchAutoWrap"));
  93. addComponent(beepOnSearchAutoWrap);
  94. /* Show buffer switcher */
  95. showBufferSwitcher = new JCheckBox(jEdit.getProperty(
  96. "options.view.showBufferSwitcher"));
  97. showBufferSwitcher.setSelected(jEdit.getBooleanProperty(
  98. "view.showBufferSwitcher"));
  99. addComponent(showBufferSwitcher);
  100. showBufferSwitcher.addActionListener(actionHandler);
  101. /* Buffer switcher max row count */
  102. bufferSwitcherMaxRowCount = new JTextField(jEdit.getProperty("bufferSwitcher.maxRowCount"));
  103. addComponent(jEdit.getProperty("options.view.bufferSwitcherMaxRowsCount"),
  104. bufferSwitcherMaxRowCount);
  105. bufferSwitcherMaxRowCount.setEditable(showBufferSwitcher.isSelected());
  106. defaultBufferSet = new JComboBox();
  107. defaultBufferSet.addItem(BufferSet.Scope.global);
  108. defaultBufferSet.addItem(BufferSet.Scope.view);
  109. defaultBufferSet.addItem(BufferSet.Scope.editpane);
  110. defaultBufferSet.setSelectedItem(BufferSet.Scope.fromString(jEdit.getProperty("editpane.bufferset.default")));
  111. addComponent(jEdit.getProperty("options.editpane.bufferset.default"), defaultBufferSet);
  112. newBufferSetBehavior = new JComboBox();
  113. newBufferSetBehavior.addItem(BufferSetManager.NewBufferSetAction.copy);
  114. newBufferSetBehavior.addItem(BufferSetManager.NewBufferSetAction.empty);
  115. newBufferSetBehavior.addItem(BufferSetManager.NewBufferSetAction.currentbuffer);
  116. newBufferSetBehavior.setSelectedItem(BufferSetManager.NewBufferSetAction.fromString(jEdit.getProperty("editpane.bufferset.new")));
  117. addComponent(new JLabel(jEdit.getProperty("options.editpane.bufferset.contain")),
  118. newBufferSetBehavior);
  119. } //}}}
  120. //{{{ _save() method
  121. @Override
  122. protected void _save()
  123. {
  124. jEdit.setBooleanProperty("view.docking.alternateLayout",
  125. layout.getIcon() == layoutIcon2
  126. || layout.getIcon() == layoutIcon4);
  127. jEdit.setBooleanProperty("view.toolbar.alternateLayout",
  128. layout.getIcon() == layoutIcon3
  129. || layout.getIcon() == layoutIcon4);
  130. jEdit.setBooleanProperty("view.showFullPath",showFullPath
  131. .isSelected());
  132. jEdit.setBooleanProperty("view.showSearchbar",showSearchbar
  133. .isSelected());
  134. jEdit.setBooleanProperty("search.beepOnSearchAutoWrap",beepOnSearchAutoWrap
  135. .isSelected());
  136. jEdit.setBooleanProperty("view.showBufferSwitcher",
  137. showBufferSwitcher.isSelected());
  138. jEdit.setProperty("bufferSwitcher.maxRowCount",
  139. bufferSwitcherMaxRowCount.getText());
  140. jEdit.setProperty("editpane.bufferset.default", defaultBufferSet.getSelectedItem().toString());
  141. jEdit.setProperty("editpane.bufferset.new", newBufferSetBehavior.getSelectedItem().toString());
  142. } //}}}
  143. //{{{ Private members
  144. private JLabel layout;
  145. private Icon layoutIcon1, layoutIcon2, layoutIcon3, layoutIcon4;
  146. private JButton alternateDockingLayout, alternateToolBarLayout;
  147. private JCheckBox showFullPath;
  148. private JCheckBox showSearchbar;
  149. private JCheckBox beepOnSearchAutoWrap;
  150. private JCheckBox showBufferSwitcher;
  151. private JTextField bufferSwitcherMaxRowCount;
  152. private JComboBox defaultBufferSet;
  153. private JComboBox newBufferSetBehavior;
  154. //}}}
  155. //{{{ ActionHandler class
  156. private class ActionHandler implements ActionListener
  157. {
  158. public void actionPerformed(ActionEvent evt)
  159. {
  160. if(evt.getSource() == alternateDockingLayout)
  161. {
  162. if(layout.getIcon() == layoutIcon1)
  163. layout.setIcon(layoutIcon2);
  164. else if(layout.getIcon() == layoutIcon2)
  165. layout.setIcon(layoutIcon1);
  166. else if(layout.getIcon() == layoutIcon3)
  167. layout.setIcon(layoutIcon4);
  168. else if(layout.getIcon() == layoutIcon4)
  169. layout.setIcon(layoutIcon3);
  170. }
  171. else if(evt.getSource() == alternateToolBarLayout)
  172. {
  173. if(layout.getIcon() == layoutIcon1)
  174. layout.setIcon(layoutIcon3);
  175. else if(layout.getIcon() == layoutIcon3)
  176. layout.setIcon(layoutIcon1);
  177. else if(layout.getIcon() == layoutIcon2)
  178. layout.setIcon(layoutIcon4);
  179. else if(layout.getIcon() == layoutIcon4)
  180. layout.setIcon(layoutIcon2);
  181. }
  182. else if (evt.getSource() == showBufferSwitcher)
  183. {
  184. bufferSwitcherMaxRowCount.setEditable(showBufferSwitcher.isSelected());
  185. }
  186. }
  187. } //}}}
  188. }