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