/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.gui.workflow.view.properties; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.widgets.TreeItem; import org.eclipse.ui.IWorkbenchPart; import de.rcenvironment.core.component.workflow.execution.api.WorkflowExecutionInformation; import de.rcenvironment.core.component.workflow.model.api.WorkflowNode; import de.rcenvironment.core.gui.workflow.parts.WorkflowRunNodePart; import de.rcenvironment.core.gui.workflow.parts.WorkflowExecutionInformationPart; import de.rcenvironment.core.gui.workflow.parts.WorkflowPart; /** * Property section for displaying and editing inputs. * * @author Doreen Seider */ public class ComponentInputSection extends AbstractInputSection { private static ComponentInputSection instance; private WorkflowNode workflowNode; private String componentId; public ComponentInputSection() { super(); instance = this; } public static ComponentInputSection getInstance() { return instance; } @Override protected void retrieveWorkflowInformation(IWorkbenchPart part, ISelection selection) { final Object firstSelectionElement = ((IStructuredSelection) selection).getFirstElement(); workflowNode = (WorkflowNode) ((WorkflowRunNodePart) firstSelectionElement).getModel(); wfExeInfo = (WorkflowExecutionInformation) ((WorkflowExecutionInformationPart) ((WorkflowPart) ((WorkflowRunNodePart) firstSelectionElement) .getParent()).getParent()).getModel(); componentId = wfExeInfo.getComponentExecutionInformation(workflowNode.getIdentifier()).getExecutionIdentifier(); } @Override protected void initializeTreeViewer(IWorkbenchPart part, ISelection selection) { inputTreeViewer.setLabelProvider(new EditableInputLabelProvider(wfExeInfo.getExecutionIdentifier(), componentId)); inputTreeViewer.setInput(workflowNode); } @Override protected void openInputDialog(TreeItem item) { new InputQueueDialogController(wfExeInfo, componentId, item.getText()).open(); } }