/**
*
*/
package com.netifera.platform.ui.tasks.list;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Widget;
import org.eclipse.ui.forms.widgets.FormToolkit;
import com.netifera.platform.api.tasks.ITaskRecord;
public class TaskItemProvider implements IItemProvider {
private ILabelProvider labelProvider;
private Composite parent;
private int style;
private FormToolkit toolkit = new FormToolkit(Display.getCurrent());
public TaskItemProvider(Composite parent, int style) {
this.parent = parent;
this.style = style;
}
public Widget getItem(Object element) {
if(parent.isDisposed() && !(element instanceof ITaskRecord)) {
return null;
}
// parent.setRedraw(false);
TaskItem item = new TaskItem(parent, style, toolkit);
item.setData(element);
// parent.setRedraw(true);
return item;
}
public void setLabelProvider(ILabelProvider labelProvider) {
this.labelProvider = labelProvider;
}
public void updateItem(Widget item, Object element) {
item.setData(element);
}
public void setParent(Composite parent) {
this.parent = parent;
}
public Composite getParent() {
return parent;
}
public void dispose() {
toolkit.dispose();
/* nothing else to do here? dispose widgets? */
}
}