PageRenderTime 40ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-0-pre5/org/gjt/sp/jedit/options/EditingOptionPane.java

#
Java | 180 lines | 110 code | 20 blank | 50 comment | 2 complexity | ddd05e70cc4348045cc01e6561d3db11 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. * EditingOptionPane.java - Editing options panel
  3. * :tabSize=8:indentSize=8:noTabs=false:
  4. * :folding=explicit:collapseFolds=1:
  5. *
  6. * Copyright (C) 1998, 1999, 2000, 2001, 2002 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.*;
  24. import java.awt.event.*;
  25. import java.awt.*;
  26. import org.gjt.sp.jedit.*;
  27. public class EditingOptionPane extends AbstractOptionPane
  28. {
  29. //{{{ EditingOptionPane constructor
  30. public EditingOptionPane()
  31. {
  32. super("editing");
  33. } //}}}
  34. //{{{ _init() method
  35. protected void _init()
  36. {
  37. //{{{ Modes
  38. Mode[] modes = jEdit.getModes();
  39. String defaultModeString = jEdit.getProperty("buffer.defaultMode");
  40. String[] modeNames = new String[modes.length];
  41. int index = 0;
  42. for(int i = 0; i < modes.length; i++)
  43. {
  44. Mode _mode = modes[i];
  45. modeNames[i] = _mode.getName();
  46. if(defaultModeString.equals(_mode.getName()))
  47. index = i;
  48. }
  49. defaultMode = new JComboBox(modeNames);
  50. defaultMode.setSelectedIndex(index);
  51. addComponent(jEdit.getProperty("options.editing.defaultMode"),
  52. defaultMode);
  53. //}}}
  54. //{{{ Undo queue size
  55. undoCount = new JTextField(jEdit.getProperty("buffer.undoCount"));
  56. addComponent(jEdit.getProperty("options.editing.undoCount"),undoCount);
  57. //}}}
  58. //{{{ Extra word characters
  59. defaultNoWordSep = new JTextField(jEdit.getProperty("buffer.noWordSep"));
  60. addComponent(jEdit.getProperty("options.editing.noWordSep"),defaultNoWordSep);
  61. //}}}
  62. //{{{ Default fold mode
  63. String[] foldModes = {
  64. "none",
  65. "indent",
  66. "explicit"
  67. };
  68. addComponent(jEdit.getProperty("options.editing.folding"),
  69. defaultFolding = new JComboBox(foldModes));
  70. defaultFolding.setSelectedItem(jEdit.getProperty("buffer.folding"));
  71. //}}}
  72. //{{{ Default fold level
  73. defaultCollapseFolds = new JTextField(jEdit.getProperty("buffer.collapseFolds"));
  74. addComponent(jEdit.getProperty("options.editing.collapseFolds"),defaultCollapseFolds);
  75. //}}}
  76. //{{{ Default wrap mode
  77. String[] wrapModes = {
  78. "none",
  79. "soft",
  80. "hard"
  81. };
  82. addComponent(jEdit.getProperty("options.editing.wrap"),
  83. defaultWrap = new JComboBox(wrapModes));
  84. defaultWrap.setSelectedItem(jEdit.getProperty("buffer.wrap"));
  85. //}}}
  86. //{{{ Max line length
  87. String[] lineLens = { "0", "72", "76", "80" };
  88. defaultMaxLineLen = new JComboBox(lineLens);
  89. defaultMaxLineLen.setEditable(true);
  90. defaultMaxLineLen.setSelectedItem(jEdit.getProperty("buffer.maxLineLen"));
  91. addComponent(jEdit.getProperty("options.editing.maxLineLen"),defaultMaxLineLen);
  92. //}}}
  93. //{{{ Tab size
  94. String[] tabSizes = { "2", "4", "8" };
  95. defaultTabSize = new JComboBox(tabSizes);
  96. defaultTabSize.setEditable(true);
  97. defaultTabSize.setSelectedItem(jEdit.getProperty("buffer.tabSize"));
  98. addComponent(jEdit.getProperty("options.editing.tabSize"),defaultTabSize);
  99. //}}}
  100. //{{{ Indent size
  101. defaultIndentSize = new JComboBox(tabSizes);
  102. defaultIndentSize.setEditable(true);
  103. defaultIndentSize.setSelectedItem(jEdit.getProperty("buffer.indentSize"));
  104. addComponent(jEdit.getProperty("options.editing.indentSize"),defaultIndentSize);
  105. //}}}
  106. //{{{ Soft tabs
  107. defaultNoTabs = new JCheckBox(jEdit.getProperty("options.editing"
  108. + ".noTabs"));
  109. defaultNoTabs.setSelected(jEdit.getBooleanProperty("buffer.noTabs"));
  110. addComponent(defaultNoTabs);
  111. //}}}
  112. //{{{ Indent on tab
  113. defaultIndentOnTab = new JCheckBox(jEdit.getProperty("options.editing"
  114. + ".indentOnTab"));
  115. defaultIndentOnTab.setSelected(jEdit.getBooleanProperty("buffer.indentOnTab"));
  116. addComponent(defaultIndentOnTab);
  117. //}}}
  118. //{{{ Indent on enter
  119. defaultIndentOnEnter = new JCheckBox(jEdit.getProperty("options.editing"
  120. + ".indentOnEnter"));
  121. defaultIndentOnEnter.setSelected(jEdit.getBooleanProperty("buffer.indentOnEnter"));
  122. addComponent(defaultIndentOnEnter);
  123. //}}}
  124. } //}}}
  125. //{{{ _save() method
  126. protected void _save()
  127. {
  128. jEdit.setProperty("buffer.defaultMode",
  129. (String)defaultMode.getSelectedItem());
  130. jEdit.setProperty("buffer.undoCount",undoCount.getText());
  131. jEdit.setProperty("buffer.noWordSep",defaultNoWordSep.getText());
  132. jEdit.setProperty("buffer.folding",(String)defaultFolding.getSelectedItem());
  133. jEdit.setProperty("buffer.collapseFolds",defaultCollapseFolds.getText());
  134. jEdit.setProperty("buffer.wrap",(String)defaultWrap.getSelectedItem());
  135. jEdit.setProperty("buffer.maxLineLen",(String)defaultMaxLineLen.getSelectedItem());
  136. jEdit.setProperty("buffer.tabSize",(String)defaultTabSize
  137. .getSelectedItem());
  138. jEdit.setProperty("buffer.indentSize",(String)defaultIndentSize
  139. .getSelectedItem());
  140. jEdit.setBooleanProperty("buffer.noTabs",defaultNoTabs.isSelected());
  141. jEdit.setBooleanProperty("buffer.indentOnTab",defaultIndentOnTab
  142. .isSelected());
  143. jEdit.setBooleanProperty("buffer.indentOnEnter",defaultIndentOnEnter
  144. .isSelected());
  145. } //}}}
  146. //{{{ Private members
  147. private JComboBox defaultMode;
  148. private JTextField undoCount;
  149. private JTextField defaultNoWordSep;
  150. private JComboBox defaultFolding;
  151. private JTextField defaultCollapseFolds;
  152. private JComboBox defaultWrap;
  153. private JComboBox defaultMaxLineLen;
  154. private JComboBox defaultTabSize;
  155. private JComboBox defaultIndentSize;
  156. private JCheckBox defaultNoTabs;
  157. private JCheckBox defaultIndentOnTab;
  158. private JCheckBox defaultIndentOnEnter;
  159. //}}}
  160. }