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 virtual QString GetNameFromIndex(
int row,
int column)
const;
104 virtual QString GetNameFromIndex(
size_t index)
const;
106 unsigned int GetNumberOfRenderWindowWidgets()
const;
108 void RequestUpdate(
const QString& widgetName);
109 void RequestUpdateAll();
110 void ForceImmediateUpdate(
const QString& widgetName);
111 void ForceImmediateUpdateAll();
124 virtual void InitializeViews(
const mitk::TimeGeometry* geometry,
bool resetCamera) = 0;
134 virtual void SetInteractionReferenceGeometry(
const mitk::TimeGeometry* referenceGeometry) = 0;
142 virtual bool HasCoupledRenderWindows()
const = 0;
144 virtual void SetSelectedPosition(
const mitk::Point3D& newPosition,
const QString& widgetName) = 0;
145 virtual const mitk::Point3D GetSelectedPosition(
const QString& widgetName)
const = 0;
147 virtual void SetCrosshairVisibility(
bool visible) = 0;
148 virtual bool GetCrosshairVisibility()
const = 0;
149 virtual void SetCrosshairGap(
unsigned int gapSize) = 0;
151 virtual void ResetCrosshair() = 0;
153 virtual void SetWidgetPlaneMode(
int mode) = 0;
155 virtual void ActivateMenuWidget(
bool state);
156 virtual bool IsMenuWidgetEnabled()
const;
162 void ActiveRenderWindowChanged();
166 void OnFocusChanged(itk::Object*,
const itk::EventObject& event);
170 virtual void AddRenderWindowWidget(
const QString& widgetName, RenderWindowWidgetPointer renderWindowWidget);
171 virtual void RemoveRenderWindowWidget();
179 virtual void SetLayoutImpl() = 0;
184 virtual void SetInteractionSchemeImpl() = 0;
187 std::unique_ptr<Impl> m_Impl;