MCPcopy Create free account
hub / github.com/OpenMS/OpenMS / contextMenuEvent

Method contextMenuEvent

src/openms_gui/source/VISUAL/Plot3DCanvas.cpp:212–282  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

210 }
211
212 void Plot3DCanvas::contextMenuEvent(QContextMenuEvent * e)
213 {
214 //Abort of there are no layers
215 if (layers_.empty())
216 {
217 return;
218 }
219 QMenu * context_menu = new QMenu(this);
220 QAction * result = nullptr;
221
222 //Display name and warn if current layer invisible
223 String layer_name = String("Layer: ") + getCurrentLayer().getName();
224 if (!getCurrentLayer().visible)
225 {
226 layer_name += " (invisible)";
227 }
228 context_menu->addAction(layer_name.toQString())->setEnabled(false);
229 context_menu->addSeparator();
230 context_menu->addAction("Layer meta data");
231
232 QMenu * save_menu = new QMenu("Save");
233 context_menu->addMenu(save_menu);
234 save_menu->addAction("Layer");
235 save_menu->addAction("Visible layer data");
236
237 QMenu * settings_menu = new QMenu("Settings");
238 context_menu->addMenu(settings_menu);
239 settings_menu->addAction("Show/hide grid lines");
240 settings_menu->addAction("Show/hide axis legends");
241 settings_menu->addSeparator();
242 settings_menu->addAction("Preferences");
243
244 context_menu->addAction("Switch to 2D view");
245
246 //add external context menu
247 if (context_add_)
248 {
249 context_menu->addSeparator();
250 context_menu->addMenu(context_add_);
251 }
252
253 //evaluate menu
254 if ((result = context_menu->exec(mapToGlobal(e->pos()))))
255 {
256 if (result->text() == "Preferences")
257 {
258 showCurrentLayerPreferences();
259 }
260 else if (result->text() == "Show/hide grid lines")
261 {
262 showGridLines(!gridLinesShown());
263 }
264 else if (result->text() == "Show/hide axis legends")
265 {
266 emit changeLegendVisibility();
267 }
268 else if (result->text() == "Layer" || result->text() == "Visible layer data")
269 {

Callers

nothing calls this directly

Calls 6

gridLinesShownFunction · 0.85
posMethod · 0.80
StringClass · 0.50
emptyMethod · 0.45
getNameMethod · 0.45
toQStringMethod · 0.45

Tested by

no test coverage detected