1 package sourceforge.org.qmc2.options.editor.ui.operations; 2 3 import org.eclipse.core.commands.ExecutionException; 4 import org.eclipse.core.runtime.IAdaptable; 5 import org.eclipse.core.runtime.IProgressMonitor; 6 import org.eclipse.core.runtime.IStatus; 7 import org.eclipse.core.runtime.Status; 8 import org.eclipse.jface.viewers.TreeViewerColumn; 9 10 import sourceforge.org.qmc2.options.editor.ui.QMC2Editor; 11 12 public class AddLanguageOperation extends AbstractEditorOperation { 13 14 private final String lang; 15 16 private TreeViewerColumn column; 17 AddLanguageOperation(QMC2Editor editor, String newLang)18 public AddLanguageOperation(QMC2Editor editor, String newLang) { 19 super(editor, "Add Language"); 20 this.lang = newLang; 21 22 } 23 24 @Override execute(IProgressMonitor monitor, IAdaptable info)25 public IStatus execute(IProgressMonitor monitor, IAdaptable info) 26 throws ExecutionException { 27 28 return redo(monitor, info); 29 } 30 31 @Override redo(IProgressMonitor monitor, IAdaptable info)32 public IStatus redo(IProgressMonitor monitor, IAdaptable info) 33 throws ExecutionException { 34 column = getEditor().createColumn(getEditor().getViewer(), lang, -1); 35 column.getColumn().setWidth(100); 36 getEditor().getViewer().refresh(); 37 return Status.OK_STATUS; 38 } 39 40 @Override undo(IProgressMonitor monitor, IAdaptable info)41 public IStatus undo(IProgressMonitor monitor, IAdaptable info) 42 throws ExecutionException { 43 column.getColumn().dispose(); 44 getEditor().getViewer().refresh(); 45 return Status.OK_STATUS; 46 } 47 48 } 49