package edu.ualberta.med.biobank.views; import org.eclipse.swt.widgets.Composite; import edu.ualberta.med.biobank.SessionManager; import edu.ualberta.med.biobank.treeview.RootNode; import edu.ualberta.med.biobank.treeview.admin.SessionAdapter; import edu.ualberta.med.biobank.widgets.trees.AdapterTreeWidget; /** * This view contains a tree view that represents the link to the server and the * ORM model objects in the database. */ public class SessionsView extends AbstractViewWithAdapterTree { public static final String ID = "edu.ualberta.med.biobank.views.SessionsView"; //$NON-NLS-1$ public SessionsView() { SessionManager.getInstance().setSessionsView(this); } @Override public void createPartControlInternal(Composite parent) { adaptersTree = new AdapterTreeWidget(parent, false); rootNode = SessionManager.getInstance().getRootNode(); getTreeViewer().setInput(rootNode); ((RootNode) rootNode).setTreeViewer(getTreeViewer()); if (rootNode.hasChildren()) { getTreeViewer().expandToLevel(3); } // will refresh and expand sites if open application on another view getTreeViewer().refresh(); SessionAdapter session = (SessionAdapter) rootNode.getChild(0); if (session != null && SessionManager.getInstance().isConnected()) session.rebuild(); getSite().setSelectionProvider(adaptersTree.getTreeViewer()); } @Override public void reload() { SessionAdapter session = (SessionAdapter) rootNode.getChild(0); if (session != null) { session.rebuild(); } if (SessionManager.getUser().getCurrentWorkingCenter() == null) setPartName(Messages.SessionsView_admin_title); else setPartName(Messages.SessionsView_center_admin_title); } @Override public String getId() { return ID; } };