/plugins/JavaSideKick/tags/javasidekick-2-1-1/src/sidekick/java/options/GeneralOptions.java

#
Java | 258 lines | 170 code | 43 blank | 45 comment | 6 complexity | 75d76e15a949db93119776ba11919296 MD5 | raw file

✨ Summary
  1. /*
  2. * GeneralOptions.java - Options for JBrowse
  3. *
  4. * Copyright (c) 1999-2001 George Latkiewicz, Andre Kaplan
  5. *
  6. * This program is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU General Public License
  8. * as published by the Free Software Foundation; either version 2
  9. * of the License, or any later version.
  10. *
  11. * This program is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with this program; if not, write to the Free Software
  18. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  19. */
  20. package sidekick.java.options;
  21. /**
  22. * JBrowse General Options
  23. * @author George Latkiewicz
  24. * @author Andre Kaplan
  25. * @version $Id: GeneralOptions.java 963 2006-02-01 15:36:17Z daleanson $
  26. **/
  27. public class GeneralOptions
  28. {
  29. private boolean showStatusBar;
  30. private boolean automaticParse;
  31. private boolean sort;
  32. private MutableFilterOptions filterOpt; // (WHAT to display)
  33. private MutableDisplayOptions displayOpt; // (HOW to display)
  34. public GeneralOptions() {
  35. this.filterOpt = new MutableFilterOptions();
  36. this.displayOpt = new MutableDisplayOptions();
  37. }
  38. /**
  39. * The method that sets the option object's state to reflect the values
  40. * specified by the passed PropertyAccessor.
  41. */
  42. public void load(PropertyAccessor props) {
  43. // General Options
  44. setShowStatusBar(
  45. props.getBooleanProperty("sidekick.java.showStatusBar", true));
  46. setAutomaticParse(
  47. props.getBooleanProperty("sidekick.java.automaticParse", false));
  48. setSort(
  49. props.getBooleanProperty("sidekick.java.sort", false));
  50. // Filter Options
  51. filterOpt.setShowFields(
  52. props.getBooleanProperty("sidekick.java.showAttr"));
  53. filterOpt.setShowPrimitives(
  54. props.getBooleanProperty("sidekick.java.showPrimAttr"));
  55. filterOpt.setShowVariables(
  56. props.getBooleanProperty("sidekick.java.showVariables"));
  57. filterOpt.setShowInitializers(
  58. props.getBooleanProperty("sidekick.java.showInitializers"));
  59. filterOpt.setShowGeneralizations(
  60. props.getBooleanProperty("sidekick.java.showGeneralizations"));
  61. filterOpt.setShowThrows(
  62. props.getBooleanProperty("sidekick.java.showThrows"));
  63. int topLevelVisIndex;
  64. try {
  65. topLevelVisIndex = Integer.parseInt(
  66. props.getProperty("sidekick.java.topLevelVisIndex"));
  67. } catch(NumberFormatException nf) {
  68. topLevelVisIndex = MutableModifier.TOPLEVEL_VIS_PACKAGE;
  69. }
  70. if ( (topLevelVisIndex < MutableModifier.TOPLEVEL_VIS_PACKAGE)
  71. || (topLevelVisIndex > MutableModifier.TOPLEVEL_VIS_PUBLIC)
  72. ) {
  73. topLevelVisIndex = MutableModifier.TOPLEVEL_VIS_PACKAGE;
  74. }
  75. filterOpt.setTopLevelVisIndex( topLevelVisIndex );
  76. int memberVisIndex;
  77. try {
  78. memberVisIndex = Integer.parseInt(
  79. props.getProperty("sidekick.java.memberVisIndex"));
  80. } catch(NumberFormatException nf) {
  81. memberVisIndex = MutableModifier.MEMBER_VIS_PRIVATE;
  82. }
  83. if ( (memberVisIndex < MutableModifier.MEMBER_VIS_PRIVATE)
  84. || (memberVisIndex > MutableModifier.MEMBER_VIS_PUBLIC)
  85. ) {
  86. memberVisIndex = MutableModifier.MEMBER_VIS_PRIVATE;
  87. }
  88. filterOpt.setMemberVisIndex( memberVisIndex );
  89. // Display Options
  90. displayOpt.setShowArguments(
  91. props.getBooleanProperty("sidekick.java.showArgs"));
  92. displayOpt.setShowArgumentNames(
  93. props.getBooleanProperty("sidekick.java.showArgNames"));
  94. displayOpt.setShowTypeArgs(
  95. props.getBooleanProperty("sidekick.java.showTypeArgs"));
  96. displayOpt.setShowErrors(
  97. props.getBooleanProperty("sidekick.java.showErrors"));
  98. displayOpt.setShowNestedName(
  99. props.getBooleanProperty("sidekick.java.showNestedName"));
  100. displayOpt.setShowIconKeywords(
  101. props.getBooleanProperty("sidekick.java.showIconKeywords"));
  102. displayOpt.setShowMiscMod(
  103. props.getBooleanProperty("sidekick.java.showMiscMod"));
  104. displayOpt.setShowIcons(
  105. props.getBooleanProperty("sidekick.java.showIcons"));
  106. displayOpt.setShowLineNum(
  107. props.getBooleanProperty("sidekick.java.showLineNums"));
  108. displayOpt.setSortBy(
  109. props.getProperty("sidekick.java.sortBy"));
  110. int styleIndex;
  111. try
  112. {
  113. styleIndex = Integer.parseInt(
  114. props.getProperty("sidekick.java.displayStyle"));
  115. } catch (NumberFormatException nf) {
  116. styleIndex = DisplayOptions.STYLE_UML;
  117. }
  118. if ( (styleIndex < DisplayOptions.STYLE_FIRST)
  119. || (styleIndex > DisplayOptions.STYLE_LAST)
  120. ) {
  121. styleIndex = DisplayOptions.STYLE_UML;
  122. }
  123. displayOpt.setStyleIndex(styleIndex);
  124. displayOpt.setVisSymbols(
  125. props.getBooleanProperty("sidekick.java.custVisAsSymbol"));
  126. displayOpt.setAbstractItalic(
  127. props.getBooleanProperty("sidekick.java.custAbsAsItalic"));
  128. displayOpt.setStaticUlined(
  129. props.getBooleanProperty("sidekick.java.custStaAsUlined"));
  130. displayOpt.setTypeIsSuffixed(
  131. props.getBooleanProperty("sidekick.java.custTypeIsSuffixed"));
  132. }
  133. /**
  134. * The method that sets the passed PropertyAccessor's state to reflect
  135. * the current state of this Options object.
  136. */
  137. public void save(PropertyAccessor props)
  138. {
  139. // General Options
  140. //----------------
  141. props.setBooleanProperty("sidekick.java.showStatusBar", getShowStatusBar());
  142. props.setBooleanProperty("sidekick.java.automaticParse", getAutomaticParse());
  143. props.setBooleanProperty("sidekick.java.sort", getSort());
  144. // Filter Options
  145. //---------------
  146. props.setBooleanProperty("sidekick.java.showAttr",
  147. filterOpt.getShowFields());
  148. props.setBooleanProperty("sidekick.java.showPrimAttr",
  149. filterOpt.getShowPrimitives());
  150. props.setBooleanProperty("sidekick.java.showVariables",
  151. filterOpt.getShowVariables());
  152. props.setBooleanProperty("sidekick.java.showInitializers",
  153. filterOpt.getShowInitializers());
  154. props.setBooleanProperty("sidekick.java.showGeneralizations",
  155. filterOpt.getShowGeneralizations());
  156. props.setBooleanProperty("sidekick.java.showThrows",
  157. filterOpt.getShowThrows());
  158. /* Visibility Level */
  159. props.setProperty("sidekick.java.topLevelVisIndex",
  160. String.valueOf(filterOpt.getTopLevelVisIndex()) );
  161. props.setProperty("sidekick.java.memberVisIndex",
  162. String.valueOf(filterOpt.getMemberVisIndex()) );
  163. // Display Options
  164. //----------------
  165. props.setBooleanProperty("sidekick.java.showArgs",
  166. displayOpt.getShowArguments());
  167. props.setBooleanProperty("sidekick.java.showArgNames",
  168. displayOpt.getShowArgumentNames());
  169. props.setBooleanProperty("sidekick.java.showTypeArgs",
  170. displayOpt.getShowTypeArgs());
  171. props.setBooleanProperty("sidekick.java.showErrors",
  172. displayOpt.getShowErrors());
  173. props.setBooleanProperty("sidekick.java.showNestedName",
  174. displayOpt.getShowNestedName());
  175. props.setBooleanProperty("sidekick.java.showIconKeywords",
  176. displayOpt.getShowIconKeywords());
  177. props.setBooleanProperty("sidekick.java.showMiscMod",
  178. displayOpt.getShowMiscMod());
  179. props.setBooleanProperty("sidekick.java.showIcons",
  180. displayOpt.getShowIcons());
  181. props.setBooleanProperty("sidekick.java.showLineNums",
  182. displayOpt.getShowLineNum());
  183. props.setProperty("sidekick.java.sortBy",
  184. displayOpt.getSortBy());
  185. /* Display Style */
  186. props.setProperty("sidekick.java.displayStyle",
  187. String.valueOf(displayOpt.getStyleIndex()) );
  188. /* Custom Style Options */
  189. props.setBooleanProperty("sidekick.java.custVisAsSymbol",
  190. displayOpt.getVisSymbols());
  191. props.setBooleanProperty("sidekick.java.custAbsAsItalic",
  192. displayOpt.getAbstractItalic());
  193. props.setBooleanProperty("sidekick.java.custStaAsUlined",
  194. displayOpt.getStaticUlined());
  195. props.setBooleanProperty("sidekick.java.custTypeIsSuffixed",
  196. displayOpt.getTypeIsSuffixed());
  197. }
  198. public final boolean getShowStatusBar() { return showStatusBar; }
  199. public final void setShowStatusBar(boolean flag) {
  200. showStatusBar = flag;
  201. }
  202. public final boolean getAutomaticParse() { return automaticParse; }
  203. public final void setAutomaticParse(boolean flag) {
  204. automaticParse = flag;
  205. }
  206. public final boolean getSort() { return sort; }
  207. public final void setSort(boolean flag) {
  208. sort = flag;
  209. }
  210. public final MutableFilterOptions getFilterOptions() { return filterOpt; }
  211. public final MutableDisplayOptions getDisplayOptions() { return displayOpt; }
  212. public final String toString() {
  213. return (filterOpt.toString() + "\n" + displayOpt.toString());
  214. }
  215. }