Added: PreferencePage; External Browser startup; extended syntax highlighting
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / phpeditor / PresentationAction.java
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PresentationAction.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PresentationAction.java
new file mode 100644 (file)
index 0000000..784efcd
--- /dev/null
@@ -0,0 +1,53 @@
+/**********************************************************************
+Copyright (c) 2000, 2002 IBM Corp. and others.
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Common Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/cpl-v10.html
+
+Contributors:
+    IBM Corporation - Initial implementation
+    Klaus Hartlage - www.eclipseproject.de
+**********************************************************************/
+package net.sourceforge.phpeclipse.phpeditor;
+
+import java.util.ResourceBundle;
+import org.eclipse.ui.texteditor.ITextEditor;
+import org.eclipse.ui.texteditor.TextEditorAction;
+
+/**
+ * A toolbar action which toggles the presentation model of the
+ * connected text editor. The editor shows either the highlight range
+ * only or always the whole document.
+ */
+public class PresentationAction extends TextEditorAction {
+
+       /**
+        * Constructs and updates the action.
+        */
+       public PresentationAction() {
+               super(PHPEditorMessages.getResourceBundle(), "TogglePresentation.", null); //$NON-NLS-1$
+               update();
+       }
+       
+       /* (non-Javadoc)
+        * Method declared on IAction
+        */
+       public void run() {
+
+               ITextEditor editor= getTextEditor();
+
+               editor.resetHighlightRange();
+               boolean show= editor.showsHighlightRangeOnly();
+               setChecked(!show);
+               editor.showHighlightRangeOnly(!show);
+       }
+       
+       /* (non-Javadoc)
+        * Method declared on TextEditorAction
+        */
+       public void update() {
+               setChecked(getTextEditor() != null && getTextEditor().showsHighlightRangeOnly());
+               setEnabled(true);
+       }
+}