package net.sourceforge.phpeclipse.phpeditor; /********************************************************************** 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 **********************************************************************/ import org.eclipse.jface.text.rules.RuleBasedScanner; import net.sourceforge.phpeclipse.phpeditor.php.PHPCodeScanner; //import net.sourceforge.phpeclipse.phpeditor.html.JavaDocScanner; import net.sourceforge.phpeclipse.phpeditor.util.PHPColorProvider; /** The JavaEditorEnvironment maintains singletons used by the java editor * examples. */ public class PHPEditorEnvironment { private static PHPColorProvider fgColorProvider; private static PHPCodeScanner fgCodeScanner; //private static JavaDocScanner fgDocScanner; private static int fgRefCount= 0; /** * A connection has occured - initialize the receiver if it is the first activation. */ public static void connect(Object client) { if (++fgRefCount == 1) { fgColorProvider= new PHPColorProvider(); fgCodeScanner= new PHPCodeScanner(fgColorProvider); // fgDocScanner= new JavaDocScanner(fgColorProvider); } } /** * A disconnection has occured - clear the receiver if it is the last deactivation. */ public static void disconnect(Object client) { if (--fgRefCount == 0) { fgCodeScanner= null; // fgDocScanner= null; fgColorProvider.dispose(); fgColorProvider= null; } } /** * Returns the singleton scanner. */ public static RuleBasedScanner getPHPCodeScanner() { return fgCodeScanner; } /** * Returns the singleton color provider. */ public static PHPColorProvider getJavaColorProvider() { return fgColorProvider; } /** * Returns the singleton document scanner. */ // public static RuleBasedScanner getJavaDocScanner() { // return fgDocScanner; // } }