MCPcopy Create free account
hub / github.com/MITK/MITK / OnPopupMenuTriggered

Method OnPopupMenuTriggered

Modules/FormsUI/src/QmitkScreenshotQuestionWidget.cpp:133–167  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

131}
132
133void QmitkScreenshotQuestionWidget::OnPopupMenuTriggered(const QString& action)
134{
135 // Create a uniquely named temporary file for storing the screenshot
136
137 QTemporaryFile file(QString("%1/screenshot_XXXXXX.png").arg(QDir::tempPath()));
138 file.setAutoRemove(false);
139
140 if (!file.open())
141 return;
142
143 fs::path fileName = file.fileName().toStdString();
144
145 // Get the renderer resp. render window matching the triggered action (e.g. "Axial")
146
147 auto renderer = GetRenderer(action);
148
149 if (renderer == nullptr)
150 return;
151
152 auto renderWindow = renderer->GetRenderWindow();
153
154 // Temporarily disable double buffering while taking the screenshot so it is not a frame behind
155
156 bool doubleBuffer = renderWindow->GetDoubleBuffer();
157 renderWindow->DoubleBufferOff();
158
159 TakeScreenshot(renderer->GetVtkRenderer(), fileName);
160
161 renderWindow->SetDoubleBuffer(doubleBuffer);
162
163 // Add the screenshot to both the question and its widget
164
165 m_Question->AddScreenshot(fileName);
166 this->AddScreenshotWidget(file.fileName());
167}
168
169void QmitkScreenshotQuestionWidget::AddScreenshotWidget(const QString& screenshotFileName)
170{

Callers 1

Calls 8

AddScreenshotWidgetMethod · 0.95
GetRendererFunction · 0.85
TakeScreenshotFunction · 0.85
AddScreenshotMethod · 0.80
QStringClass · 0.50
openMethod · 0.45
GetRenderWindowMethod · 0.45
GetVtkRendererMethod · 0.45

Tested by

no test coverage detected