public CategoryTreeNode getChild(CategoryTreeNode parent, String name) { for (int i = 0; i < getChildCount(parent); i++) { CategoryTreeNode category = (CategoryTreeNode) getChild(parent, i); if (category.getName().equals(name)) return category; } return null; } }
public CatalogModelImpl(CategoryTreeNode root, RouteServiceOperator operator) { categoryTreeModel = new CategoryTreeModel(root); this.operator = operator; }
public void run() { selectCategory(tree, catalogModel.getCategoryTreeModel().getChild(category, name)); } });
public void run() { // do the loading in a separate thread since treeCategories.setModel(categoryTreeModel) // would do it in the AWT EventQueue catalogModel.getCategoryTreeModel().getChildCount(remoteRoot); invokeLater(new Runnable() { public void run() { startWaitCursor(r.getFrame().getRootPane()); try { String selected = r.getCategoryPreference(); selectTreePath(TreePathStringConversion.fromString(root, selected), true); // make sure the subcategories of the remote catalog are visible, too treeCategories.expandPath(new TreePath(new Object[]{root, remoteRoot})); } finally { stopWaitCursor(r.getFrame().getRootPane()); } } }); } }, "CategoryTreeInitializer").start();
public static void selectCategory(JTree tree, CategoryTreeNode category) { TreePath treePath = new TreePath(((CategoryTreeModel)tree.getModel()).getPathToRoot(category)); selectCategoryTreePath(tree, treePath); }
public void run() throws IOException { for (int i = 0; i < parents.size(); i++) { CategoryTreeNode category = categoryTreeModel.getChild(parents.get(i), names.get(i)); if (category.isLocalRoot() || category.isRemoteRoot()) throw new IOException("cannot remove category root"); category.getCategory().delete(); } invokeLater(new Runnable() { public void run() { if (invokeLaterRunnable != null) invokeLaterRunnable.run(); for (int i = 0; i < parents.size(); i++) { CategoryTreeNode category = categoryTreeModel.getChild(parents.get(i), names.get(i)); categoryTreeModel.removeNodeFromParent(category); } } }); } });