Difference between revisions of "Views Without Multi Widget"
SaschaZelzer (talk | contribs) |
(Refactor nigthly documentation link) |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | |||
− | |||
==== Motivation ==== | ==== Motivation ==== | ||
− | In the past, | + | In the past, BlueBerry-based MITK Views always had a hard dependency |
on the QmitkStdMultiWidget (the big widget with four render windows, in the center of the application). This dependency was partly due to API misuse but also due to the lack of a proper abstraction layer. | on the QmitkStdMultiWidget (the big widget with four render windows, in the center of the application). This dependency was partly due to API misuse but also due to the lack of a proper abstraction layer. | ||
Recently, more use cases popped up which require a specialized ''render window editor''. However the functionality offered by most MITK Views is tied to the QmitkStdMultiWidget although they would theoretically be functional in a much broader scope. | Recently, more use cases popped up which require a specialized ''render window editor''. However the functionality offered by most MITK Views is tied to the QmitkStdMultiWidget although they would theoretically be functional in a much broader scope. | ||
+ | |||
==== Recent Changes ==== | ==== Recent Changes ==== | ||
Line 18: | Line 17: | ||
# In your plug-ins ''manifest_headers.cmake'' file, change the plug-in dependency ''org.mitk.gui.qt.common'' to ''org.mitk.gui.qt.common.legacy'' | # In your plug-ins ''manifest_headers.cmake'' file, change the plug-in dependency ''org.mitk.gui.qt.common'' to ''org.mitk.gui.qt.common.legacy'' | ||
− | < | + | <syntaxhighlight lang="cmake"> |
set(Require-Plugin org.mitk.gui.qt.common.legacy) | set(Require-Plugin org.mitk.gui.qt.common.legacy) | ||
− | </ | + | </syntaxhighlight> |
− | + | This will keep your plug-in functional for the time being. However, you should consider migrating your plug-in code to the new API (see below). | |
# Keep your plug-in dependencies as they are and fix your plug-in code. See the guideline below. | # Keep your plug-in dependencies as they are and fix your plug-in code. See the guideline below. | ||
+ | |||
==== Fixing API usage ==== | ==== Fixing API usage ==== | ||
− | The most prominent change is that you should now inherit your View class from [http://docs.mitk.org/nightly | + | The most prominent change is that you should now inherit your View class from [http://docs.mitk.org/nightly/classQmitkAbstractView.html QmitkAbstractView] instead of [http://docs.mitk.org/nightly/classQmitkFunctionality.html QmitkFunctionality] and direct calls to a [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html QmitkStdMultiWidget] instance should be avoided. |
− | + | <syntaxhighlight lang="cpp"> | |
− | < | ||
//#include <QmitkStdMultiWidget.h> <-- Remove this include | //#include <QmitkStdMultiWidget.h> <-- Remove this include | ||
//#include <QmitkFunctionality.h> <-- Remove this include | //#include <QmitkFunctionality.h> <-- Remove this include | ||
Line 37: | Line 36: | ||
//class MyView : public QmitkFunctionality {...}; | //class MyView : public QmitkFunctionality {...}; | ||
class MyView : public QmitkAbstractView {...}; | class MyView : public QmitkAbstractView {...}; | ||
− | </ | + | </syntaxhighlight> |
− | |||
− | |||
− | |||
+ | You must implement the method [http://docs.mitk.org/nightly/BlueBerry/reference/api/html/structberry_1_1IWorkbenchPart.html#aebf0038640de5c2bed36a325efcbd3d7 SetFocus()]. Previously, an empty default implementation was provided by [http://docs.mitk.org/nightly/classQmitkFunctionality.html QmitkFunctionality] which generally is not a good default. | ||
− | < | + | <syntaxhighlight lang="cpp"> |
void SetFocus() | void SetFocus() | ||
{ | { | ||
m_Controls->someWidget->setFocus(); | m_Controls->someWidget->setFocus(); | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
+ | You can have a look at a commit fixing the API issues for a very simple plug-in here: | ||
− | + | https://github.com/MITK/MITK-ProjectTemplate/commit/5ccc8d0048848e2c2968f1f64d8467bc0901df9b | |
− | |||
==== API changes ==== | ==== API changes ==== | ||
− | The [http://docs.mitk.org/nightly | + | The [http://docs.mitk.org/nightly/classQmitkFunctionality.html QmitkFunctionality] API has been replaced by the one provided by [http://docs.mitk.org/nightly/classQmitkAbstractView.html QmitkAbstractView], [http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPart.html mitk::IRenderWindowPart], and related interfaces. |
− | |||
− | + | ===== QmitkFunctionality API Mapping ===== | |
− | |||
− | {| | + | The following table maps the deprecated [http://docs.mitk.org/nightly/classQmitkFunctionality.html QmitkFunctionality] API to the new API offered by [http://docs.mitk.org/nightly/classQmitkAbstractView.html QmitkAbstractView] or related interfaces. If you are unsure |
− | | '''[http://docs.mitk.org/nightly | + | about a method's usage, please consult its [http://docs.mitk.org/nightly Doxygen documentation]. |
− | | '''[http://docs.mitk.org/nightly | + | |
+ | {| class="wikitable" width=100% style="background-color:#ffffff;" | ||
+ | | '''[http://docs.mitk.org/nightly/classQmitkFunctionality.html QmitkFunctionality]''' | ||
+ | | '''[http://docs.mitk.org/nightly/classQmitkAbstractView.html QmitkAbstractView]''' | ||
|- | |- | ||
− | | void [http://docs.mitk.org/nightly | + | | void [http://docs.mitk.org/nightly/classQmitkFunctionality.html#a3eea2aa34381ff5b493c8a7a82430bd4 OnSelectionChanged](std::vector<mitk::DataNode*>) |
| void OnSelectionChanged(berry::IWorkbenchPart::Pointer, const QList<mitk::DataNode::Pointer>&) | | void OnSelectionChanged(berry::IWorkbenchPart::Pointer, const QList<mitk::DataNode::Pointer>&) | ||
|- | |- | ||
− | | mitk::DataStorage::Pointer [http://docs.mitk.org/nightly | + | | mitk::DataStorage::Pointer [http://docs.mitk.org/nightly/classQmitkFunctionality.html#a1ece3b5a4d550e0e606362cdf5726006 GetDefaultDataStorage]() |
− | | mitk::DataStorage::Pointer [http://docs.mitk.org/nightly | + | | mitk::DataStorage::Pointer [http://docs.mitk.org/nightly/classQmitkAbstractView.html#a9c929a0f380e188bb704d48134cb7617 GetDataStorage]() |
|- | |- | ||
− | | bool [http://docs.mitk.org/nightly | + | | bool [http://docs.mitk.org/nightly/classQmitkFunctionality.html#a5002d38edafa20ea0132ea992c5545eb IsActivated]() |
− | |<span style="font-size: large; color: white; background: red">|X</span> (remeber the state yourself by implementing the [http://docs.mitk.org/nightly | + | |<span style="font-size: large; color: white; background: red">|X</span> (remeber the state yourself by implementing the [http://docs.mitk.org/nightly/structmitk_1_1ILifecycleAwarePart.html mitk::ILifecycleAwarePart] interface) |
|- | |- | ||
− | | QmitkStdMultiWidget* [http://docs.mitk.org/nightly | + | | QmitkStdMultiWidget* [http://docs.mitk.org/nightly/classQmitkFunctionality.html#a86775317ab58b8fa64cd56283ca88c95 GetActiveStdMultiWidget](bool) |
− | | mitk::IRenderWindowPart* [http://docs.mitk.org/nightly | + | | mitk::IRenderWindowPart* [http://docs.mitk.org/nightly/classQmitkAbstractView.html#a474ed928f45b061b1fdd0ff2b6a18dd8 GetRenderWindowPart](IRenderWindowPartStrategies) |
|- | |- | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/classQmitkFunctionality.html#a11d096126e050af3eeaf8d17aabbfb07 m_Parent] |
|<span style="font-size: large; color: white; background: red">|X</span> (remember the parent yourself in CreateQtPartControl(QWidget*) ) | |<span style="font-size: large; color: white; background: red">|X</span> (remember the parent yourself in CreateQtPartControl(QWidget*) ) | ||
|- | |- | ||
− | | bool [http://docs.mitk.org/nightly | + | | bool [http://docs.mitk.org/nightly/classQmitkFunctionality.html#a1bfb2236c415145f30f99beac25cae11 IsExclusiveFunctionality]() |
− | |<span style="font-size: large; color: white; background: red">|X</span> (implement the [http://docs.mitk.org/nightly | + | |<span style="font-size: large; color: white; background: red">|X</span> (implement the [http://docs.mitk.org/nightly/structmitk_1_1IZombieViewPart.html mitk::IZombieViewPart] interface to indicate special behavior) |
|- | |- | ||
| | | | ||
− | | '''[http://docs.mitk.org/nightly | + | | '''[http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPartListener.html mitk::IRenderWindowPartListener]''' |
|- | |- | ||
− | | void [http://docs.mitk.org/nightly | + | | void [http://docs.mitk.org/nightly/classQmitkFunctionality.html#ae4f7598453e5628833a6a9895cc4aca8 StdMultiWidgetAvailable](QmitkStdMultiWidget&) |
− | | void [http://docs.mitk.org/nightly | + | | void [http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPartListener.html#ad4045472a83ebca19c79d5d8a8a801ec RenderWindowPartActivated](mitk::IRenderWindowPart*) |
|- | |- | ||
| | | | ||
− | | '''[http://docs.mitk.org/nightly | + | | '''[http://docs.mitk.org/nightly/structmitk_1_1ILifecycleAwarePart.html mitk::ILifecycleAwarePart]''' |
|- | |- | ||
− | | void [http://docs.mitk.org/nightly | + | | void [http://docs.mitk.org/nightly/classQmitkFunctionality.html#a8e2e5481d215cab424e4d6803ba21d0d Visible]() |
− | | void [http://docs.mitk.org/nightly | + | | void [http://docs.mitk.org/nightly/structmitk_1_1ILifecycleAwarePart.html#a285a895975981ed6c8c17a0b260eb955 Visible(]) |
|- | |- | ||
− | | void [http://docs.mitk.org/nightly | + | | void [http://docs.mitk.org/nightly/classQmitkFunctionality.html#ae438df2a7e3e1badce997c034e3d73ec Hidden]() |
− | | void [http://docs.mitk.org/nightly | + | | void [http://docs.mitk.org/nightly/structmitk_1_1ILifecycleAwarePart.html#a55cf62d8ad0e5bd7bf999a548768bb25 Hidden]() |
|- | |- | ||
| | | | ||
− | | '''[http://docs.mitk.org/nightly | + | | '''[http://docs.mitk.org/nightly/structmitk_1_1IZombieViewPart.html mitk::IZombieViewPart]''' |
|- | |- | ||
− | | void [http://docs.mitk.org/nightly | + | | void [http://docs.mitk.org/nightly/classQmitkFunctionality.html#a4ffecad69e023b23bf50c48effe5523c Deactivated]() |
− | | void [http://docs.mitk.org/nightly | + | | void [http://docs.mitk.org/nightly/structmitk_1_1IZombieViewPart.html#a4b766bcd29f5da52613252325bebec4b ActivatedZombieView] (berry::IWorkbenchPartReference::Pointer) |
|} | |} | ||
− | |||
− | The direct usage of the [http://docs.mitk.org/nightly | + | ===== QmitkStdMultiWidget API Mapping ===== |
+ | |||
+ | The direct usage of the [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html QmitkStdMultiWidget] API via an instance returned by QmitkFunctionality::GetActiveStdMultiWidget() is now deprecated. Use the table below to look up the corresponding methods offered by the new interfaces. | ||
− | {| | + | {| class="wikitable" width=100% style="background-color:#ffffff;" |
− | | '''[http://docs.mitk.org/nightly | + | | '''[http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html QmitkStdMultiWidget]''' |
− | | '''[http://docs.mitk.org/nightly | + | | '''[http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPart.html IRenderWindowPart]''' |
− | | '''[http://docs.mitk.org/nightly | + | | '''[http://docs.mitk.org/nightly/structmitk_1_1ILinkedRenderWindowPart.html ILinkedRenderWindowPart]''' |
|- | |- | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html#a116123b3be2ec3b092c08721f555877a GetTimeNavigationController]() |
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPart.html#aeedf0e665ab24c3f8c18a40541b2c77c GetTimeNavigationController]() |
| | | | ||
|- | |- | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html#a485f382824d3679c5811ac51a476d395 GetRenderWindow][X]() |
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPart.html#a9cb035e817c7200ed32c49c3dc452484 GetRenderWindow](const QString&) |
| | | | ||
|- | |- | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html#a04b6cbca6740999719cb907b7fef4f54 GetCrossPosition]() |
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPart.html#a7545949190945fd38cedb5e2e4a404ec GetSelectedPosition]() |
| | | | ||
|- | |- | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html#ad5ce6aa34618ee630272072ecd97861d MoveCrossToPosition](const mitk::Point3D&) |
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPart.html#a6c3c9c3e27cfccb482a2661fdda17b3e SetSelectedPosition]() |
| | | | ||
|- | |- | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html#ad3e8a645628be855f068cac06acc0e94 GetSlicesRotator]() |
| | | | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/structmitk_1_1ILinkedRenderWindowPart.html#ac05814f10aeb9b17806dd475a9b13248 GetSlicesRotator]() |
|- | |- | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html#ac3a3e5338ab4d577c94ffcdf1da3f69d GetSlicesSwiveller]() |
| | | | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/structmitk_1_1ILinkedRenderWindowPart.html#a70ca2b68e6f9ea7d50a06ee945e31a5f GetSlicesSwiveller]() |
|- | |- | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html#aa144965da14b62e12d23c1ebb35260dc SetWidgetPlanesVisibility](bool) |
| | | | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/structmitk_1_1ILinkedRenderWindowPart.html#a5e32e5a451b1a328c5740ba96fd7a557 EnableSlicingPlanes](bool) |
|- | |- | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html#a66f516f710450bbaa94730597cdd8239 RequestUpdate]() |
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPart.html#a554614c3e6a8b9c684b9f26138bc161d RequestUpdate]() |
| | | | ||
|- | |- | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html#aeb34b798760332b3f9f4426a018ba79e ForceImmediateUpdate]() |
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPart.html#a782c3d9dcb1b5f39ff7b53dd71719957 ForceImmediateUpdate]() |
| | | | ||
|- | |- | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html#a41646540f87ee0d44e1a70221ad0e26d DisableColoredRectangles]() |
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPart.html#a5a1e80ef29bc1d01c05647323ca1d576 EnableDecorations](false, QStringList(DECORATION_BORDER)) |
| | | | ||
|- | |- | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html#afc87bab4a9f7cec2f7783cb8c4cff010 DisableDepartmentLogo]() |
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPart.html#a5a1e80ef29bc1d01c05647323ca1d576 EnableDecorations](false, QStringList(DECORATION_LOGO)) |
| | | | ||
|- | |- | ||
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/classQmitkStdMultiWidget.html#a9b90dd299ddba7494575849078adfb93 DisableGradientBackground]() |
− | | [http://docs.mitk.org/nightly | + | | [http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPart.html#a5a1e80ef29bc1d01c05647323ca1d576 EnableDecorations](false, QStringList(DECORATION_BACKGROUND)) |
| | | | ||
|} | |} | ||
− | Calls to the global [http://docs.mitk.org/nightly | + | Calls to the global [http://docs.mitk.org/nightly/classmitk_1_1RenderingManager.html mitk::RenderingManager] instance should be replaced by calls to the [http://docs.mitk.org/nightly/structmitk_1_1IRenderingManager.html mitk::IRenderingManager] instance returned by the [http://docs.mitk.org/nightly/structmitk_1_1IRenderWindowPart.html#a80c097c227868915af22986e173ec95e mitk::IRenderWindowPart::GetRenderingManager()] method. |
− | If a rendering update is requested from a [http://docs.mitk.org/nightly | + | If a rendering update is requested from a [http://docs.mitk.org/nightly/classQmitkAbstractView.html QmitkAbstractView] subclass, the request should be done by calling [http://docs.mitk.org/nightly/classQmitkAbstractView.html#adb0d756b51c3734bd3031618fe5aaea7 QmitkAbstractView::RequestRenderWindowUpdate()]. |
Latest revision as of 14:44, 1 June 2016
Motivation
In the past, BlueBerry-based MITK Views always had a hard dependency on the QmitkStdMultiWidget (the big widget with four render windows, in the center of the application). This dependency was partly due to API misuse but also due to the lack of a proper abstraction layer.
Recently, more use cases popped up which require a specialized render window editor. However the functionality offered by most MITK Views is tied to the QmitkStdMultiWidget although they would theoretically be functional in a much broader scope.
Recent Changes
To enable MITK Views to work together with an abstract render window editor, the work on bug #10963 has been merged into MITK master on 23.02.2012.
If you wrote your own MITK View it is likely that you will be affected by these changes. The changes make it necessary that you take one of two possible actions in order to keep your View working:
- In your plug-ins manifest_headers.cmake file, change the plug-in dependency org.mitk.gui.qt.common to org.mitk.gui.qt.common.legacy
<syntaxhighlight lang="cmake"> set(Require-Plugin org.mitk.gui.qt.common.legacy) </syntaxhighlight>
This will keep your plug-in functional for the time being. However, you should consider migrating your plug-in code to the new API (see below).
- Keep your plug-in dependencies as they are and fix your plug-in code. See the guideline below.
Fixing API usage
The most prominent change is that you should now inherit your View class from QmitkAbstractView instead of QmitkFunctionality and direct calls to a QmitkStdMultiWidget instance should be avoided.
<syntaxhighlight lang="cpp"> //#include <QmitkStdMultiWidget.h> <-- Remove this include //#include <QmitkFunctionality.h> <-- Remove this include
- include <QmitkAbstractView.h>
//class MyView : public QmitkFunctionality {...}; class MyView : public QmitkAbstractView {...}; </syntaxhighlight>
You must implement the method SetFocus(). Previously, an empty default implementation was provided by QmitkFunctionality which generally is not a good default.
<syntaxhighlight lang="cpp"> void SetFocus() {
m_Controls->someWidget->setFocus();
} </syntaxhighlight>
You can have a look at a commit fixing the API issues for a very simple plug-in here:
https://github.com/MITK/MITK-ProjectTemplate/commit/5ccc8d0048848e2c2968f1f64d8467bc0901df9b
API changes
The QmitkFunctionality API has been replaced by the one provided by QmitkAbstractView, mitk::IRenderWindowPart, and related interfaces.
QmitkFunctionality API Mapping
The following table maps the deprecated QmitkFunctionality API to the new API offered by QmitkAbstractView or related interfaces. If you are unsure about a method's usage, please consult its Doxygen documentation.
QmitkFunctionality | QmitkAbstractView |
void OnSelectionChanged(std::vector<mitk::DataNode*>) | void OnSelectionChanged(berry::IWorkbenchPart::Pointer, const QList<mitk::DataNode::Pointer>&) |
mitk::DataStorage::Pointer GetDefaultDataStorage() | mitk::DataStorage::Pointer GetDataStorage() |
bool IsActivated() | X (remeber the state yourself by implementing the mitk::ILifecycleAwarePart interface) |
QmitkStdMultiWidget* GetActiveStdMultiWidget(bool) | mitk::IRenderWindowPart* GetRenderWindowPart(IRenderWindowPartStrategies) |
m_Parent | X (remember the parent yourself in CreateQtPartControl(QWidget*) ) |
bool IsExclusiveFunctionality() | X (implement the mitk::IZombieViewPart interface to indicate special behavior) |
mitk::IRenderWindowPartListener | |
void StdMultiWidgetAvailable(QmitkStdMultiWidget&) | void RenderWindowPartActivated(mitk::IRenderWindowPart*) |
mitk::ILifecycleAwarePart | |
void Visible() | void Visible() |
void Hidden() | void Hidden() |
mitk::IZombieViewPart | |
void Deactivated() | void ActivatedZombieView (berry::IWorkbenchPartReference::Pointer) |
QmitkStdMultiWidget API Mapping
The direct usage of the QmitkStdMultiWidget API via an instance returned by QmitkFunctionality::GetActiveStdMultiWidget() is now deprecated. Use the table below to look up the corresponding methods offered by the new interfaces.
QmitkStdMultiWidget | IRenderWindowPart | ILinkedRenderWindowPart |
GetTimeNavigationController() | GetTimeNavigationController() | |
GetRenderWindow[X]() | GetRenderWindow(const QString&) | |
GetCrossPosition() | GetSelectedPosition() | |
MoveCrossToPosition(const mitk::Point3D&) | SetSelectedPosition() | |
GetSlicesRotator() | GetSlicesRotator() | |
GetSlicesSwiveller() | GetSlicesSwiveller() | |
SetWidgetPlanesVisibility(bool) | EnableSlicingPlanes(bool) | |
RequestUpdate() | RequestUpdate() | |
ForceImmediateUpdate() | ForceImmediateUpdate() | |
DisableColoredRectangles() | EnableDecorations(false, QStringList(DECORATION_BORDER)) | |
DisableDepartmentLogo() | EnableDecorations(false, QStringList(DECORATION_LOGO)) | |
DisableGradientBackground() | EnableDecorations(false, QStringList(DECORATION_BACKGROUND)) |
Calls to the global mitk::RenderingManager instance should be replaced by calls to the mitk::IRenderingManager instance returned by the mitk::IRenderWindowPart::GetRenderingManager() method.
If a rendering update is requested from a QmitkAbstractView subclass, the request should be done by calling QmitkAbstractView::RequestRenderWindowUpdate().