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.composite.XComposite;
import org.nightlabs.base.ui.composite.XComposite.LayoutMode;
import org.nightlabs.base.ui.util.RCPUtil;
import org.nightlabs.jfire.base.ui.overview.CategoryFactory;
import org.nightlabs.jfire.base.ui.overview.CustomCompositeCategory;
import org.nightlabs.jfire.issue.project.Project;
/**
* @author Chairat Kongarayawetchakun chairat[at] NightLabs [dot] de
*/
public class ProjectCategory
extends CustomCompositeCategory {
/**
* @param categoryFactory
*/
public ProjectCategory(CategoryFactory categoryFactory) {
super(categoryFactory);
}
@Override
public Composite createComposite(Composite composite) {
XComposite wrapper = new XComposite(composite, SWT.NONE, LayoutMode.TIGHT_WRAPPER);
final ProjectAdminTreeComposite pc = new ProjectAdminTreeComposite(wrapper, true);
pc.addDoubleClickListener(new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent e) {
Project project = pc.getFirstSelectedElement();
try {
RCPUtil.openEditor(new ProjectEditorInput(project.getObjectId()),
ProjectEditor.EDITOR_ID);
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
});
return wrapper;
}
}