PageRenderTime 46ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

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

#
Java | 173 lines | 104 code | 19 blank | 50 comment | 2 complexity | 113914816a9d836e693ba23a441e840c 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 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. //{{{ Tab size
  55. String[] tabSizes = { "2", "4", "8" };
  56. defaultTabSize = new JComboBox(tabSizes);
  57. defaultTabSize.setEditable(true);
  58. defaultTabSize.setSelectedItem(jEdit.getProperty("buffer.tabSize"));
  59. addComponent(jEdit.getProperty("options.editing.tabSize"),defaultTabSize);
  60. //}}}
  61. //{{{ Indent size
  62. defaultIndentSize = new JComboBox(tabSizes);
  63. defaultIndentSize.setEditable(true);
  64. defaultIndentSize.setSelectedItem(jEdit.getProperty("buffer.indentSize"));
  65. addComponent(jEdit.getProperty("options.editing.indentSize"),defaultIndentSize);
  66. //}}}
  67. //{{{ Max line length
  68. String[] lineLens = { "0", "72", "76", "80" };
  69. defaultMaxLineLen = new JComboBox(lineLens);
  70. defaultMaxLineLen.setEditable(true);
  71. defaultMaxLineLen.setSelectedItem(jEdit.getProperty("buffer.maxLineLen"));
  72. addComponent(jEdit.getProperty("options.editing.maxLineLen"),defaultMaxLineLen);
  73. //}}}
  74. //{{{ Word break chars
  75. defaultWordBreakChars = new JTextField(jEdit.getProperty("buffer.wordBreakChars"));
  76. addComponent(jEdit.getProperty("options.editing.wordBreakChars"),defaultWordBreakChars);
  77. //}}}
  78. //{{{ Extra word characters
  79. defaultNoWordSep = new JTextField(jEdit.getProperty("buffer.noWordSep"));
  80. addComponent(jEdit.getProperty("options.editing.noWordSep"),defaultNoWordSep);
  81. //}}}
  82. //{{{ Default fold mode
  83. String[] foldModes = {
  84. "none",
  85. "indent",
  86. "explicit"
  87. };
  88. addComponent(jEdit.getProperty("options.editing.folding"),
  89. defaultFolding = new JComboBox(foldModes));
  90. defaultFolding.setSelectedItem(jEdit.getProperty("buffer.folding"));
  91. //}}}
  92. //{{{ Default fold level
  93. defaultCollapseFolds = new JTextField(jEdit.getProperty("buffer.collapseFolds"));
  94. addComponent(jEdit.getProperty("options.editing.collapseFolds"),defaultCollapseFolds);
  95. //}}}
  96. //{{{ Undo queue size
  97. undoCount = new JTextField(jEdit.getProperty("buffer.undoCount"));
  98. addComponent(jEdit.getProperty("options.editing.undoCount"),undoCount);
  99. //}}}
  100. //{{{ Indent on tab
  101. defaultIndentOnTab = new JCheckBox(jEdit.getProperty("options.editing"
  102. + ".indentOnTab"));
  103. defaultIndentOnTab.setSelected(jEdit.getBooleanProperty("buffer.indentOnTab"));
  104. addComponent(defaultIndentOnTab);
  105. //}}}
  106. //{{{ Indent on enter
  107. defaultIndentOnEnter = new JCheckBox(jEdit.getProperty("options.editing"
  108. + ".indentOnEnter"));
  109. defaultIndentOnEnter.setSelected(jEdit.getBooleanProperty("buffer.indentOnEnter"));
  110. addComponent(defaultIndentOnEnter);
  111. //}}}
  112. //{{{ Soft tabs
  113. defaultNoTabs = new JCheckBox(jEdit.getProperty("options.editing"
  114. + ".noTabs"));
  115. defaultNoTabs.setSelected(jEdit.getBooleanProperty("buffer.noTabs"));
  116. addComponent(defaultNoTabs);
  117. //}}}
  118. } //}}}
  119. //{{{ _save() method
  120. protected void _save()
  121. {
  122. jEdit.setProperty("buffer.defaultMode",
  123. (String)defaultMode.getSelectedItem());
  124. jEdit.setProperty("buffer.tabSize",(String)defaultTabSize
  125. .getSelectedItem());
  126. jEdit.setProperty("buffer.indentSize",(String)defaultIndentSize
  127. .getSelectedItem());
  128. jEdit.setProperty("buffer.maxLineLen",(String)defaultMaxLineLen.getSelectedItem());
  129. jEdit.setProperty("buffer.wordBreakChars",defaultWordBreakChars.getText());
  130. jEdit.setProperty("buffer.noWordSep",defaultNoWordSep.getText());
  131. jEdit.setProperty("buffer.folding",(String)defaultFolding.getSelectedItem());
  132. jEdit.setProperty("buffer.collapseFolds",defaultCollapseFolds.getText());
  133. jEdit.setProperty("buffer.undoCount",undoCount.getText());
  134. jEdit.setBooleanProperty("buffer.indentOnTab",defaultIndentOnTab
  135. .isSelected());
  136. jEdit.setBooleanProperty("buffer.indentOnEnter",defaultIndentOnEnter
  137. .isSelected());
  138. jEdit.setBooleanProperty("buffer.noTabs",defaultNoTabs.isSelected());
  139. } //}}}
  140. //{{{ Private members
  141. private JComboBox defaultMode;
  142. private JComboBox defaultTabSize;
  143. private JComboBox defaultIndentSize;
  144. private JComboBox defaultMaxLineLen;
  145. private JTextField defaultWordBreakChars;
  146. private JTextField defaultNoWordSep;
  147. private JComboBox defaultFolding;
  148. private JTextField defaultCollapseFolds;
  149. private JTextField undoCount;
  150. private JCheckBox defaultIndentOnTab;
  151. private JCheckBox defaultIndentOnEnter;
  152. private JCheckBox defaultNoTabs;
  153. //}}}
  154. }