Medical Imaging Interaction Toolkit  2025.12.02
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 
87 
91 
92  void ShowMenu();
93  void HideMenu();
94 
95 protected:
96 
98  void paintEvent(QPaintEvent *event) override;
99 
101 
104 
107 
108 Q_SIGNALS:
109 
110  void ResetView(); // == "global reinit"
111 
113 
114  // \brief int parameters are enum from QmitkStdMultiWidget
116 
118  void LayoutDesignChanged(LayoutDesign layoutDesign);
119 
120 protected Q_SLOTS:
121 
125 
129 
130  void OnTSNumChanged(int);
131 
135 
140  void OnFullScreenButton(bool checked);
141 
145  void OnLayoutDesignButton(bool checked);
146 
147  void OnSetLayout(LayoutDesign layoutDesign);
148 
149 protected:
150 
151  QToolButton* m_CrosshairModeButton;
152 
153  QToolButton* m_FullScreenButton;
154 
155  QToolButton* m_LayoutDesignButton;
168 
169  QLabel *m_TSLabel;
170 
172 
175 
176 private:
177 
178  mitk::BaseRenderer::Pointer m_Renderer;
179 
180  QTimer* m_AutoRotationTimer;
181 
182  QWidget *m_Parent;
183 
184  //memory because mode is set to default for slice num = 1
185  static unsigned int m_DefaultThickMode;
186 
187  int m_CrosshairRotationMode;
188  bool m_CrosshairVisibility;
189 
190  LayoutIndex m_Layout;
191  LayoutDesign m_LayoutDesign;
192  LayoutDesign m_OldLayoutDesign;
193 
194 };
195 
196 #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 OnCrosshairMenuAboutToShow()
void paintEvent(QPaintEvent *event) override
void SetLayoutIndex(LayoutIndex layoutIndex)
void UpdateCrosshairRotationMode(int mode)
void LayoutDesignChanged(LayoutDesign layoutDesign)