OpenMS
Loading...
Searching...
No Matches
PlotCanvas.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Timo Sachsenberg $
6// $Authors: Marc Sturm $
7// --------------------------------------------------------------------------
8
9#pragma once
10
11// OpenMS_GUI config
12#include <OpenMS/VISUAL/OpenMS_GUIConfig.h>
13
14//OpenMS
22
23//QT
24#include <QtWidgets>
25#include <QRubberBand>
26
27class QWheelEvent;
28class QKeyEvent;
29class QMouseEvent;
30class QFocusEvent;
31class QMenu;
32
33//STL
34#include <stack>
35#include <vector>
36
37namespace OpenMS
38{
39 class PlotWidget;
40 class LayerDataChrom;
41 class LayerDataPeak;
42 class LayerDataFeature;
43 class LayerDataConsensus;
44
45 using LayerDataBaseUPtr = std::unique_ptr<LayerDataBase>;
46 using LayerDataChromUPtr = std::unique_ptr<LayerDataChrom>;
47 using LayerDataPeakUPtr = std::unique_ptr<LayerDataPeak>;
48 using LayerDataFeatureUPtr = std::unique_ptr<LayerDataFeature>;
49 using LayerDataConsensusUPtr = std::unique_ptr<LayerDataConsensus>;
50
57 {
58 public:
61 void addLayer(LayerDataBaseUPtr new_layer);
62
63 const LayerDataBase& getLayer(const Size index) const;
64
66
68
70
72 void setCurrentLayer(Size index);
73
75
76 bool empty() const;
77
79
80 void removeLayer(Size layer_index);
81
83
84 protected:
85 std::vector<LayerDataBaseUPtr> layers_;
86 private:
88 };
89
119 class OPENMS_GUI_DLLAPI PlotCanvas : public QWidget, public DefaultParamHandler
120 {
121 Q_OBJECT
122
123 public:
126
141
150
155
158
162
164
166
169 {
172 AM_MEASURE
173 };
174
183
185
187 PlotCanvas(const Param& preferences, QWidget* parent = nullptr);
188
190 ~PlotCanvas() override;
191
199 inline void setPlotWidget(PlotWidget* widget)
200 {
201 spectrum_widget_ = widget;
202 }
203
210 inline PlotWidget* getPlotWidget() const
211 {
212 return spectrum_widget_;
213 }
214
221 inline Int getActionMode() const
222 {
223 return action_mode_;
224 }
225
234 {
235 return intensity_mode_;
236 }
237
248 {
249 intensity_mode_ = mod;
250 intensityModeChange_();
251 }
252
258 inline bool gridLinesShown() const
259 {
260 return show_grid_;
261 }
262
264 const LayerDataBase& getLayer(Size index) const
265 {
266 return layers_.getLayer(index);
267 }
270 {
271 return layers_.getLayer(index);
272 }
273
276 {
277 return layers_.getCurrentLayer();
278 }
281 {
282 return layers_.getCurrentLayer();
283 }
284
287 {
288 return layers_.getCurrentLayerIndex();
289 }
290
293 {
294 return getLayerFlag(layers_.getCurrentLayerIndex(), f);
295 }
296
299 {
300 setLayerFlag(layers_.getCurrentLayerIndex(), f, value);
301 }
302
305 {
306 return layers_.getLayer(layer).flags.test(f);
307 }
308
310 void setLayerFlag(Size layer, LayerDataBase::Flags f, bool value)
311 {
312 // abort if there are no layers
313 if (layers_.empty())
314 return;
315
316 layers_.getLayer(layer).flags.set(f, value);
317 update_buffer_ = true;
318 update();
319 }
320
322 {
323 // abort if there are no layers
324 if (layers_.empty())
325 return;
326 layers_.getCurrentLayer().label = label;
327 update_buffer_ = true;
328 update();
329 }
330
337 {
338 return visible_area_;
339 }
340
343 bool isVisible(const PointOnAxis& p) const
344 {
345 return visible_area_.getAreaXY().encloses(p);
346 }
347
351 {
352 int X_pixel_count = buffer_.width();
353 int Y_pixel_count = buffer_.height();
354 PixelArea area(&unit_mapper_);
355 area.setArea(AreaXYType(0, 0, X_pixel_count, Y_pixel_count));
356 return area;
357 }
358
362 virtual void initFilters(const DataFilters& filters);
363
367 virtual void setFilters(const DataFilters& filters);
368
376 inline Size getLayerCount() const
377 {
378 return layers_.getLayerCount();
379 }
380
382 virtual void activateLayer(Size layer_index) = 0;
384 virtual void removeLayer(Size layer_index) = 0;
385
388 {
389 for (Size i = getLayerCount(); i > 0; --i)
390 {
391 removeLayer(i - 1);
392 }
393 visible_area_.clear(); // reset visible area
394 }
395
397 bool addLayer(std::unique_ptr<LayerData1DBase> layer);
398
412 const String& filename = "",
413 const String& caption = "",
414 const bool use_noise_cutoff = false);
415
426 bool addChromLayer(const ExperimentSharedPtrType& map, ODExperimentSharedPtrType od_map, const String& filename = "", const String& caption = "");
427
428
438 bool addLayer(FeatureMapSharedPtrType map, const String& filename = "", const String& caption = "");
439
449 bool addLayer(ConsensusMapSharedPtrType map, const String& filename = "", const String& caption = "");
451
463 bool addLayer(PeptideIdentificationList& peptides, const String& filename = "", const String& caption = "");
464
466 inline float getCurrentMinIntensity() const
467 {
468 return layers_.getCurrentLayer().getMinIntensity();
469 }
470
472 inline float getCurrentMaxIntensity() const
473 {
474 return layers_.getCurrentLayer().getMaxIntensity();
475 }
476
478 inline float getMinIntensity(Size index) const
479 {
480 return getLayer(index).getMinIntensity();
481 }
482
484 inline float getMaxIntensity(Size index) const
485 {
486 return getLayer(index).getMaxIntensity();
487 }
488
490 void setLayerName(Size i, const String& name);
491
494
496 inline void setCurrentLayerParameters(const Param& param)
497 {
498 getCurrentLayer().param = param;
499 emit preferencesChange();
500 }
501
507 virtual const RangeType& getDataRange() const;
508
515
517 double getPercentageFactor() const;
518
520 virtual void showCurrentLayerPreferences() = 0;
521
528 virtual void showMetaData(bool modifiable = false, Int index = -1);
529
530 public slots:
531
538 void changeVisibility(Size i, bool b);
539
547
554 void showGridLines(bool show);
555
563 virtual void resetZoom(bool repaint = true);
564
572 void setVisibleArea(const VisibleArea& area);
573
581 void setVisibleArea(const RangeAllType& area);
582
590 void setVisibleArea(const AreaXYType& area);
591
597 void setVisibleAreaX(double min, double max);
598
604 void setVisibleAreaY(double min, double max);
605
611 void saveCurrentLayer(bool visible);
612
618 virtual void horizontalScrollBarChange(int value);
619
625 virtual void verticalScrollBarChange(int value);
626
628 void setAdditionalContextMenu(QMenu * menu);
629
631 virtual void updateLayer(Size i) = 0;
632
633
639 {
640 return AreaXYType({0, 0}, {(float)width(), (float)height()});
641 }
642
647 const DimMapper<2>& getMapper() const;
648
653 void setMapper(const DimMapper<2>& mapper);
654
655 signals:
657 void layerModficationChange(Size layer, bool modified);
658
661
664
672
674 void sendCursorStatus(const String& x_value, const String& y_value);
675
677 void sendStatusMessage(std::string message, OpenMS::UInt time);
678
681
683 void updateVScrollbar(float f_min, float disp_min, float disp_max, float f_max);
684
686 void updateHScrollbar(float f_min, float disp_min, float disp_max, float f_max);
687
690
693
696
697protected slots:
698
701
702protected:
703
705 void drawText_(QPainter & painter, const QStringList& text);
706
708 double getIdentificationMZ_(const Size layer_index,
709 const PeptideIdentification & peptide) const;
710
712 virtual bool finishAdding_() = 0;
713
716 void popIncompleteLayer_(const QString& error_message = "");
717
719
720 void resizeEvent(QResizeEvent * e) override;
721 void wheelEvent(QWheelEvent * e) override;
722 void keyPressEvent(QKeyEvent * e) override;
723 void keyReleaseEvent(QKeyEvent * e) override;
724 void focusOutEvent(QFocusEvent * e) override;
725 void leaveEvent(QEvent * e) override;
726 void enterEvent(QEnterEvent * e) override;
728
730 virtual void intensityModeChange_();
731
734
745 virtual void changeVisibleArea_(VisibleArea new_area, bool repaint = true, bool add_to_stack = false);
746
753
755
756
757 virtual void zoom_(int x, int y, bool zoom_in);
759 void zoomBack_();
761 virtual void zoomForward_();
763 void zoomAdd_(const VisibleArea& area);
767
769
770
771 virtual void translateLeft_(Qt::KeyboardModifiers m);
773 virtual void translateRight_(Qt::KeyboardModifiers m);
775 virtual void translateForward_();
777 virtual void translateBackward_();
779
785 virtual void updateScrollbars_();
786
796 inline PointXYType widgetToData_(double x, double y)
797 {
798 const auto& xy = visible_area_.getAreaXY();
799 return PointXYType(
800 xy.minX() + x / width() * xy.width(),
801 xy.minY() + (height() - y) / height() * xy.height()
802 );
803 }
804
806 inline PointXYType widgetToData_(const QPoint& pos)
807 {
808 return widgetToData_(pos.x(), pos.y());
809 }
810
812 virtual void paintGridLines_(QPainter & painter);
813
815 QImage buffer_;
816
819
821 ActionModes action_mode_ = AM_TRANSLATE;
822
824 IntensityModes intensity_mode_ = IM_NONE;
825
828
836
842 virtual void recalculateRanges_();
843
848
850 bool show_grid_ = true;
851
853 std::vector<VisibleArea> zoom_stack_;
855 std::vector<VisibleArea>::iterator zoom_pos_ = zoom_stack_.end();
856
866 virtual void update_(const char* caller_name);
867
869 void modificationStatus_(Size layer_index, bool modified);
870
872 bool update_buffer_ = false;
873
875 PlotWidget* spectrum_widget_ = nullptr;
876
879
886 double percentage_factor_ = 1.0;
887
895 std::vector<double> snap_factors_;
896
898 QRubberBand rubber_band_;
899
901 QMenu* context_add_ = nullptr;
902
904 bool show_timing_ = false;
905
910
913 {
914 std::set<DataProcessing::ProcessingAction> actions;
915 actions.insert(action);
916
917 DataProcessingPtr p = std::shared_ptr<DataProcessing>(new DataProcessing);
918 //actions
919 p->setProcessingActions(actions);
920 //software
921 p->getSoftware().setName("PlotCanvas");
922 //version
923 p->getSoftware().setVersion(VersionInfo::getVersion());
924 //time
925 p->setCompletionTime(DateTime::now());
926
927 for (Size i = 0; i < map.size(); ++i)
928 {
929 map[i].getDataProcessing().push_back(p);
930 }
931 }
932
933 };
934}
Class for storing MS run data with peptide and protein identifications.
Definition AnnotatedMSRun.h:38
const Area & setArea(const RangeAllType &data)
Set the area using unit data (RT, m/z, ...)
Definition DimMapper.h:891
A container for consensus elements.
Definition ConsensusMap.h:68
Representation of a coordinate in D-dimensional space.
Definition DPosition.h:32
DataFilter array providing some convenience functions.
Definition DataFilters.h:27
Description of the applied preprocessing steps.
Definition DataProcessing.h:28
ProcessingAction
Definition DataProcessing.h:34
A base class for all classes handling default parameters.
Definition DefaultParamHandler.h:66
Allows dynamical switching (at runtime) between a dimension (RT, m/z, int, IM, etc) and X,...
Definition DimMapper.h:662
A container for features.
Definition FeatureMap.h:82
Class that stores the data for one layer.
Definition LayerDataBase.h:170
Definition PlotCanvas.h:57
LayerDataBase & getLayer(const Size index)
Size getLayerCount() const
Size getCurrentLayerIndex() const
Size current_layer_
Definition PlotCanvas.h:87
bool empty() const
void removeLayer(Size layer_index)
const LayerDataBase & getLayer(const Size index) const
void setCurrentLayer(Size index)
throws Exception::IndexOverflow unless index is smaller than getLayerCount()
void addLayer(LayerDataBaseUPtr new_layer)
LayerDataBase & getCurrentLayer()
const LayerDataBase & getCurrentLayer() const
std::vector< LayerDataBaseUPtr > layers_
Definition PlotCanvas.h:85
In-Memory representation of a mass spectrometry run.
Definition MSExperiment.h:49
Size size() const noexcept
The number of spectra.
The representation of a 1D spectrum.
Definition MSSpectrum.h:44
ContainerType::const_iterator ConstIterator
Non-mutable iterator.
Definition MSSpectrum.h:120
Management and storage of parameters / INI files.
Definition Param.h:46
A 1-dimensional raw data point or peak.
Definition Peak1D.h:30
Container for peptide identifications from multiple spectra.
Definition PeptideIdentificationList.h:66
Represents the set of candidates (SpectrumMatches) identified for a single precursor spectrum.
Definition PeptideIdentification.h:64
Base class for visualization canvas classes.
Definition PlotCanvas.h:120
void setVisibleAreaX(double min, double max)
Set only the visible area for the x axis; other axes are untouched.
virtual void translateBackward_()
Translation bound to the 'Down' key.
float getMaxIntensity(Size index) const
Returns the maximum intensity of the layer with index index.
Definition PlotCanvas.h:484
virtual const RangeType & getDataRange() const
Returns the area which encloses all data points of all layers.
float getMinIntensity(Size index) const
Returns the minimum intensity of the layer with index index.
Definition PlotCanvas.h:478
float getCurrentMinIntensity() const
Returns the minimum intensity of the active layer.
Definition PlotCanvas.h:466
virtual void initFilters(const DataFilters &filters)
Sets filters, but does not repaint (useful when setting up a new layer)
void addDataProcessing_(PeakMap &map, DataProcessing::ProcessingAction action) const
Data processing setter for peak maps.
Definition PlotCanvas.h:912
void layerActivated(QWidget *w)
Signal emitted whenever a new layer is activated within the current window.
void setLayerName(Size i, const String &name)
Sets the name of layer i.
~PlotCanvas() override
Destructor.
std::vector< VisibleArea > zoom_stack_
The zoom stack.
Definition PlotCanvas.h:853
LayerStack layers_
Layer data.
Definition PlotCanvas.h:827
virtual void recalculateRanges_()
Recalculates the overall_data_range_.
std::vector< double > snap_factors_
Intensity scaling factor for 'snap to maximum intensity mode'.
Definition PlotCanvas.h:895
double getIdentificationMZ_(const Size layer_index, const PeptideIdentification &peptide) const
Returns the m/z value of an identification depending on the m/z source of the layer (precursor mass/t...
PlotCanvas(const Param &preferences, QWidget *parent=nullptr)
Default constructor.
LayerDataBase::ConstExperimentSharedPtrType ConstExperimentSharedPtrType
Definition PlotCanvas.h:131
String getLayerName(Size i)
Gets the name of layer i.
virtual void horizontalScrollBarChange(int value)
Notifies the canvas that the horizontal scrollbar has been moved.
SpectrumType::PeakType PeakType
Peak type.
Definition PlotCanvas.h:147
QImage buffer_
Buffer that stores the actual peak information.
Definition PlotCanvas.h:815
void setMapper(const DimMapper< 2 > &mapper)
Set a new mapper for the canvas.
DimMapper< 2 > unit_mapper_
Mapper for X and Y axis.
Definition PlotCanvas.h:818
PeakIndex selected_peak_
selected peak
Definition PlotCanvas.h:907
double getPercentageFactor() const
Returns the percentage factor.
void setIntensityMode(IntensityModes mod)
Sets the intensity mode.
Definition PlotCanvas.h:247
RangeType overall_data_range_
Stores the data range (m/z, RT and intensity) of all layers.
Definition PlotCanvas.h:847
void recalculateAxes()
Forces recalculation of axis ticks in the connected widget.
bool addLayer(PeptideIdentificationList &peptides, const String &filename="", const String &caption="")
Add an identification data layer.
LayerDataBase::ConsensusMapSharedPtrType ConsensusMapSharedPtrType
Main managed data type (consensus features)
Definition PlotCanvas.h:140
Size getLayerCount() const
Returns the number of layers.
Definition PlotCanvas.h:376
virtual void updateLayer(Size i)=0
Updates layer i when the data in the corresponding file changes.
bool gridLinesShown() const
Returns if the grid is currently shown.
Definition PlotCanvas.h:258
void setVisibleArea(const VisibleArea &area)
Sets the visible area.
SpectrumType::ConstIterator SpectrumConstIteratorType
Spectrum iterator type (iterates over peaks)
Definition PlotCanvas.h:145
LayerDataBase::FeatureMapSharedPtrType FeatureMapSharedPtrType
Main managed data type (features)
Definition PlotCanvas.h:136
virtual void updateScrollbars_()
Updates the scroll bars.
Size getCurrentLayerIndex() const
returns the index of the active layer
Definition PlotCanvas.h:286
void setLabel(LayerDataBase::LabelType label)
Definition PlotCanvas.h:321
Int getActionMode() const
Returns the action mode.
Definition PlotCanvas.h:221
void setVisibleAreaY(double min, double max)
Set only the visible area for the y axis; other axes are untouched.
virtual void activateLayer(Size layer_index)=0
change the active layer (the one that is used for selecting and so on)
void updateCursor_()
Updates the cursor according to the current action mode.
void sendCursorStatus(const String &x_value, const String &y_value)
Emitted when the cursor position changes (for displaying e.g. in status bar)
virtual void removeLayer(Size layer_index)=0
removes the layer with index layer_index
virtual void verticalScrollBarChange(int value)
Notifies the canvas that the vertical scrollbar has been moved.
void actionModeChange()
Emitted when the action mode changes.
void leaveEvent(QEvent *e) override
void zoomClear_()
Clears the zoom stack and invalidates the current zoom position. After calling this,...
void keyReleaseEvent(QKeyEvent *e) override
void drawText_(QPainter &painter, const QStringList &text)
Draws several lines of text to the upper right corner of the widget.
ExperimentType::SpectrumType SpectrumType
Spectrum type.
Definition PlotCanvas.h:143
virtual void showMetaData(bool modifiable=false, Int index=-1)
Shows a dialog with the meta data.
virtual void paintGridLines_(QPainter &painter)
Helper function to paint grid lines.
PointXYType widgetToData_(double x, double y)
Convert widget (pixel) to chart (unit) coordinates.
Definition PlotCanvas.h:796
void keyPressEvent(QKeyEvent *e) override
void setLayerFlag(LayerDataBase::Flags f, bool value)
sets a layer flag of the current layer
Definition PlotCanvas.h:298
virtual void zoomForward_()
Go forward in zoom history.
void setAdditionalContextMenu(QMenu *menu)
Sets the additional context menu. If not 0, this menu is added to the context menu of the canvas.
Area< 2 >::AreaXYType AreaXYType
The range of data shown on the X and Y axis (unit depends on runtime config)
Definition PlotCanvas.h:152
void changeVisibility(Size i, bool b)
change the visibility of a layer
bool getLayerFlag(Size layer, LayerDataBase::Flags f) const
returns a layer flag of the layer layer
Definition PlotCanvas.h:304
PixelArea getPixelRange() const
Definition PlotCanvas.h:350
PointXYType widgetToData_(const QPoint &pos)
Calls widgetToData_ with x and y position of pos.
Definition PlotCanvas.h:806
void wheelEvent(QWheelEvent *e) override
void focusOutEvent(QFocusEvent *e) override
void visibleAreaChanged(const VisibleArea &area)
Change of the visible area.
void modificationStatus_(Size layer_index, bool modified)
Takes all actions necessary when the modification status of a layer changes (signals etc....
bool addLayer(FeatureMapSharedPtrType map, const String &filename="", const String &caption="")
Add a feature data layer.
virtual void translateForward_()
Translation bound to the 'Up' key.
LayerDataBase & getLayer(Size index)
returns the layer data with index index
Definition PlotCanvas.h:269
const DimMapper< 2 > & getMapper() const
Get Mapper to translate between values for axis (X/Y) and units (m/z, RT, intensity,...
void zoomBack_()
Go backward in zoom history.
IntensityModes
Display modes of intensity.
Definition PlotCanvas.h:177
@ IM_NONE
Normal mode: f(x)=x; y-axis shows the maximum of all layers, no scaling.
Definition PlotCanvas.h:178
@ IM_SNAP
Shows the maximum displayed intensity (across all layers) as if it was the overall maximum intensity.
Definition PlotCanvas.h:180
@ IM_PERCENTAGE
Shows intensities normalized by each layer's maximum: f(x)=x/max(x)*100.
Definition PlotCanvas.h:179
LayerDataBase::FeatureMapType FeatureMapType
Main data type (features)
Definition PlotCanvas.h:134
float getCurrentMaxIntensity() const
Returns the maximum intensity of the active layer.
Definition PlotCanvas.h:472
void saveCurrentLayer(bool visible)
Saves the current layer data.
AreaXYType canvasPixelArea() const
Get the Area in pixel coordinates of the current canvas for X and Y axis.
Definition PlotCanvas.h:638
virtual void setFilters(const DataFilters &filters)
Sets the filters applied to the data; and redraws.
void changeLayerFilterState(Size i, bool b)
change if the defined data filters are used
LayerDataBase & getCurrentLayer()
returns the layer data of the active layer
Definition PlotCanvas.h:280
void layerModficationChange(Size layer, bool modified)
Signal emitted whenever the modification status of a layer changes (editing and storing)
virtual void translateRight_(Qt::KeyboardModifiers m)
Translation bound to the 'Right' key.
void setCurrentLayerParameters(const Param &param)
Sets the parameters of the current layer.
Definition PlotCanvas.h:496
void updateHScrollbar(float f_min, float disp_min, float disp_max, float f_max)
Triggers the update of the horizontal scrollbar.
void sendStatusMessage(std::string message, OpenMS::UInt time)
Emits a status message that should be displayed for time ms. If time is 0 the message should be displ...
virtual void resetZoom(bool repaint=true)
Zooms fully out and resets the zoom stack.
void setVisibleArea(const AreaXYType &area)
Sets the visible area.
bool addLayer(std::unique_ptr< LayerData1DBase > layer)
Add an already constructed layer (e.g. for projections)
virtual void zoom_(int x, int y, bool zoom_in)
Zooms such that screen point x, y would still point to the same data point.
QPoint last_mouse_pos_
start position of mouse actions
Definition PlotCanvas.h:878
virtual void translateLeft_(Qt::KeyboardModifiers m)
Translation bound to the 'Left' key.
const LayerDataBase & getLayer(Size index) const
returns the layer data with index index
Definition PlotCanvas.h:264
double getSnapFactor()
Returns the first intensity scaling factor for 'snap to maximum intensity mode' (for the currently vi...
virtual bool finishAdding_()=0
Method that is called when a new layer has been added.
ActionModes
Mouse action modes.
Definition PlotCanvas.h:169
@ AM_ZOOM
zoom
Definition PlotCanvas.h:171
@ AM_TRANSLATE
translate
Definition PlotCanvas.h:170
PlotWidget * getPlotWidget() const
Returns the spectrum widget.
Definition PlotCanvas.h:210
bool addPeakLayer(const ExperimentSharedPtrType &map, ODExperimentSharedPtrType od_map, const String &filename="", const String &caption="", const bool use_noise_cutoff=false)
Add a peak data layer.
virtual void intensityModeChange_()
This method is called whenever the intensity mode changes. Reimplement if you need to react on such c...
virtual void changeVisibleArea_(VisibleArea new_area, bool repaint=true, bool add_to_stack=false)
Sets the visible area.
bool isVisible(const PointOnAxis &p) const
Definition PlotCanvas.h:343
void popIncompleteLayer_(const QString &error_message="")
void preferencesChange()
Emitted when the layer preferences have changed.
PeakIndex measurement_start_
start peak of measuring mode
Definition PlotCanvas.h:909
IntensityModes getIntensityMode() const
Returns the intensity mode.
Definition PlotCanvas.h:233
bool getLayerFlag(LayerDataBase::Flags f) const
returns a layer flag of the current layer
Definition PlotCanvas.h:292
void updateVScrollbar(float f_min, float disp_min, float disp_max, float f_max)
Triggers the update of the vertical scrollbar.
bool addLayer(ConsensusMapSharedPtrType map, const String &filename="", const String &caption="")
Add a consensus feature data layer.
void zoomAdd_(const VisibleArea &area)
Add a visible area to the zoom stack.
virtual void showCurrentLayerPreferences()=0
Shows the preferences dialog of the active layer.
void resizeEvent(QResizeEvent *e) override
QRubberBand rubber_band_
Rubber band for selected area.
Definition PlotCanvas.h:898
LayerDataBase::ConsensusMapType ConsensusMapType
Main data type (consensus features)
Definition PlotCanvas.h:138
DimMapper< 2 >::Point PointOnAxis
Definition PlotCanvas.h:165
LayerDataBase::ExperimentSharedPtrType ExperimentSharedPtrType
Main managed data type (experiment)
Definition PlotCanvas.h:130
bool addChromLayer(const ExperimentSharedPtrType &map, ODExperimentSharedPtrType od_map, const String &filename="", const String &caption="")
Add a chrom data layer.
void changeLegendVisibility()
Toggle axis legend visibility change.
void showGridLines(bool show)
Whether or not to show grid lines.
const LayerDataBase & getCurrentLayer() const
returns the layer data of the active layer
Definition PlotCanvas.h:275
void layerZoomChanged(QWidget *w)
Signal emitted whenever the zoom changed.
virtual void recalculateSnapFactor_()
Recalculates the intensity scaling factor for 'snap to maximum intensity mode'.
void removeLayers()
removes all layers by calling removeLayer() for all layer indices (from highest to lowest)
Definition PlotCanvas.h:387
LayerDataBase::ODExperimentSharedPtrType ODExperimentSharedPtrType
Definition PlotCanvas.h:132
void enterEvent(QEnterEvent *e) override
void dimensionsChanged_()
Call this whenever the DimMapper receives new dimensions; will update the axes and scrollbars.
VisibleArea visible_area_
Stores the currently visible area in data units (e.g. seconds, m/z, intensity etc) and axis (X,...
Definition PlotCanvas.h:835
virtual void update_(const char *caller_name)
Updates the displayed data.
const VisibleArea & getVisibleArea() const
Returns the currently visible area. This is the authority which determines the X and Y axis' scale.
Definition PlotCanvas.h:336
void setLayerFlag(Size layer, LayerDataBase::Flags f, bool value)
sets a layer flag of the layer layer
Definition PlotCanvas.h:310
void setVisibleArea(const RangeAllType &area)
Sets the visible area.
void setPlotWidget(PlotWidget *widget)
Sets the spectrum widget.
Definition PlotCanvas.h:199
LayerDataBase::ExperimentType ExperimentType
Main data type (experiment)
Definition PlotCanvas.h:128
Base class for spectrum widgets.
Definition PlotWidget.h:57
A more convenient string class.
Definition String.h:34
int Int
Signed integer type.
Definition Types.h:72
unsigned int UInt
Unsigned integer type.
Definition Types.h:64
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
std::unique_ptr< LayerDataChrom > LayerDataChromUPtr
Definition PlotCanvas.h:46
std::unique_ptr< LayerDataConsensus > LayerDataConsensusUPtr
Definition PlotCanvas.h:49
std::unique_ptr< LayerDataBase > LayerDataBaseUPtr
Definition PlotCanvas.h:45
std::shared_ptr< DataProcessing > DataProcessingPtr
Definition DataProcessing.h:123
std::unique_ptr< LayerDataFeature > LayerDataFeatureUPtr
Definition PlotCanvas.h:48
std::unique_ptr< LayerDataPeak > LayerDataPeakUPtr
Definition PlotCanvas.h:47
std::shared_ptr< ExperimentType > ExperimentSharedPtrType
SharedPtr on MSExperiment.
Definition LayerDataBase.h:127
std::shared_ptr< const ExperimentType > ConstExperimentSharedPtrType
Definition LayerDataBase.h:129
std::shared_ptr< ConsensusMap > ConsensusMapSharedPtrType
SharedPtr on consensus features.
Definition LayerDataBase.h:121
LabelType
Label used in visualization.
Definition LayerDataBase.h:99
std::shared_ptr< FeatureMap > FeatureMapSharedPtrType
SharedPtr on feature map.
Definition LayerDataBase.h:115
std::shared_ptr< OnDiscMSExperiment > ODExperimentSharedPtrType
SharedPtr on On-Disc MSExperiment.
Definition LayerDataBase.h:132
Flags
Flags that determine which information is shown.
Definition LayerDataBase.h:85
Index of a peak or feature.
Definition PeakIndex.h:25