Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AbstractTextZoomHandler.java')
-rw-r--r--org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AbstractTextZoomHandler.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AbstractTextZoomHandler.java b/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AbstractTextZoomHandler.java
index d65e4898905..d082503118a 100644
--- a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AbstractTextZoomHandler.java
+++ b/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AbstractTextZoomHandler.java
@@ -22,6 +22,7 @@ import org.eclipse.swt.graphics.FontData;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.expressions.IEvaluationContext;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.Platform;
@@ -31,7 +32,8 @@ import org.eclipse.jface.resource.FontDescriptor;
import org.eclipse.jface.resource.FontRegistry;
import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.ISources;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.ui.part.AbstractMultiEditor;
import org.eclipse.ui.part.MultiPageEditorPart;
@@ -93,7 +95,10 @@ abstract class AbstractTextZoomHandler extends AbstractHandler {
}
private AbstractTextEditor getActiveTextEditor(ExecutionEvent event) {
- IWorkbenchPart part= HandlerUtil.getActiveEditor(event);
+ return getActiveTextEditor(HandlerUtil.getActiveEditor(event));
+ }
+
+ private AbstractTextEditor getActiveTextEditor(IEditorPart part) {
if (part instanceof AbstractTextEditor) {
return (AbstractTextEditor)part;
} else if ((part instanceof AbstractMultiEditor) && ((AbstractMultiEditor)part).getActiveEditor() instanceof AbstractTextEditor) {
@@ -105,8 +110,15 @@ abstract class AbstractTextZoomHandler extends AbstractHandler {
}
@Override
- public boolean isEnabled() {
- return true;
+ public void setEnabled(Object evaluationContext) {
+ boolean enabled = false;
+ if (evaluationContext instanceof IEvaluationContext) {
+ Object activeEditor = ((IEvaluationContext) evaluationContext).getVariable(ISources.ACTIVE_EDITOR_NAME);
+ if (activeEditor instanceof IEditorPart) {
+ enabled = getActiveTextEditor((IEditorPart) activeEditor) != null;
+ }
+ }
+ setBaseEnabled(enabled);
}
/**

Back to the top