Medical Imaging Interaction Toolkit
2026.06.00
Medical Imaging Interaction Toolkit
QmitkRenderWindowMenu.h
Go to the documentation of this file.
1
/*============================================================================
2
3
The Medical Imaging Interaction Toolkit (MITK)
4
5
Copyright (c) German Cancer Research Center (DKFZ)
6
All rights reserved.
7
8
Use of this source code is governed by a 3-clause BSD license that can be
9
found in the LICENSE file.
10
11
============================================================================*/
12
13
#ifndef QmitkRenderWindowMenu_h
14
#define QmitkRenderWindowMenu_h
15
16
// mitk qtwidgets module
17
#include <
MitkQtWidgetsExports.h
>
18
#include <
QmitkMultiWidgetLayoutManager.h
>
19
20
// mitk core
21
#include <
mitkBaseRenderer.h
>
22
23
// qt
24
#include <QAction>
25
#include <QEvent>
26
#include <QLabel>
27
#include <QMenuBar>
28
#include <QPushButton>
29
#include <QTimer>
30
#include <QToolButton>
31
#include <QWidget>
32
50
class
MITKQTWIDGETS_EXPORT
QmitkRenderWindowMenu
:
public
QWidget
51
{
52
Q_OBJECT
53
54
public
:
55
56
using
LayoutIndex
=
mitk::AnatomicalPlane
;
57
using
LayoutDesign
=
QmitkMultiWidgetLayoutManager::LayoutDesign
;
58
59
QmitkRenderWindowMenu
(QWidget *parent =
nullptr
,
60
Qt::WindowFlags f = {},
61
mitk::BaseRenderer
*b =
nullptr
);
62
~QmitkRenderWindowMenu
()
override
;
63
67
bool
GetSettingsMenuVisibilty
()
68
{
69
if
(m_LayoutActionsMenu ==
nullptr
)
70
return
false
;
71
else
72
return
m_LayoutActionsMenu->isVisible();
73
}
74
76
void
SetLayoutIndex
(
LayoutIndex
layoutIndex);
77
79
LayoutIndex
GetLayoutIndex
() {
return
m_Layout; }
82
void
UpdateLayoutDesignList
(
LayoutDesign
layoutDesign);
83
84
void
UpdateCrosshairVisibility
(
bool
visible);
85
86
void
UpdateCrosshair3DVisibility
(
bool
visible);
87
88
void
UpdateCrosshairRotationMode
(
int
mode);
89
92
void
MoveWidgetToCorrectPos
();
93
94
void
ShowMenu
();
95
void
HideMenu
();
96
97
protected
:
98
100
void
paintEvent
(QPaintEvent *event)
override
;
101
102
void
CreateMenuWidget
();
103
105
void
CreateSettingsWidget
();
106
108
void
ChangeFullScreenIcon
();
109
110
Q_SIGNALS:
111
112
void
ResetView
();
// == "global reinit"
113
114
void
CrosshairVisibilityChanged
(
bool
);
115
116
void
Crosshair3DVisibilityChanged
(
bool
);
117
118
// \brief int parameters are enum from QmitkStdMultiWidget
119
void
CrosshairRotationModeChanged
(
int
);
120
122
void
LayoutDesignChanged
(
LayoutDesign
layoutDesign);
123
124
protected
Q_SLOTS:
125
128
void
AutoRotateNextStep
();
129
132
void
OnAutoRotationActionTriggered
();
133
134
void
OnTSNumChanged
(
int
);
135
136
void
OnCrosshairMenuAboutToShow
();
137
void
OnCrosshairVisibilityChanged
(
bool
);
138
void
OnCrosshair3DVisibilityChanged
(
bool
);
139
void
OnCrosshairRotationModeSelected
(QAction *);
140
145
void
OnFullScreenButton
(
bool
checked);
146
150
void
OnLayoutDesignButton
(
bool
checked);
151
152
void
OnSetLayout
(
LayoutDesign
layoutDesign);
153
154
protected
:
155
156
QToolButton*
m_CrosshairModeButton
;
157
158
QToolButton*
m_FullScreenButton
;
159
160
QToolButton*
m_LayoutDesignButton
;
161
QMenu*
m_LayoutActionsMenu
;
162
QAction*
m_DefaultLayoutAction
;
163
QAction*
m_All2DTop3DBottomLayoutAction
;
164
QAction*
m_All2DLeft3DRightLayoutAction
;
165
QAction*
m_OneBigLayoutAction
;
166
QAction*
m_Only2DHorizontalLayoutAction
;
167
QAction*
m_Only2DVerticalLayoutAction
;
168
QAction*
m_OneTop3DBottomLayoutAction
;
169
QAction*
m_OneLeft3DRightLayoutAction
;
170
QAction*
m_AllHorizontalLayoutAction
;
171
QAction*
m_AllVerticalLayoutAction
;
172
QAction*
m_RemoveOneLayoutAction
;
173
174
QLabel *
m_TSLabel
;
175
176
QMenu *
m_CrosshairMenu
;
177
179
bool
m_FullScreenMode
;
180
181
private
:
182
183
mitk::BaseRenderer::Pointer m_Renderer;
184
185
QTimer* m_AutoRotationTimer;
186
187
QWidget *m_Parent;
188
189
//memory because mode is set to default for slice num = 1
190
static
unsigned
int
m_DefaultThickMode;
191
192
int
m_CrosshairRotationMode;
193
bool
m_CrosshairVisibility;
194
bool
m_Crosshair3DVisibility;
195
196
LayoutIndex
m_Layout;
197
LayoutDesign
m_LayoutDesign;
198
LayoutDesign
m_OldLayoutDesign;
199
200
};
201
202
#endif
MitkQtWidgetsExports.h
MITKQTWIDGETS_EXPORT
#define MITKQTWIDGETS_EXPORT
Definition:
MitkQtWidgetsExports.h:15
QmitkMultiWidgetLayoutManager.h
QmitkMultiWidgetLayoutManager::LayoutDesign
LayoutDesign
Definition:
QmitkMultiWidgetLayoutManager.h:42
QmitkRenderWindowMenu
The QmitkRenderWindowMenu is a popup Widget which shows up when the mouse cursor enter a QmitkRenderW...
Definition:
QmitkRenderWindowMenu.h:51
QmitkRenderWindowMenu::m_TSLabel
QLabel * m_TSLabel
Definition:
QmitkRenderWindowMenu.h:174
QmitkRenderWindowMenu::MoveWidgetToCorrectPos
void MoveWidgetToCorrectPos()
QmitkRenderWindowMenu::m_OneTop3DBottomLayoutAction
QAction * m_OneTop3DBottomLayoutAction
Definition:
QmitkRenderWindowMenu.h:168
QmitkRenderWindowMenu::CrosshairVisibilityChanged
void CrosshairVisibilityChanged(bool)
QmitkRenderWindowMenu::m_Only2DVerticalLayoutAction
QAction * m_Only2DVerticalLayoutAction
Definition:
QmitkRenderWindowMenu.h:167
QmitkRenderWindowMenu::m_All2DTop3DBottomLayoutAction
QAction * m_All2DTop3DBottomLayoutAction
Definition:
QmitkRenderWindowMenu.h:163
QmitkRenderWindowMenu::OnCrosshairRotationModeSelected
void OnCrosshairRotationModeSelected(QAction *)
QmitkRenderWindowMenu::CreateSettingsWidget
void CreateSettingsWidget()
QmitkRenderWindowMenu::UpdateCrosshairVisibility
void UpdateCrosshairVisibility(bool visible)
QmitkRenderWindowMenu::m_OneLeft3DRightLayoutAction
QAction * m_OneLeft3DRightLayoutAction
Definition:
QmitkRenderWindowMenu.h:169
QmitkRenderWindowMenu::ChangeFullScreenIcon
void ChangeFullScreenIcon()
QmitkRenderWindowMenu::CrosshairRotationModeChanged
void CrosshairRotationModeChanged(int)
QmitkRenderWindowMenu::QmitkRenderWindowMenu
QmitkRenderWindowMenu(QWidget *parent=nullptr, Qt::WindowFlags f={}, mitk::BaseRenderer *b=nullptr)
QmitkRenderWindowMenu::OnLayoutDesignButton
void OnLayoutDesignButton(bool checked)
QmitkRenderWindowMenu::OnAutoRotationActionTriggered
void OnAutoRotationActionTriggered()
QmitkRenderWindowMenu::OnCrosshairVisibilityChanged
void OnCrosshairVisibilityChanged(bool)
QmitkRenderWindowMenu::UpdateLayoutDesignList
void UpdateLayoutDesignList(LayoutDesign layoutDesign)
QmitkRenderWindowMenu::m_Only2DHorizontalLayoutAction
QAction * m_Only2DHorizontalLayoutAction
Definition:
QmitkRenderWindowMenu.h:166
QmitkRenderWindowMenu::m_LayoutActionsMenu
QMenu * m_LayoutActionsMenu
Definition:
QmitkRenderWindowMenu.h:161
QmitkRenderWindowMenu::m_FullScreenMode
bool m_FullScreenMode
Definition:
QmitkRenderWindowMenu.h:179
QmitkRenderWindowMenu::m_AllHorizontalLayoutAction
QAction * m_AllHorizontalLayoutAction
Definition:
QmitkRenderWindowMenu.h:170
QmitkRenderWindowMenu::OnSetLayout
void OnSetLayout(LayoutDesign layoutDesign)
QmitkRenderWindowMenu::m_All2DLeft3DRightLayoutAction
QAction * m_All2DLeft3DRightLayoutAction
Definition:
QmitkRenderWindowMenu.h:164
QmitkRenderWindowMenu::m_CrosshairMenu
QMenu * m_CrosshairMenu
Definition:
QmitkRenderWindowMenu.h:176
QmitkRenderWindowMenu::OnFullScreenButton
void OnFullScreenButton(bool checked)
QmitkRenderWindowMenu::AutoRotateNextStep
void AutoRotateNextStep()
QmitkRenderWindowMenu::CreateMenuWidget
void CreateMenuWidget()
QmitkRenderWindowMenu::~QmitkRenderWindowMenu
~QmitkRenderWindowMenu() override
QmitkRenderWindowMenu::Crosshair3DVisibilityChanged
void Crosshair3DVisibilityChanged(bool)
QmitkRenderWindowMenu::OnCrosshairMenuAboutToShow
void OnCrosshairMenuAboutToShow()
QmitkRenderWindowMenu::HideMenu
void HideMenu()
QmitkRenderWindowMenu::m_DefaultLayoutAction
QAction * m_DefaultLayoutAction
Definition:
QmitkRenderWindowMenu.h:162
QmitkRenderWindowMenu::ResetView
void ResetView()
QmitkRenderWindowMenu::m_CrosshairModeButton
QToolButton * m_CrosshairModeButton
Definition:
QmitkRenderWindowMenu.h:156
QmitkRenderWindowMenu::m_AllVerticalLayoutAction
QAction * m_AllVerticalLayoutAction
Definition:
QmitkRenderWindowMenu.h:171
QmitkRenderWindowMenu::paintEvent
void paintEvent(QPaintEvent *event) override
QmitkRenderWindowMenu::OnTSNumChanged
void OnTSNumChanged(int)
QmitkRenderWindowMenu::GetLayoutIndex
LayoutIndex GetLayoutIndex()
Definition:
QmitkRenderWindowMenu.h:79
QmitkRenderWindowMenu::SetLayoutIndex
void SetLayoutIndex(LayoutIndex layoutIndex)
QmitkRenderWindowMenu::OnCrosshair3DVisibilityChanged
void OnCrosshair3DVisibilityChanged(bool)
QmitkRenderWindowMenu::UpdateCrosshairRotationMode
void UpdateCrosshairRotationMode(int mode)
QmitkRenderWindowMenu::ShowMenu
void ShowMenu()
QmitkRenderWindowMenu::m_RemoveOneLayoutAction
QAction * m_RemoveOneLayoutAction
Definition:
QmitkRenderWindowMenu.h:172
QmitkRenderWindowMenu::GetSettingsMenuVisibilty
bool GetSettingsMenuVisibilty()
Definition:
QmitkRenderWindowMenu.h:67
QmitkRenderWindowMenu::LayoutDesignChanged
void LayoutDesignChanged(LayoutDesign layoutDesign)
QmitkRenderWindowMenu::m_OneBigLayoutAction
QAction * m_OneBigLayoutAction
Definition:
QmitkRenderWindowMenu.h:165
QmitkRenderWindowMenu::m_LayoutDesignButton
QToolButton * m_LayoutDesignButton
Definition:
QmitkRenderWindowMenu.h:160
QmitkRenderWindowMenu::m_FullScreenButton
QToolButton * m_FullScreenButton
Definition:
QmitkRenderWindowMenu.h:158
QmitkRenderWindowMenu::UpdateCrosshair3DVisibility
void UpdateCrosshair3DVisibility(bool visible)
mitk::BaseRenderer
Organizes the rendering process.
Definition:
mitkBaseRenderer.h:67
mitkBaseRenderer.h
mitk::AnatomicalPlane
AnatomicalPlane
Enumeration of standard anatomical image planes.
Definition:
mitkAnatomicalPlanes.h:24
src
MITK
Modules
QtWidgets
include
QmitkRenderWindowMenu.h
Generated by
1.9.1