1 11 package org.eclipse.team.internal.ccvs.ui; 12 13 14 import org.eclipse.jface.action.Action; 15 import org.eclipse.jface.text.ITextOperationTarget; 16 import org.eclipse.jface.text.ITextViewer; 17 import org.eclipse.ui.texteditor.IUpdate; 18 19 public class TextViewerAction extends Action implements IUpdate { 20 private int operationCode = -1; 21 private ITextOperationTarget operationTarget; 22 23 public TextViewerAction(ITextViewer viewer, int operationCode) { 24 this.operationCode = operationCode; 25 operationTarget = viewer.getTextOperationTarget(); 26 update(); 27 } 28 public void update() { 29 boolean wasEnabled = isEnabled(); 30 boolean isEnabled = (operationTarget != null && operationTarget.canDoOperation(operationCode)); 31 setEnabled(isEnabled); 32 if (wasEnabled != isEnabled) { 33 firePropertyChange(ENABLED, wasEnabled ? Boolean.TRUE : Boolean.FALSE, isEnabled ? Boolean.TRUE : Boolean.FALSE); 34 } 35 } 36 public void run() { 37 if (operationCode != -1 && operationTarget != null) { 38 operationTarget.doOperation(operationCode); 39 } 40 } 41 } 42 | Popular Tags |