X-Git-Url: http://secure.phpeclipse.com
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPEditor.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPEditor.java
index 11cf34f..2c19dd5 100644
--- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPEditor.java
+++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPEditor.java
@@ -11,17 +11,22 @@ Contributors:
IBM Corporation - Initial implementation
Klaus Hartlage - www.eclipseproject.de
**********************************************************************/
+import net.sourceforge.phpeclipse.PHPeclipsePlugin;
+import net.sourceforge.phpeclipse.phpeditor.php.PHPCodeScanner;
import net.sourceforge.phpeclipse.phpeditor.php.PHPWordExtractor;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.help.IHelp;
import org.eclipse.help.IHelpResource;
+import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.ITextSelection;
import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.editors.text.TextEditor;
@@ -29,7 +34,6 @@ import org.eclipse.ui.help.WorkbenchHelp;
import org.eclipse.ui.texteditor.DefaultRangeIndicator;
import org.eclipse.ui.texteditor.TextOperationAction;
import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-import org.eclipse.jface.action.IAction;
/**
* Java specific text editor.
*/
@@ -78,9 +82,9 @@ public class PHPEditor extends TextEditor {
super.dispose();
}
- /** The JavaEditor
implementation of this
+ /** The PHPEditor
implementation of this
* AbstractTextEditor
method performs any extra
- * revert behavior required by the java editor.
+ * revert behavior required by the php editor.
*/
public void doRevertToSaved() {
super.doRevertToSaved();
@@ -88,23 +92,26 @@ public class PHPEditor extends TextEditor {
fOutlinePage.update();
}
- /** The JavaEditor
implementation of this
+ /** The PHPEditor
implementation of this
* AbstractTextEditor
method performs any extra
- * save behavior required by the java editor.
+ * save behavior required by the php editor.
*/
public void doSave(IProgressMonitor monitor) {
super.doSave(monitor);
// compile or not, according to the user preferences
- IAction a = PHPParserAction.getInstance();
- if (a != null)
- a.run();
+ IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
+ if (store.getBoolean(PHPeclipsePlugin.PHP_PARSE_ON_SAVE)) {
+ IAction a = PHPParserAction.getInstance();
+ if (a != null)
+ a.run();
+ }
if (fOutlinePage != null)
fOutlinePage.update();
}
- /** The JavaEditor
implementation of this
+ /** The PHPEditor
implementation of this
* AbstractTextEditor
method performs any extra
- * save as behavior required by the java editor.
+ * save as behavior required by the php editor.
*/
public void doSaveAs() {
super.doSaveAs();
@@ -112,7 +119,7 @@ public class PHPEditor extends TextEditor {
fOutlinePage.update();
}
- /** The JavaEditor
implementation of this
+ /** The PHPEditor
implementation of this
* AbstractTextEditor
method performs sets the
* input of the outline page after AbstractTextEditor has set input.
*/
@@ -193,5 +200,18 @@ public class PHPEditor extends TextEditor {
setRangeIndicator(new DefaultRangeIndicator());
setEditorContextMenuId("#PHPEditorContext"); //$NON-NLS-1$
setRulerContextMenuId("#PHPRulerContext"); //$NON-NLS-1$
+ // setDocumentProvider(PHPeclipsePlugin.getCompilationUnitDocumentProvider());
+
+ PHPeclipsePlugin.getDefault().getPreferenceStore().addPropertyChangeListener(new IPropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent event) {
+ PHPCodeScanner scanner = PHPEditorEnvironment.getPHPCodeScanner();
+ if (scanner != null) {
+ scanner.updateToken(PHPEditorEnvironment.getPHPColorProvider());
+ }
+ if (getSourceViewer() != null) {
+ getSourceViewer().invalidateTextPresentation();
+ }
+ }
+ });
}
}