13 #ifndef QmitkAbstractMultiWidget_h
14 #define QmitkAbstractMultiWidget_h
39 class InteractionEventHandler;
64 Qt::WindowFlags f = {},
65 const QString& multiWidgetName =
"multiwidget");
69 virtual void InitializeMultiWidget() = 0;
76 int GetRowCount()
const;
77 int GetColumnCount()
const;
78 virtual void SetLayout(
int row,
int column);
84 void SetDisplayActionEventHandler(std::unique_ptr<mitk::DisplayActionEventHandler> displayActionEventHandler);
87 RenderWindowWidgetMap GetRenderWindowWidgets()
const;
88 RenderWindowWidgetMap Get2DRenderWindowWidgets()
const;
89 RenderWindowWidgetMap Get3DRenderWindowWidgets()
const;
90 RenderWindowWidgetPointer GetRenderWindowWidget(
int row,
int column)
const;
91 RenderWindowWidgetPointer GetRenderWindowWidget(
const QString& widgetName)
const;
92 RenderWindowWidgetPointer GetRenderWindowWidget(
const QmitkRenderWindow* renderWindow)
const;
93 RenderWindowHash GetRenderWindows()
const;
98 virtual void SetActiveRenderWindowWidget(RenderWindowWidgetPointer activeRenderWindowWidget);
99 RenderWindowWidgetPointer GetActiveRenderWindowWidget()
const;
100 RenderWindowWidgetPointer GetFirstRenderWindowWidget()
const;
101 RenderWindowWidgetPointer GetLastRenderWindowWidget()
const;
103 QString GetMultiWidgetName()
const;
104 virtual QString GetNameFromIndex(
int row,
int column)
const;
105 virtual QString GetNameFromIndex(
size_t index)
const;
107 unsigned int GetNumberOfRenderWindowWidgets()
const;
109 void RequestUpdate(
const QString& widgetName);
110 void RequestUpdateAll();
111 void ForceImmediateUpdate(
const QString& widgetName);
112 void ForceImmediateUpdateAll();
125 virtual void InitializeViews(
const mitk::TimeGeometry* geometry,
bool resetCamera) = 0;
135 virtual void SetInteractionReferenceGeometry(
const mitk::TimeGeometry* referenceGeometry) = 0;
143 virtual bool HasCoupledRenderWindows()
const = 0;
145 virtual void SetSelectedPosition(
const mitk::Point3D& newPosition,
const QString& widgetName) = 0;
146 virtual const mitk::Point3D GetSelectedPosition(
const QString& widgetName)
const = 0;
148 virtual void SetCrosshairVisibility(
bool visible) = 0;
149 virtual bool GetCrosshairVisibility()
const = 0;
150 virtual void SetCrosshairGap(
unsigned int gapSize) = 0;
152 virtual void ResetCrosshair() = 0;
154 virtual void SetWidgetPlaneMode(
int mode) = 0;
156 virtual void ActivateMenuWidget(
bool state);
157 virtual bool IsMenuWidgetEnabled()
const;
163 void ActiveRenderWindowChanged();
167 void OnFocusChanged(itk::Object*,
const itk::EventObject& event);
171 virtual void AddRenderWindowWidget(
const QString& widgetName, RenderWindowWidgetPointer renderWindowWidget);
172 virtual void RemoveRenderWindowWidget();
180 virtual void SetLayoutImpl() = 0;
185 virtual void SetInteractionSchemeImpl() = 0;
188 std::unique_ptr<Impl> m_Impl;