package com.netifera.platform.ui.tasks.output;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.IViewSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.ViewPart;
import com.netifera.platform.api.tasks.ITaskRecord;
import com.netifera.platform.ui.util.ViewerRefreshAction;
public class TaskOutputView extends ViewPart {
public static final String ID = "com.netifera.platform.ui.views.TaskOutput";
private TaskOutputTableViewer viewer;
private ITaskRecord record;
@Override
public void createPartControl(Composite parent) {
/** create a composite control */
parent.setLayout(new FillLayout());
viewer = new TaskOutputTableViewer(parent, parent.getStyle(), true, this);
initializeToolBar();
parent.layout(true);
}
public void init(IViewSite site, IMemento memento) throws PartInitException {
super.init(site, memento);
/* long probeId = Long.parseLong(memento.getString("probeId"));
long taskId = Long.parseLong(memento.getString("taskId"));
IProbe probe = TasksPlugin.getPlugin().getProbeManager().getProbeById(probeId);
probe.getTaskClient().
*/
}
@Override
public void setFocus() {
viewer.getControl().setFocus();
}
public void dipose() {
super.dispose();
viewer = null;
}
private void initializeToolBar() {
IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();
toolBarManager.add(new ViewerRefreshAction(viewer));
}
public void setInput(Object input) {
if (input instanceof ITaskRecord) {
record = (ITaskRecord)input;
if (record.getTitle() != null)
setPartName(record.getTitle());
if (record.getStateDescription() != null)
setContentDescription(record.getStateDescription());
viewer.setInput(input);
}
}
public void saveState(IMemento memento) {
super.saveState(memento);
long probeId = record.getProbeId();
long taskId = record.getTaskId();
memento.putString("probeId", ""+probeId);
memento.putString("taskId", ""+taskId);
}
}