package org.eclipse.iee.editor.core.pad.common.ui; import java.io.Serializable; import java.util.Map; import org.eclipse.iee.editor.core.bindings.TextViewerSupport; import org.eclipse.iee.editor.core.pad.CompositePad; import org.eclipse.iee.editor.core.pad.common.ProgressDocumentPart; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.jface.text.Document; import org.eclipse.jface.text.TextViewer; import org.eclipse.jface.text.TextViewerUndoManager; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Composite; public class ProgressPad extends CompositePad<ProgressDocumentPart> implements Serializable { private static final long serialVersionUID = 1L; private Composite fParent; private ProgressComposite fComposite; private ImageRegistry imageRegistry; public ProgressPad(ImageRegistry imageRegistry) { this.imageRegistry = imageRegistry; } private Document fDocument; private TextViewer fViewer; @Override public void createPartControl(final Composite parent) { fParent = parent; parent.setLayout(new FillLayout()); fComposite = new ProgressComposite(parent, SWT.NONE, imageRegistry); fDocument = new Document(); fDocument.set(getDocumentPart().getStatus()); fViewer = fComposite.getTextBox(); fViewer.setDocument(fDocument); fComposite.setSpinner(getDocumentPart().getProgress()); TextViewerUndoManager defaultUndoManager = new TextViewerUndoManager(25); fViewer.setUndoManager(defaultUndoManager); defaultUndoManager.connect(fViewer); new TextViewerSupport(fViewer); if (fDocument.get() != "") { toggleFormulaImage(); } else { toggleInputText(); } setListeners(); } public void setListeners() { } public void save() { processInput(); } public void toggleInputText() { fParent.pack(); fViewer.getControl().forceFocus(); } public void toggleFormulaImage() { fParent.pack(); } public void processInput() { String var = fDocument.get(); getDocumentPart().setStatus(var); getDocumentPart().setProgress(fComposite.getSpinner()); getContainer().updateDocument(); } @Override public void activate() { toggleInputText(); } @Override public void deactivate() { processInput(); toggleFormulaImage(); } @Override public void updateData(Map<String, String> params, String value) { } @Override public String getType() { return "Progress"; } @Override public String getTex() { return ""; } }