PageRenderTime 32ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/bundles/plugins-trunk/Console/console/ErrorListModel.java

#
Java | 111 lines | 73 code | 12 blank | 26 comment | 5 complexity | 901fbc10dafae11eb389887b808654ed 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. package console;
  2. // {{{ imports
  3. import java.util.ArrayList;
  4. import javax.swing.DefaultListModel;
  5. import org.gjt.sp.jedit.jEdit;
  6. import org.gjt.sp.util.StringList;
  7. // }}}
  8. // {{{ ErrorListModel
  9. /**
  10. * A model for storing a collection of ErrorMatchers.
  11. *
  12. * @version $Id$
  13. * @author ezust
  14. * @since Console 4.2.5
  15. *
  16. */
  17. public class ErrorListModel extends DefaultListModel
  18. {
  19. // {{{ Data Members
  20. ArrayList<ErrorMatcher> m_matchers;
  21. StringList m_default;
  22. // }}}
  23. // {{{ constructor
  24. public ErrorListModel()
  25. {
  26. } // }}}
  27. // {{{ Member Functions
  28. // {{{ get
  29. public ErrorMatcher get(int i)
  30. {
  31. return (ErrorMatcher) super.get(i);
  32. } // }}}
  33. // {{{ load
  34. static public ErrorListModel load()
  35. {
  36. ErrorListModel retval = new ErrorListModel();
  37. retval.restore();
  38. return retval;
  39. } // }}}
  40. // {{{ reset
  41. /* writes the default list back to console.errors.list */
  42. public void reset() {
  43. jEdit.setProperty("console.errors.list", m_default.join(" ") );
  44. restore();
  45. } // }}}
  46. // {{{
  47. public void save()
  48. {
  49. StringList visible = new StringList();
  50. for (ErrorMatcher matcher: m_matchers)
  51. {
  52. String key = matcher.internalName();
  53. if (matcher.isValid())
  54. matcher.save();
  55. visible.add(key);
  56. }
  57. jEdit.setProperty("console.errors.list", visible.join(" "));
  58. } // }}}
  59. // {{{ restore
  60. /* Restores from properties, the default list */
  61. public void restore()
  62. {
  63. super.clear();
  64. m_matchers = new ArrayList<ErrorMatcher>();
  65. m_default = StringList.split(jEdit.getProperty("console.errors.default", ""), "\\s+");
  66. StringList visible = StringList.split(jEdit.getProperty("console.errors.list", ""), "\\s+");
  67. if (visible.size() == 0) {
  68. jEdit.setProperty("console.errors.list", m_default.join(" "));
  69. visible = m_default;
  70. }
  71. for (String key: visible)
  72. {
  73. ErrorMatcher m = new ErrorMatcher(key);
  74. m_matchers.add(m);
  75. super.addElement(m);
  76. }
  77. } // }}}
  78. // {{{ removeElementAt
  79. public void removeElementAt(int index)
  80. {
  81. m_matchers.remove(index);
  82. super.removeElementAt(index);
  83. } // }}}
  84. // {{{ insertElementAt
  85. public void insertElementAt(Object obj, int index)
  86. {
  87. ErrorMatcher matcher = (ErrorMatcher) obj;
  88. m_matchers.add(index, matcher);
  89. super.insertElementAt(obj, index);
  90. } // }}}
  91. // {{{ addElement
  92. public void addElement(Object m)
  93. {
  94. ErrorMatcher matcher = (ErrorMatcher) m;
  95. m_matchers.add(matcher);
  96. super.addElement(m);
  97. } // }}}
  98. // }}}
  99. } // }}}