Views Without Multi Widget

From mitk.org
Revision as of 19:06, 18 February 2012 by SaschaZelzer (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Replace the QmitkFunctionality inheritance of your View class with QmitkAbstractView and remove any QmitkStdMultiWidget.h include directives.


#!highlight cpp
//#include <QmitkStdMultiWidget.h> <-- Remove this include
//#include <QmitkFunctionality.h> <-- Remove this include
#include <QmitkAbstractView.h>

//class MyView : public QmitkFunctionality {...};
class MyView : public QmitkAbstractView {...};


You must implement the method SetFocus(). Previously, an empty default implementation was provided by QmitkFunctionality which generally is not a good default.


#!highlight cpp
void SetFocus()
{
  m_Controls->someWidget->setFocus();
}


The following table maps the deprecated QmitkFunctionality API to the new API offered by QmitkAbstractView or related interfaces.

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()
QmitkFunctionality mitk::IRenderWindowPartListener
void StdMultiWidgetAvailable(QmitkStdMultiWidget&) void IRenderWindowPartActivated(mitk::IRenderWindowPart*)
QmitkFunctionality mitk::ILifecycleAwarePart
QmitkFunctionality mitk::IZombieViewPart