blob: 7d5ca88b66039a912224a661f3215d70c61327e1 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012 Timur Achmetow and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Timur Achmetow - initial API and implementation
* Tasktop Technologies - improvements
*******************************************************************************/
package org.eclipse.mylyn.internal.tasks.activity.ui;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.mylyn.internal.tasks.activity.core.ActivityManager;
import org.eclipse.mylyn.internal.tasks.activity.ui.provider.ActivityRecordContentProvider;
import org.eclipse.mylyn.internal.tasks.activity.ui.provider.ActivityRecordLabelProvider;
import org.eclipse.mylyn.internal.tasks.ui.editors.AbstractTaskEditorSection;
import org.eclipse.mylyn.internal.tasks.ui.editors.EditorUtil;
import org.eclipse.mylyn.tasks.activity.core.IActivityStream;
import org.eclipse.mylyn.tasks.activity.core.TaskActivityScope;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.forms.widgets.FormToolkit;
/**
* @author Timur Achmetow
* @author Steffen Pingel
*/
@SuppressWarnings("restriction")
public class ActivityPart extends AbstractTaskEditorSection {
public ActivityPart() {
setPartName("Activity"); //$NON-NLS-1$
setExpandVertically(true);
}
@Override
public void createControl(Composite parent, FormToolkit toolkit) {
// do not show the part for unsubmitted tasks
if (getTaskData().isNew()) {
return;
}
super.createControl(parent, toolkit);
}
@Override
protected Control createContent(FormToolkit toolkit, Composite parent) {
Composite activityComposite = toolkit.createComposite(parent);
activityComposite.setLayout(EditorUtil.createSectionClientLayout());
TreeViewer viewer = new TreeViewer(toolkit.createTree(activityComposite, SWT.SINGLE | SWT.H_SCROLL
| SWT.V_SCROLL | SWT.FULL_SELECTION));
GridDataFactory.fillDefaults().hint(500, 100).grab(true, true).applyTo(viewer.getControl());
viewer.setContentProvider(new ActivityRecordContentProvider());
viewer.setLabelProvider(new DecoratingStyledCellLabelProvider(new ActivityRecordLabelProvider(), null, null));
IActivityStream stream = new ActivityManager().getStream(new TaskActivityScope(getModel().getTask()));
viewer.setInput(stream);
EditorUtil.addScrollListener(viewer.getTree());
toolkit.paintBordersFor(activityComposite);
return activityComposite;
}
@Override
protected boolean shouldExpandOnCreate() {
return false;
}
}