package org.nightlabs.jfire.issuetracking.ui.project;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.nightlabs.base.ui.util.RCPUtil;
import org.nightlabs.jfire.base.login.ui.Login;
import org.nightlabs.jfire.base.login.ui.part.LSDViewPart;
import org.nightlabs.jfire.issue.project.Project;
import org.nightlabs.jfire.issuetracking.ui.project.create.CreateProjectAction;
public class ProjectAdminView
extends LSDViewPart
{
public final static String ID_VIEW = ProjectAdminView.class.getName();
//Actions
private CreateProjectAction createProjectAction;
//Components
private ProjectAdminTreeComposite projectTreeComposite;
@Override
public void createPartContents(Composite parent) {
projectTreeComposite = new ProjectAdminTreeComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL, true);
projectTreeComposite.addDoubleClickListener(new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent e) {
Project project = projectTreeComposite.getFirstSelectedElement();
try {
RCPUtil.openEditor(new ProjectEditorInput(project.getObjectId()),
ProjectEditor.EDITOR_ID);
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
});
createActions();
createToolbarButtons();
}
@Override
public boolean canDisplayPart() {
return Login.isLoggedIn();
}
private void createActions() {
createProjectAction = new CreateProjectAction();
}
private void createToolbarButtons() {
getViewSite().getActionBars().getToolBarManager()
.add(createProjectAction);
}
}