+++ /dev/null
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation 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 API and implementation
- *******************************************************************************/
-
-package net.sourceforge.phpdt.internal.ui.text;
-
-
-import net.sourceforge.phpdt.internal.ui.text.java.JavaReconcilingStrategy;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.reconciler.MonoReconciler;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-
-
-/**
- * A reconciler that is also activated on editor activation.
- */
-public class JavaReconciler extends MonoReconciler {
-
- /**
- * Internal part listener for activating the reconciler.
- */
- class PartListener implements IPartListener {
-
- /*
- * @see IPartListener#partActivated(IWorkbenchPart)
- */
- public void partActivated(IWorkbenchPart part) {
- if (part == fTextEditor)
- JavaReconciler.this.forceReconciling();
- }
-
- /*
- * @see IPartListener#partBroughtToTop(IWorkbenchPart)
- */
- public void partBroughtToTop(IWorkbenchPart part) {
- }
-
- /*
- * @see IPartListener#partClosed(IWorkbenchPart)
- */
- public void partClosed(IWorkbenchPart part) {
- }
-
- /*
- * @see IPartListener#partDeactivated(IWorkbenchPart)
- */
- public void partDeactivated(IWorkbenchPart part) {
- }
-
- /*
- * @see IPartListener#partOpened(IWorkbenchPart)
- */
- public void partOpened(IWorkbenchPart part) {
- }
- };
-
-
- /** The reconciler's editor */
- private ITextEditor fTextEditor;
- /** The part listener */
- private IPartListener fPartListener;
-
-
- /**
- * Creates a new reconciler.
- */
- public JavaReconciler(ITextEditor editor, IReconcilingStrategy strategy, boolean isIncremental) {
- super(strategy, isIncremental);
- fTextEditor= editor;
- }
-
- /*
- * @see IReconciler#install(ITextViewer)
- */
- public void install(ITextViewer textViewer) {
- super.install(textViewer);
-
- fPartListener= new PartListener();
- IWorkbenchPartSite site= fTextEditor.getSite();
- IWorkbenchWindow window= site.getWorkbenchWindow();
- window.getPartService().addPartListener(fPartListener);
- }
-
- /*
- * @see IReconciler#uninstall()
- */
- public void uninstall() {
-
- IWorkbenchPartSite site= fTextEditor.getSite();
- IWorkbenchWindow window= site.getWorkbenchWindow();
- window.getPartService().removePartListener(fPartListener);
- fPartListener= null;
-
- super.uninstall();
- }
-
- /*
- * @see AbstractReconciler#forceReconciling()
- */
- protected void forceReconciling() {
- super.forceReconciling();
- IReconcilingStrategy strategy= getReconcilingStrategy(IDocument.DEFAULT_CONTENT_TYPE);
- if (strategy instanceof JavaReconcilingStrategy) {
- JavaReconcilingStrategy java= (JavaReconcilingStrategy) strategy;
- java.notifyParticipants(false);
- }
- }
-
- /*
- * @see AbstractReconciler#reconcilerReset()
- */
- protected void reconcilerReset() {
- super.reconcilerReset();
- IReconcilingStrategy strategy= getReconcilingStrategy(IDocument.DEFAULT_CONTENT_TYPE);
- if (strategy instanceof JavaReconcilingStrategy) {
- JavaReconcilingStrategy java= (JavaReconcilingStrategy) strategy;
- java.notifyParticipants(true);
- }
- }
-}