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>
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 
51 {
52  Q_OBJECT
53 
54 public:
55 
58 
59  QmitkRenderWindowMenu(QWidget *parent = nullptr,
60  Qt::WindowFlags f = {},
61  mitk::BaseRenderer *b = nullptr);
63 
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; }
83 
84  void UpdateCrosshairVisibility(bool visible);
85 
86  void UpdateCrosshair3DVisibility(bool visible);
87 
89 
93 
94  void ShowMenu();
95  void HideMenu();
96 
97 protected:
98 
100  void paintEvent(QPaintEvent *event) override;
101 
103 
106 
109 
110 Q_SIGNALS:
111 
112  void ResetView(); // == "global reinit"
113 
115 
117 
118  // \brief int parameters are enum from QmitkStdMultiWidget
120 
122  void LayoutDesignChanged(LayoutDesign layoutDesign);
123 
124 protected Q_SLOTS:
125 
129 
133 
134  void OnTSNumChanged(int);
135 
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;
173 
174  QLabel *m_TSLabel;
175 
177 
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
#define MITKQTWIDGETS_EXPORT
The QmitkRenderWindowMenu is a popup Widget which shows up when the mouse cursor enter a QmitkRenderW...
void CrosshairVisibilityChanged(bool)
void OnCrosshairRotationModeSelected(QAction *)
void UpdateCrosshairVisibility(bool visible)
void CrosshairRotationModeChanged(int)
QmitkRenderWindowMenu(QWidget *parent=nullptr, Qt::WindowFlags f={}, mitk::BaseRenderer *b=nullptr)
void OnLayoutDesignButton(bool checked)
void OnAutoRotationActionTriggered()
void OnCrosshairVisibilityChanged(bool)
void UpdateLayoutDesignList(LayoutDesign layoutDesign)
void OnSetLayout(LayoutDesign layoutDesign)
void OnFullScreenButton(bool checked)
~QmitkRenderWindowMenu() override
void Crosshair3DVisibilityChanged(bool)
void OnCrosshairMenuAboutToShow()
void paintEvent(QPaintEvent *event) override
void SetLayoutIndex(LayoutIndex layoutIndex)
void OnCrosshair3DVisibilityChanged(bool)
void UpdateCrosshairRotationMode(int mode)
void LayoutDesignChanged(LayoutDesign layoutDesign)
void UpdateCrosshair3DVisibility(bool visible)
Organizes the rendering process.
AnatomicalPlane
Enumeration of standard anatomical image planes.