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

Method contextMenuEvent

src/openms_gui/source/VISUAL/LayerListView.cpp:136–186  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

134 }
135 }
136 void LayerListView::contextMenuEvent(QContextMenuEvent* event)
137 {
138 QListWidgetItem* item = this->itemAt(event->pos());
139 if (!item)
140 {
141 return;
142 }
143 int layer_idx = this->row(item);
144 QMenu* context_menu = new QMenu(this);
145
146 context_menu->addAction("Rename", [&]() {
147 QString name = QInputDialog::getText(this, "Rename layer", "Name:", QLineEdit::Normal, spectrum_widget_->canvas()->getLayerName(layer_idx).toQString());
148 if (name != "")
149 {
150 spectrum_widget_->canvas()->setLayerName(layer_idx, name);
151 emit layerDataChanged();
152 }});
153
154 context_menu->addAction("Delete", [&]() {
155 spectrum_widget_->canvas()->removeLayer(layer_idx);
156 emit layerDataChanged();
157 });
158
159 auto widget1D = qobject_cast<Plot1DWidget*>(spectrum_widget_);
160 if (widget1D != nullptr)
161 {
162 if (widget1D->canvas()->getLayer(layer_idx).flipped)
163 {
164 context_menu->addAction("Flip upwards (1D)", [&]() {
165 widget1D->canvas()->flipLayer(layer_idx);
166 widget1D->canvas()->setMirrorModeActive(widget1D->canvas()->flippedLayersExist());
167 });
168 emit layerDataChanged();
169 }
170 else
171 {
172 context_menu->addAction("Flip downwards (1D)", [&]() {
173 widget1D->canvas()->flipLayer(layer_idx);
174 widget1D->canvas()->setMirrorModeActive(true);
175 });
176 emit layerDataChanged();
177 }
178 }
179
180 context_menu->addSeparator();
181 context_menu->addAction("Preferences", [&]() {
182 spectrum_widget_->canvas()->showCurrentLayerPreferences();
183 });
184
185 context_menu->exec(this->mapToGlobal(event->pos()));
186 }
187
188 void LayerListView::itemDoubleClickedAction_(QListWidgetItem* /*item*/)
189 {

Callers

nothing calls this directly

Calls 11

posMethod · 0.80
rowMethod · 0.80
getLayerNameMethod · 0.80
setLayerNameMethod · 0.80
getLayerMethod · 0.80
flipLayerMethod · 0.80
setMirrorModeActiveMethod · 0.80
flippedLayersExistMethod · 0.80
toQStringMethod · 0.45
removeLayerMethod · 0.45

Tested by

no test coverage detected