01: /*******************************************************************************
02: * Copyright (c) 2007 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: ******************************************************************************/package org.eclipse.ui.internal.services;
11:
12: import org.eclipse.core.expressions.Expression;
13: import org.eclipse.core.expressions.IEvaluationContext;
14: import org.eclipse.jface.util.IPropertyChangeListener;
15: import org.eclipse.ui.services.IServiceWithSources;
16:
17: /**
18: * This should be more a more generic way to have your core expressions
19: * evaluated. This is internal in 3.3, and highly experimental.
20: *
21: * @since 3.3
22: */
23: public interface IEvaluationService extends IServiceWithSources {
24: public static final String RESULT = "org.eclipse.ui.services.result"; //$NON-NLS-1$
25: public static final String PROP_NOTIFYING = "org.eclipse.ui.services.notifying"; //$NON-NLS-1$
26:
27: public void addServiceListener(IPropertyChangeListener listener);
28:
29: public void removeServiceListener(IPropertyChangeListener listener);
30:
31: public IEvaluationReference addEvaluationListener(
32: Expression expression, IPropertyChangeListener listener,
33: String property, Expression restrictEvaluation);
34:
35: public void removeEvaluationListener(IEvaluationReference ref);
36:
37: public IEvaluationContext getCurrentState();
38: }
|