Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
berryIEvaluationService.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 
14 #ifndef BERRYIEVALUATIONSERVICE_H
15 #define BERRYIEVALUATIONSERVICE_H
16 
18 
20 
21 namespace berry {
22 
23 struct IEvaluationContext;
24 struct IEvaluationReference;
25 struct IPropertyChangeListener;
26 
27 class Expression;
28 
77 {
79 
83  static const QString RESULT; // = "org.blueberry.ui.services.result";
84 
88  static const QString PROP_NOTIFYING; // = "org.blueberry.ui.services.notifying";
89 
105  virtual void AddServiceListener(IPropertyChangeListener* listener) = 0;
106 
114  virtual void RemoveServiceListener(IPropertyChangeListener* listener) = 0;
115 
134  virtual SmartPointer<IEvaluationReference> AddEvaluationListener(
135  const SmartPointer<Expression>& expression,
136  IPropertyChangeListener* listener,
137  const QString& property) = 0;
138 
158  virtual void AddEvaluationReference(const SmartPointer<IEvaluationReference>& ref) = 0;
159 
166  virtual void RemoveEvaluationListener(const SmartPointer<IEvaluationReference>& ref) = 0;
167 
179  virtual SmartPointer<IEvaluationContext> GetCurrentState() const = 0;
180 
202  virtual void RequestEvaluation(const QString& propertyName) = 0;
203 };
204 
205 }
206 
207 Q_DECLARE_INTERFACE(berry::IEvaluationService, "org.blueberry.ui.IEvaluationService")
208 
209 #endif // BERRYIEVALUATIONSERVICE_H
static const QString PROP_NOTIFYING
Implements transparent reference counting.
#define berryObjectMacro(...)
Definition: berryMacros.h:33
#define BERRY_UI_QT