package org.docear.plugin.services.workspace; import org.freeplane.plugin.workspace.model.AWorkspaceTreeNode; import org.freeplane.plugin.workspace.model.WorkspaceModel; import org.freeplane.plugin.workspace.model.project.AWorkspaceProject; public class DocearWorkspaceModel extends WorkspaceModel { private static final int XTRA_NODES = 3; public void removeProject(AWorkspaceProject project) { if(project == null) { return; } synchronized (projects) { int index = projects.indexOf(project); if(index > -1) { projects.remove(project); project.getModel().removeProjectModelListener(getTreeModelListener()); fireProjectRemoved(project, index+XTRA_NODES); } } } public int getProjectIndex(AWorkspaceProject project) { synchronized (projects) { int index = XTRA_NODES; for (AWorkspaceProject prj : projects) { if(prj.equals(project)) { return index; } index++; } } return -1; } public AWorkspaceTreeNode getRoot() { if(root == null) { root = new DocearWorkspaceRootNode(); root.setModel(new DefaultWorkspaceTreeModel()); } return root; } /********************************************************************** * NESTED CLASSES **********************************************************************/ }