package rtt.ui.content.main; import rtt.core.archive.Archive; import rtt.core.archive.testsuite.Testsuite; import rtt.core.manager.Manager; import rtt.ui.content.ReloadInfo; import rtt.ui.content.testsuite.TestsuiteContent; public class TestsuiteDirectory extends AbstractContent { public TestsuiteDirectory(ProjectContent content) { super(content); } private void loadContents(Archive archive) { for (Testsuite suite : archive.getTestsuites()) { TestsuiteContent content = new TestsuiteContent(this, suite); childs.add(content); } } @Override public void reload(ReloadInfo info, Manager manager) { childs.clear(); loadContents(manager.getArchive()); // TODO lediglich die entsprechenden Elemente nachladen, statt alles // if (info.contains(Content.TESTSUITE)) { // childs.clear(); // loadContents(); // } else if (info.contains(Content.TESTCASE)) { // for (IContent content : childs) { // content.reload(info); // } // } } public boolean isEmpty() { return childs.isEmpty(); } @Override public String getText() { return "Suites"; } @Override protected ContentIcon getIcon() { return ContentIcon.TESTSUITE; } public TestsuiteContent getTestsuite(int index) { if (childs.isEmpty() || index > childs.size()) { return null; } return (TestsuiteContent) childs.get(index); } }