35 #ifndef OPENMS_VISUAL_SPECTRUM1DCANVAS_H
36 #define OPENMS_VISUAL_SPECTRUM1DCANVAS_H
91 DrawModes getDrawMode()
const;
94 void setDrawMode(DrawModes mode);
97 virtual void showCurrentLayerPreferences();
100 virtual void saveCurrentLayer(
bool visible);
103 bool flippedLayersExist();
106 void flipLayer(
Size index);
109 bool mirrorModeActive();
112 void setMirrorModeActive(
bool b);
115 void dataToWidget(
const PeakType & peak, QPoint & point,
bool flipped =
false,
bool percentage =
true);
118 void dataToWidget(
DoubleReal x,
DoubleReal y, QPoint & point,
bool flipped =
false,
bool percentage =
false);
121 PointType widgetToData(
const QPoint & pos,
bool percentage =
false);
132 void drawAnnotations(
Size layer_index, QPainter & painter);
137 void performAlignment(
Size layer_index_1,
Size layer_index_2,
const Param & param);
140 void resetAlignment();
143 void drawAlignment(QPainter & painter);
146 Size getAlignmentSize();
152 std::vector<std::pair<Size, Size> > getAlignedPeaksIndices();
155 void activateSpectrum(
Size index,
bool repaint =
true);
158 void setSwappedAxis(
bool swapped);
161 void setCurrentLayerPeakPenStyle(Qt::PenStyle ps);
164 void paint(QPainter * paint_device, QPaintEvent * e);
167 void showCurrentPeaksAs2D();
169 void showCurrentPeaksAs3D();
173 void activateLayer(
Size layer_index);
175 void removeLayer(
Size layer_index);
177 virtual void updateLayer(
Size i);
187 virtual void horizontalScrollBarChange(
int value);
192 void currentLayerParamtersChanged_();
196 bool finishAdding_();
199 void drawCoordinates_(QPainter & painter,
const PeakIndex & peak);
208 void changeVisibleArea_(
double lo,
double hi,
bool repaint =
true,
bool add_to_stack =
false);
211 void drawHighlightedPeak_(
Size layer_index,
const PeakIndex & peak, QPainter & painter,
bool draw_elongation =
false);
214 void drawDashedLine_(
const QPoint & from,
const QPoint & to, QPainter & painter);
217 void updatePercentageFactor_(
Size layer_index);
229 virtual void changeVisibleArea_(
const AreaType & new_area,
bool repaint =
true,
bool add_to_stack =
false);
231 virtual void recalculateSnapFactor_();
233 virtual void updateScrollbars_();
235 virtual void intensityModeChange_();
270 void addUserLabelAnnotation_(
const QPoint & screen_position);
272 void addLabelAnnotation_(
const QPoint & screen_position, QString label_text);
274 void addUserPeakAnnotation_(
PeakIndex near_peak);
277 void ensureAnnotationsWithinDataRange_();
281 void paintEvent(QPaintEvent * e);
282 void mousePressEvent(QMouseEvent * e);
283 void mouseReleaseEvent(QMouseEvent * e);
284 void mouseMoveEvent(QMouseEvent * e);
285 void keyPressEvent(QKeyEvent * e);
286 void contextMenuEvent(QContextMenuEvent * e);
290 virtual void zoomForward_();
292 virtual void zoom_(
int x,
int y,
bool zoom_in);
294 virtual void translateLeft_();
296 virtual void translateRight_();
298 virtual void paintGridLines_(QPainter & painter);
An abstract class acting as an interface for the different 1D annotation items.
Definition: Annotation1DItem.h:60
bool moving_annotations_
Indicates whether annotation items are just being moved on the canvas.
Definition: Spectrum1DCanvas.h:248
std::vector< DrawModes > draw_modes_
Draw modes (for each spectrum)
Definition: Spectrum1DCanvas.h:238
Size alignment_layer_2_
Layer index of the second alignment layer.
Definition: Spectrum1DCanvas.h:255
LabelMode
Label modes (percentage or absolut) of x axis and y axis.
Definition: Spectrum1DCanvas.h:70
DrawModes
Enumerate all avaiable paint styles.
Definition: Spectrum1DCanvas.h:84
A 2-dimensional raw data point or peak.
Definition: Peak2D.h:55
Definition: Spectrum1DCanvas.h:86
Definition: Spectrum1DCanvas.h:72
Base class for visualization canvas classes.
Definition: SpectrumCanvas.h:94
std::vector< Qt::PenStyle > peak_penstyle_
Draw style.
Definition: Spectrum1DCanvas.h:240
bool is_swapped_
is this widget showing data with swapped m/z and RT axis? (for drawCoordinates_ only) ...
Definition: Spectrum1DCanvas.h:264
bool show_alignment_
Indicates whether an alignment is currently visualized.
Definition: Spectrum1DCanvas.h:251
Size alignment_layer_1_
Layer index of the first alignment layer.
Definition: Spectrum1DCanvas.h:253
bool mirror_mode_
Indicates whether this widget is currently in mirror mode.
Definition: Spectrum1DCanvas.h:245
Canvas for visualization of one or several spectra.
Definition: Spectrum1DCanvas.h:63
Management and storage of parameters / INI files.
Definition: Param.h:69
Definition: Spectrum1DCanvas.h:74
QPoint measurement_start_point_
start point of "ruler" for measure mode
Definition: Spectrum1DCanvas.h:243
DoubleReal alignment_score_
Stores the score of the last alignment.
Definition: Spectrum1DCanvas.h:262
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:144
std::vector< std::pair< DoubleReal, DoubleReal > > aligned_peaks_mz_delta_
Stores the alignment as MZ values of pairs of aligned peaks in both spectra.
Definition: Spectrum1DCanvas.h:257
std::vector< std::pair< Size, Size > > aligned_peaks_indices_
Stores the peak indizes of pairs of aligned peaks in both spectra.
Definition: Spectrum1DCanvas.h:259
Definition: Spectrum1DCanvas.h:73
Index of a peak or feature.
Definition: PeakIndex.h:51