Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
berryIEvaluationService.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 BlueBerry Platform
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 
18 #ifndef BERRYIEVALUATIONSERVICE_H
19 #define BERRYIEVALUATIONSERVICE_H
20 
22 
24 
25 namespace berry {
26 
27 struct IEvaluationContext;
28 struct IEvaluationReference;
29 struct IPropertyChangeListener;
30 
31 class Expression;
32 
81 {
83 
84 
87  static const QString RESULT; // = "org.blueberry.ui.services.result";
88 
92  static const QString PROP_NOTIFYING; // = "org.blueberry.ui.services.notifying";
93 
109  virtual void AddServiceListener(IPropertyChangeListener* listener) = 0;
110 
118  virtual void RemoveServiceListener(IPropertyChangeListener* listener) = 0;
119 
138  virtual SmartPointer<IEvaluationReference> AddEvaluationListener(
139  const SmartPointer<Expression>& expression,
140  IPropertyChangeListener* listener,
141  const QString& property) = 0;
142 
162  virtual void AddEvaluationReference(const SmartPointer<IEvaluationReference>& ref) = 0;
163 
170  virtual void RemoveEvaluationListener(const SmartPointer<IEvaluationReference>& ref) = 0;
171 
183  virtual SmartPointer<IEvaluationContext> GetCurrentState() const = 0;
184 
206  virtual void RequestEvaluation(const QString& propertyName) = 0;
207 };
208 
209 }
210 
211 Q_DECLARE_INTERFACE(berry::IEvaluationService, "org.blueberry.ui.IEvaluationService")
212 
213 #endif // BERRYIEVALUATIONSERVICE_H
static const QString PROP_NOTIFYING
Implements transparent reference counting.
#define berryObjectMacro(...)
Definition: berryMacros.h:37
#define BERRY_UI_QT