1 4 package org.terracotta.dso.editors.xml; 5 6 import org.eclipse.core.runtime.IProgressMonitor; 7 import org.eclipse.jface.text.IDocument; 8 import org.eclipse.jface.text.ITextInputListener; 9 import org.eclipse.ui.editors.text.TextEditor; 10 import org.eclipse.ui.ide.IGotoMarker; 11 12 public class XMLEditor extends TextEditor implements IGotoMarker { 13 14 private ColorManager colorManager; 15 16 public XMLEditor() { 17 super(); 18 19 colorManager = new ColorManager(); 20 setSourceViewerConfiguration(new XMLConfiguration(colorManager)); 21 setDocumentProvider(new XMLDocumentProvider()); 22 } 23 24 public IDocument getDocument() { 25 return getDocumentProvider().getDocument(getEditorInput()); 26 } 27 28 public void addTextInputListener(ITextInputListener listener) { 29 getSourceViewer().addTextInputListener(listener); 30 } 31 32 public void removeTextInputListener(ITextInputListener listener) { 33 getSourceViewer().removeTextInputListener(listener); 34 } 35 36 public void dispose() { 37 colorManager.dispose(); 38 super.dispose(); 39 } 40 41 public void doSave(IProgressMonitor progressMonitor) { 42 updateState(getEditorInput()); 43 validateState(getEditorInput()); 44 performSave(true, progressMonitor); 45 } 46 } 47 | Popular Tags |