libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::BasePlotContext Class Reference

#include <baseplotcontext.h>

Inheritance diagram for pappso::BasePlotContext:
pappso::MassSpecTracePlotContext

Public Member Functions

Q_INVOKABLE BasePlotContext (QObject *parent=nullptr)
virtual ~BasePlotContext ()
Q_INVOKABLE BasePlotContextclone (QObject *parent=nullptr)
Q_INVOKABLE void initialize (const BasePlotContext &other)
 BasePlotContext (const BasePlotContext &other)=delete
BasePlotContextoperator= (const BasePlotContext &other)=delete
void updateIntegrationScope ()
void updateIntegrationScopeRect ()
void updateIntegrationScopeRhomb ()
void updateIntegrationScopeRhombHorizontal ()
void updateIntegrationScopeRhombVertical ()
DragDirections recordDragDirections ()
Q_INVOKABLE QString toString () const
Q_INVOKABLE QString dragDirectionsToString () const

Static Public Member Functions

static void registerJsConstructor (QJSEngine *engine)

Public Attributes

Enums::DataKind m_dataKind = Enums::DataKind::unset
bool m_isMouseDragging = false
bool m_wasMouseDragging = false
bool m_isKeyBoardDragging = false
bool m_isLeftPseudoButtonKeyPressed = false
bool m_isRightPseudoButtonKeyPressed = false
bool m_wasKeyBoardDragging = false
QPointF m_startDragPoint
QPointF m_currentDragPoint
QPointF m_lastCursorHoveredPoint
DragDirections m_dragDirections = DragDirections::NOT_SET
IntegrationScopeBaseCstSPtr msp_integrationScope = nullptr
SelectionPolygon m_selectionPolygon
double m_integrationScopeRhombWidth = 0
double m_integrationScopeRhombHeight = 0
QCPRange m_xRange
QCPRange m_yRange
bool m_wasClickOnXAxis = false
bool m_wasClickOnYAxis = false
bool m_isMeasuringDistance = false
double m_xRegionRangeStart = std::numeric_limits<double>::min()
double m_xRegionRangeEnd = std::numeric_limits<double>::min()
double m_yRegionRangeStart = std::numeric_limits<double>::min()
double m_yRegionRangeEnd = std::numeric_limits<double>::min()
double m_xDelta = 0
double m_yDelta = 0
int m_pressedKeyCode
int m_releasedKeyCode
Qt::KeyboardModifiers m_keyboardModifiers
Qt::MouseButtons m_lastPressedMouseButton
Qt::MouseButtons m_lastReleasedMouseButton
Qt::MouseButtons m_pressedMouseButtons
Qt::MouseButtons m_mouseButtonsAtMousePress
Qt::MouseButtons m_mouseButtonsAtMouseRelease

Properties

bool isMouseDragging
bool wasMouseDragging
bool isKeyBoardDragging
bool isLeftPseudoButtonKeyPressed
bool isRightPseudoButtonKeyPressed
bool wasKeyBoardDragging
QPointF startDragPoint
QPointF currentDragPoint
QPointF lastCursorHoveredPoint
DragDirections dragDirections
double xRegionRangeStart
double xRegionRangeEnd
double yRegionRangeStart
double yRegionRangeEnd
double xDelta
double yDelta
double pressedKeyCode
double releasedKeyCode
Qt::KeyboardModifiers keyboardModifiers
Qt::MouseButtons lastPressedMouseButton
Qt::MouseButtons lastReleasedMouseButton
Qt::MouseButtons pressedMouseButtons
Qt::MouseButtons mouseButtonsAtMousePress
Qt::MouseButtons mouseButtonsAtMouseRelease

Detailed Description

Definition at line 52 of file baseplotcontext.h.

Constructor & Destructor Documentation

◆ BasePlotContext() [1/2]

pappso::BasePlotContext::BasePlotContext ( QObject * parent = nullptr)
explicit

Definition at line 38 of file baseplotcontext.cpp.

38 : QObject(parent)
39{
40 // So we know it is never nullptr.
41 msp_integrationScope = std::make_shared<IntegrationScopeBase>();
42}
IntegrationScopeBaseCstSPtr msp_integrationScope

References msp_integrationScope.

Referenced by BasePlotContext(), pappso::MassSpecTracePlotContext::MassSpecTracePlotContext(), clone(), initialize(), pappso::MassSpecTracePlotContext::initialize(), operator=(), and pappso::MassSpecTracePlotContext::operator=().

◆ ~BasePlotContext()

pappso::BasePlotContext::~BasePlotContext ( )
virtual

Definition at line 112 of file baseplotcontext.cpp.

113{
114}

◆ BasePlotContext() [2/2]

pappso::BasePlotContext::BasePlotContext ( const BasePlotContext & other)
delete

References BasePlotContext().

Member Function Documentation

◆ clone()

BasePlotContext * pappso::BasePlotContext::clone ( QObject * parent = nullptr)

Definition at line 117 of file baseplotcontext.cpp.

118{
119 BasePlotContext *copy_p = new BasePlotContext(parent);
120
121 // copy_p->m_dataKind = m_dataKind;
122
123 copy_p->m_isMouseDragging = m_isMouseDragging;
124 copy_p->m_wasMouseDragging = m_wasMouseDragging;
125 copy_p->m_dragDirections = m_dragDirections;
126
127 copy_p->m_isKeyBoardDragging = m_isKeyBoardDragging;
128 copy_p->m_isLeftPseudoButtonKeyPressed = m_isLeftPseudoButtonKeyPressed;
129 copy_p->m_isRightPseudoButtonKeyPressed = m_isRightPseudoButtonKeyPressed;
130 copy_p->m_wasKeyBoardDragging = m_wasKeyBoardDragging;
131
132 copy_p->m_startDragPoint = m_startDragPoint;
133 copy_p->m_currentDragPoint = m_currentDragPoint;
134 copy_p->m_lastCursorHoveredPoint = m_lastCursorHoveredPoint;
135
136 copy_p->m_selectionPolygon = m_selectionPolygon;
137 copy_p->msp_integrationScope = msp_integrationScope;
138 copy_p->m_integrationScopeRhombWidth = m_integrationScopeRhombWidth;
139 copy_p->m_integrationScopeRhombHeight = m_integrationScopeRhombHeight;
140
141 // The effective range of the axes.
142 copy_p->m_xRange = m_xRange;
143 copy_p->m_yRange = m_yRange;
144
145 // Tell if the mouse move was started onto either axis, because that will
146 // condition if some calculations needs to be performed or not (for example,
147 // if the mouse cursor motion was started on an axis, there is no point to
148 // perform deconvolutions).
149 copy_p->m_wasClickOnXAxis = m_wasClickOnXAxis;
150 copy_p->m_wasClickOnYAxis = m_wasClickOnYAxis;
151
152 copy_p->m_isMeasuringDistance = m_isMeasuringDistance;
153
154 // The user-selected region over the plot.
155 // Note that we cannot use QCPRange structures because these are normalized by
156 // QCustomPlot in such a manner that lower is actually < upper. But we need
157 // for a number of our calculations (specifically for the deconvolutions) to
158 // actually have the lower value be start drag point.x even if the drag
159 // direction was from right to left.
160 copy_p->m_xRegionRangeStart = m_xRegionRangeStart;
161 copy_p->m_xRegionRangeEnd = m_xRegionRangeEnd;
162
163 copy_p->m_yRegionRangeStart = m_yRegionRangeStart;
164 copy_p->m_yRegionRangeEnd = m_yRegionRangeEnd;
165
166 copy_p->m_xDelta = m_xDelta;
167 copy_p->m_yDelta = m_yDelta;
168
169 copy_p->m_pressedKeyCode = m_pressedKeyCode;
170 copy_p->m_releasedKeyCode = m_releasedKeyCode;
171
172 copy_p->m_keyboardModifiers = m_keyboardModifiers;
173
174 copy_p->m_lastPressedMouseButton = m_lastPressedMouseButton;
175 copy_p->m_lastReleasedMouseButton = m_lastReleasedMouseButton;
176
177 copy_p->m_pressedMouseButtons = m_pressedMouseButtons;
178
179 copy_p->m_mouseButtonsAtMousePress = m_mouseButtonsAtMousePress;
180 copy_p->m_mouseButtonsAtMouseRelease = m_mouseButtonsAtMouseRelease;
181
182 return copy_p;
183}
Qt::MouseButtons m_mouseButtonsAtMousePress
SelectionPolygon m_selectionPolygon
Q_INVOKABLE BasePlotContext(QObject *parent=nullptr)
Qt::KeyboardModifiers m_keyboardModifiers
Qt::MouseButtons m_lastPressedMouseButton
DragDirections m_dragDirections
Qt::MouseButtons m_pressedMouseButtons
Qt::MouseButtons m_mouseButtonsAtMouseRelease
Qt::MouseButtons m_lastReleasedMouseButton

References BasePlotContext(), m_currentDragPoint, m_dragDirections, m_integrationScopeRhombHeight, m_integrationScopeRhombWidth, m_isKeyBoardDragging, m_isLeftPseudoButtonKeyPressed, m_isMeasuringDistance, m_isMouseDragging, m_isRightPseudoButtonKeyPressed, m_keyboardModifiers, m_lastCursorHoveredPoint, m_lastPressedMouseButton, m_lastReleasedMouseButton, m_mouseButtonsAtMousePress, m_mouseButtonsAtMouseRelease, m_pressedKeyCode, m_pressedMouseButtons, m_releasedKeyCode, m_selectionPolygon, m_startDragPoint, m_wasClickOnXAxis, m_wasClickOnYAxis, m_wasKeyBoardDragging, m_wasMouseDragging, m_xDelta, m_xRange, m_xRegionRangeEnd, m_xRegionRangeStart, m_yDelta, m_yRange, m_yRegionRangeEnd, m_yRegionRangeStart, and msp_integrationScope.

◆ dragDirectionsToString()

QString pappso::BasePlotContext::dragDirectionsToString ( ) const

Definition at line 982 of file baseplotcontext.cpp.

983{
984 QString text;
985
986 // Document how the mouse cursor is being dragged.
988 {
989 if(static_cast<int>(m_dragDirections) &
990 static_cast<int>(DragDirections::LEFT_TO_RIGHT))
991 text += " -- dragging from left to right";
992 else if(static_cast<int>(m_dragDirections) &
993 static_cast<int>(DragDirections::RIGHT_TO_LEFT))
994 text += " -- dragging from right to left";
995 if(static_cast<int>(m_dragDirections) &
996 static_cast<int>(DragDirections::TOP_TO_BOTTOM))
997 text += " -- dragging from top to bottom";
998 if(static_cast<int>(m_dragDirections) &
999 static_cast<int>(DragDirections::BOTTOM_TO_TOP))
1000 text += " -- dragging from bottom to top";
1001 }
1002
1003 return text;
1004}

References pappso::BOTTOM_TO_TOP, pappso::LEFT_TO_RIGHT, m_dragDirections, m_isMouseDragging, pappso::RIGHT_TO_LEFT, and pappso::TOP_TO_BOTTOM.

Referenced by toString().

◆ initialize()

void pappso::BasePlotContext::initialize ( const BasePlotContext & other)

Definition at line 186 of file baseplotcontext.cpp.

187{
188 m_dataKind = other.m_dataKind;
189
190 m_isMouseDragging = other.m_isMouseDragging;
191 m_wasMouseDragging = other.m_wasMouseDragging;
192 m_dragDirections = other.m_dragDirections;
193
194 m_isKeyBoardDragging = other.m_isKeyBoardDragging;
195 m_isLeftPseudoButtonKeyPressed = other.m_isLeftPseudoButtonKeyPressed;
196 m_isRightPseudoButtonKeyPressed = other.m_isRightPseudoButtonKeyPressed;
197 m_wasKeyBoardDragging = other.m_wasKeyBoardDragging;
198
199 m_startDragPoint = other.m_startDragPoint;
200 m_currentDragPoint = other.m_currentDragPoint;
201 m_lastCursorHoveredPoint = other.m_lastCursorHoveredPoint;
202
203 m_selectionPolygon = other.m_selectionPolygon;
204 msp_integrationScope = other.msp_integrationScope;
205 m_integrationScopeRhombWidth = other.m_integrationScopeRhombWidth;
206 m_integrationScopeRhombHeight = other.m_integrationScopeRhombHeight;
207
208 // The effective range of the axes.
209 m_xRange = other.m_xRange;
210 m_yRange = other.m_yRange;
211
212 // Tell if the mouse move was started onto either axis, because that will
213 // condition if some calculations needs to be performed or not (for example,
214 // if the mouse cursor motion was started on an axis, there is no point to
215 // perform deconvolutions).
216 m_wasClickOnXAxis = other.m_wasClickOnXAxis;
217 m_wasClickOnYAxis = other.m_wasClickOnYAxis;
218
219 m_isMeasuringDistance = other.m_isMeasuringDistance;
220
221 // The user-selected region over the plot.
222 // Note that we cannot use QCPRange structures because these are normalized by
223 // QCustomPlot in such a manner that lower is actually < upper. But we need
224 // for a number of our calculations (specifically for the deconvolutions) to
225 // actually have the lower value be start drag point.x even if the drag
226 // direction was from right to left.
227 m_xRegionRangeStart = other.m_xRegionRangeStart;
228 m_xRegionRangeEnd = other.m_xRegionRangeEnd;
229
230 m_yRegionRangeStart = other.m_yRegionRangeStart;
231 m_yRegionRangeEnd = other.m_yRegionRangeEnd;
232
233 m_xDelta = other.m_xDelta;
234 m_yDelta = other.m_yDelta;
235
236 m_pressedKeyCode = other.m_pressedKeyCode;
237 m_releasedKeyCode = other.m_releasedKeyCode;
238
239 m_keyboardModifiers = other.m_keyboardModifiers;
240
241 m_lastPressedMouseButton = other.m_lastPressedMouseButton;
242 m_lastReleasedMouseButton = other.m_lastReleasedMouseButton;
243
244 m_pressedMouseButtons = other.m_pressedMouseButtons;
245
246 m_mouseButtonsAtMousePress = other.m_mouseButtonsAtMousePress;
247 m_mouseButtonsAtMouseRelease = other.m_mouseButtonsAtMouseRelease;
248}
Enums::DataKind m_dataKind

References BasePlotContext(), m_currentDragPoint, m_dataKind, m_dragDirections, m_integrationScopeRhombHeight, m_integrationScopeRhombWidth, m_isKeyBoardDragging, m_isLeftPseudoButtonKeyPressed, m_isMeasuringDistance, m_isMouseDragging, m_isRightPseudoButtonKeyPressed, m_keyboardModifiers, m_lastCursorHoveredPoint, m_lastPressedMouseButton, m_lastReleasedMouseButton, m_mouseButtonsAtMousePress, m_mouseButtonsAtMouseRelease, m_pressedKeyCode, m_pressedMouseButtons, m_releasedKeyCode, m_selectionPolygon, m_startDragPoint, m_wasClickOnXAxis, m_wasClickOnYAxis, m_wasKeyBoardDragging, m_wasMouseDragging, m_xDelta, m_xRange, m_xRegionRangeEnd, m_xRegionRangeStart, m_yDelta, m_yRange, m_yRegionRangeEnd, m_yRegionRangeStart, and msp_integrationScope.

Referenced by pappso::MassSpecTracePlotContext::initialize(), and pappso::MassSpecTracePlotContext::initialize().

◆ operator=()

BasePlotContext & pappso::BasePlotContext::operator= ( const BasePlotContext & other)
delete

References BasePlotContext().

◆ recordDragDirections()

DragDirections pappso::BasePlotContext::recordDragDirections ( )

Definition at line 852 of file baseplotcontext.cpp.

853{
854 int drag_directions = static_cast<int>(DragDirections::NOT_SET);
855
857 drag_directions |= static_cast<int>(DragDirections::LEFT_TO_RIGHT);
858 else
859 drag_directions |= static_cast<int>(DragDirections::RIGHT_TO_LEFT);
860
862 drag_directions |= static_cast<int>(DragDirections::BOTTOM_TO_TOP);
863 else
864 drag_directions |= static_cast<int>(DragDirections::TOP_TO_BOTTOM);
865
866 // qDebug() << "DragDirections:" << drag_directions;
867
868 m_dragDirections = static_cast<DragDirections>(drag_directions);
869
870 return static_cast<DragDirections>(drag_directions);
871}

References pappso::BOTTOM_TO_TOP, pappso::LEFT_TO_RIGHT, m_currentDragPoint, m_dragDirections, m_startDragPoint, pappso::NOT_SET, pappso::RIGHT_TO_LEFT, and pappso::TOP_TO_BOTTOM.

◆ registerJsConstructor()

void pappso::BasePlotContext::registerJsConstructor ( QJSEngine * engine)
static

Definition at line 1007 of file baseplotcontext.cpp.

1008{
1009 // qDebug() << "Now registering the JS constructor for BasePlotContext.";
1010
1011 if(!engine)
1012 {
1013 qFatal() << "Cannot register class: engine is null";
1014 return;
1015 }
1016
1017 // Register the meta object as a constructor
1018 QJSValue jsMetaObject =
1019 engine->newQMetaObject(&BasePlotContext::staticMetaObject);
1020 engine->globalObject().setProperty("BasePlotContext", jsMetaObject);
1021
1022 QJSValue enumObject = engine->newObject();
1023 enumObject.setProperty("NOT_SET",
1024 static_cast<int>(pappso::DragDirections::NOT_SET));
1025 enumObject.setProperty(
1026 "LEFT_TO_RIGHT", static_cast<int>(pappso::DragDirections::LEFT_TO_RIGHT));
1027 enumObject.setProperty(
1028 "RIGHT_TO_LEFT", static_cast<int>(pappso::DragDirections::RIGHT_TO_LEFT));
1029 enumObject.setProperty(
1030 "TOP_TO_BOTTOM", static_cast<int>(pappso::DragDirections::TOP_TO_BOTTOM));
1031 enumObject.setProperty(
1032 "BOTTOM_TO_TOP", static_cast<int>(pappso::DragDirections::BOTTOM_TO_TOP));
1033
1034 // Make it available in the global JS scope
1035 engine->globalObject().setProperty("DragDirections", enumObject);
1036}

References pappso::BOTTOM_TO_TOP, pappso::LEFT_TO_RIGHT, pappso::NOT_SET, pappso::RIGHT_TO_LEFT, and pappso::TOP_TO_BOTTOM.

◆ toString()

QString pappso::BasePlotContext::toString ( ) const

Definition at line 874 of file baseplotcontext.cpp.

875{
876 QString text("Context:");
877
878 text += QString(" data kind: %1").arg(static_cast<int>(m_dataKind));
879
880 text += QString(" -- isMouseDragging: %1 -- wasMouseDragging: %2")
881 .arg(m_isMouseDragging ? "true" : "false")
882 .arg(m_wasMouseDragging ? "true" : "false");
883
884 text += QString(" -- startDragPoint : (%1, %2)")
885 .arg(m_startDragPoint.x())
886 .arg(m_startDragPoint.y());
887
888 text += QString(" -- currentDragPoint : (%1, %2)")
889 .arg(m_currentDragPoint.x())
890 .arg(m_currentDragPoint.y());
891
892 text += QString(" -- lastCursorHoveredPoint : (%1, %2)")
894 .arg(m_lastCursorHoveredPoint.y());
895
896 text += dragDirectionsToString();
897
898 // The integration scope
899 text += " -- Integration scope: ";
900 text += msp_integrationScope->toString();
901 text += " -- ";
902
903 text +=
904 QString(" -- xRange: (%1, %2)").arg(m_xRange.lower).arg(m_xRange.upper);
905
906 text +=
907 QString(" -- yRange: (%1, %2)").arg(m_yRange.lower).arg(m_yRange.upper);
908
909 text += QString(" -- wasClickOnXAxis: %1")
910 .arg(m_wasClickOnXAxis ? "true" : "false");
911 text += QString(" -- wasClickOnYAxis: %1")
912 .arg(m_wasClickOnYAxis ? "true" : "false");
913 text += QString(" -- isMeasuringDistance: %1")
914 .arg(m_isMeasuringDistance ? "true" : "false");
915
916 text += QString(" -- xRegionRangeStart: %1 -- xRegionRangeEnd: %2")
918 .arg(m_xRegionRangeEnd);
919
920 text += QString(" -- yRegionRangeStart: %1 -- yRegionRangeEnd: %2")
922 .arg(m_yRegionRangeEnd);
923
924 text += QString(" -- xDelta: %1 -- yDelta: %2").arg(m_xDelta).arg(m_yDelta);
925
926 text += QString(" -- pressedKeyCode: %1").arg(m_pressedKeyCode);
927
928 // Qt::NoModifier0x00000000No modifier key is pressed.
929 // Qt::ShiftModifier0x02000000A Shift key on the keyboard is pressed.
930 // Qt::ControlModifier0x04000000A Ctrl key on the keyboard is pressed.
931 // Qt::AltModifier0x08000000An Alt key on the keyboard is pressed.
932 // Qt::MetaModifier0x10000000A Meta key on the keyboard is pressed.
933 // Qt::KeypadModifier0x20000000A keypad button is pressed.
934 // Qt::GroupSwitchModifier0x40000000X11 only (unless activated on Windows by a
935 // command line argument).
936 // A Mode_switch key on the keyboard is
937 // pressed.
938
939 text += QString(" -- keyboardModifiers: ");
940
941 if(m_keyboardModifiers == Qt::NoModifier)
942 text += QString("%1 - ").arg(qtKeyboardModifierMap[Qt::NoModifier]);
943
944 if(static_cast<int>(m_keyboardModifiers) & Qt::ShiftModifier)
945 text += QString("%1 - ").arg(qtKeyboardModifierMap[Qt::ShiftModifier]);
946
947 if(static_cast<int>(m_keyboardModifiers) & Qt::ControlModifier)
948 text += QString("%1 - ").arg(qtKeyboardModifierMap[Qt::ControlModifier]);
949
950 if(static_cast<int>(m_keyboardModifiers) & Qt::AltModifier)
951 text += QString("%1 - ").arg(qtKeyboardModifierMap[Qt::AltModifier]);
952
953 if(static_cast<int>(m_keyboardModifiers) & Qt::MetaModifier)
954 text += QString("%1 - ").arg(qtKeyboardModifierMap[Qt::MetaModifier]);
955
956 if(static_cast<int>(m_keyboardModifiers) & Qt::KeypadModifier)
957 text += QString("%1 - ").arg(qtKeyboardModifierMap[Qt::KeypadModifier]);
958
959 if(static_cast<int>(m_keyboardModifiers) & Qt::GroupSwitchModifier)
960 text +=
961 QString("%1 - ").arg(qtKeyboardModifierMap[Qt::GroupSwitchModifier]);
962
963 text += QString(" -- lastPressedMouseButton: %1")
965
966 text += QString(" -- lastReleasedMouseButton: %1")
968
969 text += QString(" -- pressedMouseButtons: %1")
971
972 text += QString(" -- mouseButtonsAtMousePress: %1")
974
975 text += QString(" -- mouseButtonsAtMouseRelease: %1")
977
978 return text;
979}
Q_INVOKABLE QString dragDirectionsToString() const
std::map< Qt::MouseButtons, QString > qtMouseButtonsMap
std::map< Qt::KeyboardModifier, QString > qtKeyboardModifierMap

References dragDirectionsToString(), m_currentDragPoint, m_dataKind, m_isMeasuringDistance, m_isMouseDragging, m_keyboardModifiers, m_lastCursorHoveredPoint, m_lastPressedMouseButton, m_lastReleasedMouseButton, m_mouseButtonsAtMousePress, m_mouseButtonsAtMouseRelease, m_pressedKeyCode, m_pressedMouseButtons, m_startDragPoint, m_wasClickOnXAxis, m_wasClickOnYAxis, m_wasMouseDragging, m_xDelta, m_xRange, m_xRegionRangeEnd, m_xRegionRangeStart, m_yDelta, m_yRange, m_yRegionRangeEnd, m_yRegionRangeStart, msp_integrationScope, pappso::qtKeyboardModifierMap, and pappso::qtMouseButtonsMap.

Referenced by pappso::MassSpecTracePlotContext::toString().

◆ updateIntegrationScope()

void pappso::BasePlotContext::updateIntegrationScope ( )

Definition at line 251 of file baseplotcontext.cpp.

252{
253 // qDebug();
254
255 // By essence, IntegrationScope is 1D scope. The point of the scope is the
256 // left bottom point, and then we document the width.
257
258 double x_range_start = std::min(m_currentDragPoint.x(), m_startDragPoint.x());
259 double x_range_end = std::max(m_currentDragPoint.x(), m_startDragPoint.x());
260
261 double y_position = m_startDragPoint.y();
262
263 QPointF point(x_range_start, y_position);
264 double width = x_range_end - x_range_start;
265
266 // qDebug() << "Going to create an integration scope with point:" << point
267 // << "and width:" << width;
268 msp_integrationScope = std::make_shared<IntegrationScope>(point, width);
269 // qDebug() << "Created integration scope:" <<
270 // msp_integrationScope->toString();
271}

References m_currentDragPoint, m_startDragPoint, and msp_integrationScope.

◆ updateIntegrationScopeRect()

void pappso::BasePlotContext::updateIntegrationScopeRect ( )

Definition at line 274 of file baseplotcontext.cpp.

275{
276 // qDebug();
277
278 // By essence, IntegrationScopeRect is a squared rectangle scope. The point of
279 // the scope is the left bottom point, and then we document the width and the
280 // height.
281
282 /* Like this:
283*
284+---------------------------+ -
285| | |
286| | |
287| | m_height
288| | |
289| | |
290P---------------------------+ -
291
292|--------- m_width ---------|
293
294*/
295
296 // We need to find the point that is actually the left bottom point.
297
298 QPointF point;
299 double width = 0;
300 double height = 0;
301
302 if(static_cast<int>(m_dragDirections) &
303 static_cast<int>(DragDirections::LEFT_TO_RIGHT) &&
304 static_cast<int>(m_dragDirections) &
305 static_cast<int>(DragDirections::BOTTOM_TO_TOP))
306 {
307 point.rx() = m_startDragPoint.x();
308 point.ry() = m_startDragPoint.y();
309 width = m_currentDragPoint.x() - point.rx();
310 height = m_currentDragPoint.y() - point.ry();
311 // qDebug() << "left to right - bottom to top";
312 }
313
314 if(static_cast<int>(m_dragDirections) &
315 static_cast<int>(DragDirections::RIGHT_TO_LEFT) &&
316 static_cast<int>(m_dragDirections) &
317 static_cast<int>(DragDirections::BOTTOM_TO_TOP))
318 {
319 point.rx() = m_currentDragPoint.x();
320 point.ry() = m_currentDragPoint.y();
321 width = m_startDragPoint.x() - m_currentDragPoint.x();
322 height = m_startDragPoint.y() - m_currentDragPoint.y();
323 // qDebug() << "right to left - bottom to top";
324 }
325
326 if(static_cast<int>(m_dragDirections) &
327 static_cast<int>(DragDirections::LEFT_TO_RIGHT) &&
328 static_cast<int>(m_dragDirections) &
329 static_cast<int>(DragDirections::TOP_TO_BOTTOM))
330 {
331 point.rx() = m_startDragPoint.x();
332 point.ry() = m_currentDragPoint.y();
333 width = m_currentDragPoint.x() - m_startDragPoint.x();
334 height = m_startDragPoint.y() - m_currentDragPoint.y();
335 // qDebug() << "left to right - top to bottom";
336 }
337
338 if(static_cast<int>(m_dragDirections) &
339 static_cast<int>(DragDirections::RIGHT_TO_LEFT) &&
340 static_cast<int>(m_dragDirections) &
341 static_cast<int>(DragDirections::TOP_TO_BOTTOM))
342 {
343 point.rx() = m_currentDragPoint.x();
344 point.ry() = m_currentDragPoint.y();
345 width = m_startDragPoint.x() - m_currentDragPoint.x();
346 height = m_startDragPoint.y() - m_currentDragPoint.y();
347 // qDebug() << "right to left - top to bottom";
348 }
349
350 // qDebug() << "The data used to update the integration scope:";
351 // qDebug() << "Point:" << point << "width:" << width << "height:" << height;
352 //
353 // qDebug() << "The integration scope before update:" << mpa_integrationScope;
354 //
355 // qDebug() << "Will update IntegrationScopeRect with:" << point << "width"
356 // << width << "height" << height;
358 std::make_shared<IntegrationScopeRect>(point, width, height);
359
360 // if(typeid(*mpa_integrationScope) == typeid(IntegrationScopeInterface))
361 // qDebug() << "The pointer is of type IntegrationScopeInterface";
362 // if(typeid(*mpa_integrationScope) == typeid(IntegrationScope))
363 // qDebug() << "The pointer is of type IntegrationScope";
364 // if(typeid(*mpa_integrationScope) == typeid(IntegrationScopeRect))
365 // qDebug() << "The pointer is of type IntegrationScopeRect";
366 // if(typeid(*mpa_integrationScope) == typeid(IntegrationScopeRhomb))
367 // qDebug() << "The pointer is of type IntegrationScopeRhomb";
368 //
369 // qDebug() << "The integration scope right after update:"
370 // << mpa_integrationScope;
371 //
372 // if(!mpa_integrationScope->getPoint(point))
373 // qFatal("Could not get point.");
374 // qDebug() << "The point:" << point;
375 // if(!mpa_integrationScope->getWidth(width))
376 // qFatal("Oh no!!!! width");
377 // if(!mpa_integrationScope->getWidth(height))
378 // qFatal("Oh no!!!! height");
379}

References pappso::BOTTOM_TO_TOP, pappso::LEFT_TO_RIGHT, m_currentDragPoint, m_dragDirections, m_startDragPoint, msp_integrationScope, pappso::RIGHT_TO_LEFT, and pappso::TOP_TO_BOTTOM.

◆ updateIntegrationScopeRhomb()

void pappso::BasePlotContext::updateIntegrationScopeRhomb ( )

Definition at line 696 of file baseplotcontext.cpp.

697{
698 // qDebug() << toString();
699
700 // By essence, IntegrationScopeRhomb is a rhomboid polygon. Just set the
701 // points. There are two kinds of rhomboid integration scopes: horizontal and
702 // vertical.
703
704 /*
705 +----------+
706 | |
707 | |
708 | |
709 | |
710 | |
711 | |
712 | |
713 +----------+
714 ----width---
715*/
716
717 // As visible here, the fixed size of the rhomboid (using the S key in the
718 // plot widget) is the *horizontal* side (that is, the rhomboid has a non-0
719 // width)..
720
721 // However, it might be useful to be able to draw rhomboid integration scopes
722 // like this, that would correspond to the rhomboid above after a transpose
723 // operation.
724
725 /*
726 +
727 . |
728 . |
729 . |
730 . +
731 . .
732 . .
733 . .
734 + .
735 | | .
736 height | | .
737 | | .
738 +
739
740*/
741
742 // As visible here, the fixed size of the rhomboid (using the S key in the
743 // plot widget) is the vertical side (that is, the rhomboid has a non-0
744 // height).
745
746 // The general rule is thus that when the m_integrationScopeRhombWidth is
747 // not-0, then the first shape is considered, while when the
748 // m_integrationScopeRhombHeight is non-0, then the second shape is
749 // considered.
750
751 // This function is called when the user has dragged the cursor (left or right
752 // button, not for or for integration, respectively) with the 'Alt' modifier
753 // key pressed, so that they want to perform a rhomboid integration scope
754 // calculation.
755
756 // Of course, the integration scope in the context might not be a rhomboid
757 // scope, because we might enter this function as a very firt switch from
758 // scope or scopeRect to scopeRhomb. The only indication we have to direct the
759 // creation of a horizontal or vertical rhomboid is the
760 // m_integrationScopeRhombWidth/m_integrationScopeRhombHeight recorded in the
761 // plot widget that owns this plot context.
762
763 // qDebug() << "In updateIntegrationScopeRhomb, m_integrationScopeRhombWidth:"
764 // << m_integrationScopeRhombWidth
765 // << "and m_integrationScopeRhombHeight:"
766 // << m_integrationScopeRhombHeight;
767
769 qFatal(
770 "Both m_integrationScopeRhombWidth and m_integrationScopeRhombHeight of "
771 "rhomboid integration scope cannot be 0.");
772
777}

References m_integrationScopeRhombHeight, m_integrationScopeRhombWidth, updateIntegrationScopeRhombHorizontal(), and updateIntegrationScopeRhombVertical().

◆ updateIntegrationScopeRhombHorizontal()

void pappso::BasePlotContext::updateIntegrationScopeRhombHorizontal ( )

Definition at line 382 of file baseplotcontext.cpp.

383{
384 // qDebug() << toString();
385
386 /*
387 4+----------+3
388 | |
389 | |
390 | |
391 | |
392 | |
393 | |
394 | |
395 1+----------+2
396 ----width---
397*/
398
399 // As visible here, the fixed size of the rhomboid (using the S key in the
400 // plot widget) is the horizontal side.
401
402 // The points are numbered in a counterclockwise manner, starting from the
403 // starting drag point. The width side is right of the start drag point if
404 // the user drags from left to right and left of the start drag point if
405 // the user drags from left to right. In the figure above, the user
406 // has dragged the mouse from point 1 and to the right and upwards.
407 // Thus the width side is right of point 1. Because the numbering
408 // is counterclockwise, that point happens to be numbered 2.
409
410 // If the user had draggged the mouse starting at point 3 and to the left
411 // and to the bottom, then point 3 above would be point 1, point 4
412 // would be point 2 because the width side is left of the start
413 // drag point; point 1 would be point 3 and finally the last point
414 // would be at point 2.
415
416 // Sanity check
418 qFatal(
419 "The m_integrationScopeRhombWidth of the fixed rhomboid side cannot be "
420 "0.");
421
422 QPointF point;
423 std::vector<QPointF> points;
424
425 // Fill-in the points in the vector in the order they are created
426 // while drawing the rhomboid shape. Thus, the first point (start of the
427 // mouse click & drag operation is always the same.
428
429 point.rx() = m_startDragPoint.x();
430 point.ry() = m_startDragPoint.y();
431 points.push_back(point);
432 // qDebug() << "Start point:" << point;
433
434 if(static_cast<int>(m_dragDirections) &
435 static_cast<int>(DragDirections::LEFT_TO_RIGHT) &&
436 static_cast<int>(m_dragDirections) &
437 static_cast<int>(DragDirections::BOTTOM_TO_TOP))
438 {
439 // Second point.
441 point.ry() = m_startDragPoint.y();
442 points.push_back(point);
443 // qDebug() << "Second point:" << point;
444
445 // Third point.
447 point.ry() = m_currentDragPoint.ry();
448 points.push_back(point);
449 // qDebug() << "Third point:" << point;
450
451 // Fourth point.
452 point.rx() = m_currentDragPoint.rx();
453 point.ry() = m_currentDragPoint.ry();
454 points.push_back(point);
455 // qDebug() << "Last point:" << point;
456 }
457
458 if(static_cast<int>(m_dragDirections) &
459 static_cast<int>(DragDirections::RIGHT_TO_LEFT) &&
460 static_cast<int>(m_dragDirections) &
461 static_cast<int>(DragDirections::BOTTOM_TO_TOP))
462 {
463 // Second point.
464 point.rx() = m_currentDragPoint.rx();
465 point.ry() = m_currentDragPoint.ry();
466 points.push_back(point);
467 // qDebug() << "Second point:" << point;
468
469 // Third point.
471 point.ry() = m_currentDragPoint.ry();
472 points.push_back(point);
473 // qDebug() << "Third point:" << point;
474
475 // Fourth point.
477 point.ry() = m_startDragPoint.ry();
478 points.push_back(point);
479 // qDebug() << "Last point:" << point;
480 }
481
482 if(static_cast<int>(m_dragDirections) &
483 static_cast<int>(DragDirections::LEFT_TO_RIGHT) &&
484 static_cast<int>(m_dragDirections) &
485 static_cast<int>(DragDirections::TOP_TO_BOTTOM))
486 {
487 // Second point.
488 point.rx() = m_currentDragPoint.rx();
489 point.ry() = m_currentDragPoint.ry();
490 points.push_back(point);
491 // qDebug() << "Second point:" << point;
492
493 // Third point.
495 point.ry() = m_currentDragPoint.ry();
496 points.push_back(point);
497 // qDebug() << "Third point:" << point;
498
499 // Fourth point.
501 point.ry() = m_startDragPoint.y();
502 points.push_back(point);
503 // qDebug() << "Last point:" << point;
504 }
505
506 if(static_cast<int>(m_dragDirections) &
507 static_cast<int>(DragDirections::RIGHT_TO_LEFT) &&
508 static_cast<int>(m_dragDirections) &
509 static_cast<int>(DragDirections::TOP_TO_BOTTOM))
510 {
511 // Second point.
513 point.ry() = m_startDragPoint.y();
514 points.push_back(point);
515 // qDebug() << "Second point:" << point;
516
517 // Third point.
519 point.ry() = m_currentDragPoint.ry();
520 points.push_back(point);
521 // qDebug() << "Third point:" << point;
522
523 // Fourth point.
524 point.rx() = m_currentDragPoint.rx();
525 point.ry() = m_currentDragPoint.ry();
526 points.push_back(point);
527 // qDebug() << "Last point:" << point;
528 }
529
530 msp_integrationScope = std::make_shared<IntegrationScopeRhomb>(points);
531
532 // qDebug() << "Created an integration scope horizontal rhomboid with"
533 // << points.size() << "points:" << msp_integrationScope->toString();
534}

References pappso::BOTTOM_TO_TOP, pappso::LEFT_TO_RIGHT, m_currentDragPoint, m_dragDirections, m_integrationScopeRhombWidth, m_startDragPoint, msp_integrationScope, pappso::RIGHT_TO_LEFT, and pappso::TOP_TO_BOTTOM.

Referenced by updateIntegrationScopeRhomb().

◆ updateIntegrationScopeRhombVertical()

void pappso::BasePlotContext::updateIntegrationScopeRhombVertical ( )

Definition at line 537 of file baseplotcontext.cpp.

538{
539 // qDebug() << toString();
540
541 /*
542 * +3
543 * . |
544 * . |
545 * . |
546 * . +2
547 * . .
548 * . .
549 * . .
550 * 4+ .
551 * | | .
552 * height | | .
553 * | | .
554 * 1+
555 *
556 */
557
558 // As visible here, the fixed size of the rhomboid (using the S key in the
559 // plot widget) is the vertical side.
560
561 // The points are numbered in a counterclockwise manner, starting from the
562 // starting drag point. The height side is below the start drag point if
563 // the user drags from top to bottom and above the start drag point if
564 // the user drags from bottom to top. In the figure above, the user
565 // has dragged the mouse from point 1 and to the right and upwards.
566 // Thus the height side is above the point 1. Because the numbering
567 // is counterclockwise, that point happens to be numbered 4.
568
569 // If the user had draggged the mouse starting at point 3 and to the left
570 // and to the bottom, then point 3 above would be point 1, point 4
571 // would be ponit 2, point 1 would be point 3 and finally, because
572 // the dragging is from top to bottom, the last point would be at point 2
573 // above, because the height side of the rhomboid is below the start
574 // drag point.
575
576 // Sanity check
578 qFatal("The height of the fixed rhomboid side cannot be 0.");
579
580 QPointF point;
581 std::vector<QPointF> points;
582
583 // Fill-in the points in the vector in the order they are created
584 // while drawing the rhomboid shape. Thus, the first point (start of the
585 // mouse click & drag operation is always the same, the leftmost bottom point
586 // of the drawing above (point 1).
587
588 point.rx() = m_startDragPoint.x();
589 point.ry() = m_startDragPoint.y();
590 points.push_back(point);
591 // qDebug() << "Start point:" << point;
592
593 if(static_cast<int>(m_dragDirections) &
594 static_cast<int>(DragDirections::LEFT_TO_RIGHT) &&
595 static_cast<int>(m_dragDirections) &
596 static_cast<int>(DragDirections::BOTTOM_TO_TOP))
597 {
598 // Second point.
599 point.rx() = m_currentDragPoint.rx();
600 point.ry() = m_currentDragPoint.ry();
601 points.push_back(point);
602 // qDebug() << "Second point:" << point;
603
604 // Third point.
605 point.rx() = m_currentDragPoint.rx();
607 points.push_back(point);
608 // qDebug() << "Third point:" << point;
609
610 // Fourth point.
611 point.rx() = m_startDragPoint.x();
613 points.push_back(point);
614 // qDebug() << "Last point:" << point;
615 }
616
617 if(static_cast<int>(m_dragDirections) &
618 static_cast<int>(DragDirections::RIGHT_TO_LEFT) &&
619 static_cast<int>(m_dragDirections) &
620 static_cast<int>(DragDirections::BOTTOM_TO_TOP))
621 {
622 // Second point.
623 point.rx() = m_startDragPoint.rx();
625 points.push_back(point);
626 // qDebug() << "Second point:" << point;
627
628 // Third point.
629 point.rx() = m_currentDragPoint.rx();
631 points.push_back(point);
632 // qDebug() << "Third point:" << point;
633
634 // Fourth point.
635 point.rx() = m_currentDragPoint.x();
636 point.ry() = m_currentDragPoint.y();
637 points.push_back(point);
638 // qDebug() << "Last point:" << point;
639 }
640
641 if(static_cast<int>(m_dragDirections) &
642 static_cast<int>(DragDirections::LEFT_TO_RIGHT) &&
643 static_cast<int>(m_dragDirections) &
644 static_cast<int>(DragDirections::TOP_TO_BOTTOM))
645 {
646 // Second point.
647 point.rx() = m_startDragPoint.x();
649 points.push_back(point);
650 // qDebug() << "Second point:" << point;
651
652 // Third point.
653 point.rx() = m_currentDragPoint.rx();
655 points.push_back(point);
656 // qDebug() << "Third point:" << point;
657
658 // Fourth point.
659 point.rx() = m_currentDragPoint.rx();
660 point.ry() = m_currentDragPoint.ry();
661 points.push_back(point);
662 // qDebug() << "Last point:" << point;
663 }
664
665 if(static_cast<int>(m_dragDirections) &
666 static_cast<int>(DragDirections::RIGHT_TO_LEFT) &&
667 static_cast<int>(m_dragDirections) &
668 static_cast<int>(DragDirections::TOP_TO_BOTTOM))
669 {
670 // Second point.
671 point.rx() = m_currentDragPoint.rx();
672 point.ry() = m_currentDragPoint.ry();
673 points.push_back(point);
674 // qDebug() << "Second point:" << point;
675
676 // Third point.
677 point.rx() = m_currentDragPoint.rx();
679 points.push_back(point);
680 // qDebug() << "Third point:" << point;
681
682 // Fourth point.
683 point.rx() = m_startDragPoint.rx();
685 points.push_back(point);
686 // qDebug() << "Last point:" << point;
687 }
688
689 msp_integrationScope = std::make_shared<IntegrationScopeRhomb>(points);
690
691 // qDebug() << "Created an integration scope vertical rhomboid with"
692 // << points.size() << "points:" << msp_integrationScope->toString();
693}

References pappso::BOTTOM_TO_TOP, pappso::LEFT_TO_RIGHT, m_currentDragPoint, m_dragDirections, m_integrationScopeRhombHeight, m_startDragPoint, msp_integrationScope, pappso::RIGHT_TO_LEFT, and pappso::TOP_TO_BOTTOM.

Referenced by updateIntegrationScopeRhomb().

Member Data Documentation

◆ m_currentDragPoint

◆ m_dataKind

Enums::DataKind pappso::BasePlotContext::m_dataKind = Enums::DataKind::unset

Definition at line 92 of file baseplotcontext.h.

Referenced by initialize(), and toString().

◆ m_dragDirections

◆ m_integrationScopeRhombHeight

double pappso::BasePlotContext::m_integrationScopeRhombHeight = 0

◆ m_integrationScopeRhombWidth

double pappso::BasePlotContext::m_integrationScopeRhombWidth = 0

◆ m_isKeyBoardDragging

bool pappso::BasePlotContext::m_isKeyBoardDragging = false

Definition at line 97 of file baseplotcontext.h.

Referenced by clone(), and initialize().

◆ m_isLeftPseudoButtonKeyPressed

bool pappso::BasePlotContext::m_isLeftPseudoButtonKeyPressed = false

Definition at line 98 of file baseplotcontext.h.

Referenced by clone(), and initialize().

◆ m_isMeasuringDistance

bool pappso::BasePlotContext::m_isMeasuringDistance = false

Definition at line 123 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_isMouseDragging

bool pappso::BasePlotContext::m_isMouseDragging = false

Definition at line 94 of file baseplotcontext.h.

Referenced by clone(), dragDirectionsToString(), initialize(), and toString().

◆ m_isRightPseudoButtonKeyPressed

bool pappso::BasePlotContext::m_isRightPseudoButtonKeyPressed = false

Definition at line 99 of file baseplotcontext.h.

Referenced by clone(), and initialize().

◆ m_keyboardModifiers

Qt::KeyboardModifiers pappso::BasePlotContext::m_keyboardModifiers

Definition at line 143 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_lastCursorHoveredPoint

QPointF pappso::BasePlotContext::m_lastCursorHoveredPoint

Definition at line 104 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_lastPressedMouseButton

Qt::MouseButtons pappso::BasePlotContext::m_lastPressedMouseButton

Definition at line 145 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_lastReleasedMouseButton

Qt::MouseButtons pappso::BasePlotContext::m_lastReleasedMouseButton

Definition at line 146 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_mouseButtonsAtMousePress

Qt::MouseButtons pappso::BasePlotContext::m_mouseButtonsAtMousePress

Definition at line 150 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_mouseButtonsAtMouseRelease

Qt::MouseButtons pappso::BasePlotContext::m_mouseButtonsAtMouseRelease

Definition at line 151 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_pressedKeyCode

int pappso::BasePlotContext::m_pressedKeyCode

Definition at line 140 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_pressedMouseButtons

Qt::MouseButtons pappso::BasePlotContext::m_pressedMouseButtons

Definition at line 148 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_releasedKeyCode

int pappso::BasePlotContext::m_releasedKeyCode

Definition at line 141 of file baseplotcontext.h.

Referenced by clone(), and initialize().

◆ m_selectionPolygon

SelectionPolygon pappso::BasePlotContext::m_selectionPolygon

Definition at line 108 of file baseplotcontext.h.

Referenced by clone(), and initialize().

◆ m_startDragPoint

◆ m_wasClickOnXAxis

bool pappso::BasePlotContext::m_wasClickOnXAxis = false

Definition at line 120 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_wasClickOnYAxis

bool pappso::BasePlotContext::m_wasClickOnYAxis = false

Definition at line 121 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_wasKeyBoardDragging

bool pappso::BasePlotContext::m_wasKeyBoardDragging = false

Definition at line 100 of file baseplotcontext.h.

Referenced by clone(), and initialize().

◆ m_wasMouseDragging

bool pappso::BasePlotContext::m_wasMouseDragging = false

Definition at line 95 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_xDelta

double pappso::BasePlotContext::m_xDelta = 0

Definition at line 137 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_xRange

QCPRange pappso::BasePlotContext::m_xRange

Definition at line 113 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_xRegionRangeEnd

double pappso::BasePlotContext::m_xRegionRangeEnd = std::numeric_limits<double>::min()

Definition at line 132 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_xRegionRangeStart

double pappso::BasePlotContext::m_xRegionRangeStart = std::numeric_limits<double>::min()

Definition at line 131 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_yDelta

double pappso::BasePlotContext::m_yDelta = 0

Definition at line 138 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_yRange

QCPRange pappso::BasePlotContext::m_yRange

Definition at line 114 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_yRegionRangeEnd

double pappso::BasePlotContext::m_yRegionRangeEnd = std::numeric_limits<double>::min()

Definition at line 135 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ m_yRegionRangeStart

double pappso::BasePlotContext::m_yRegionRangeStart = std::numeric_limits<double>::min()

Definition at line 134 of file baseplotcontext.h.

Referenced by clone(), initialize(), and toString().

◆ msp_integrationScope

Property Documentation

◆ currentDragPoint

QPointF pappso::BasePlotContext::currentDragPoint

Definition at line 63 of file baseplotcontext.h.

◆ dragDirections

DragDirections pappso::BasePlotContext::dragDirections

Definition at line 65 of file baseplotcontext.h.

◆ isKeyBoardDragging

bool pappso::BasePlotContext::isKeyBoardDragging

Definition at line 58 of file baseplotcontext.h.

◆ isLeftPseudoButtonKeyPressed

bool pappso::BasePlotContext::isLeftPseudoButtonKeyPressed

Definition at line 59 of file baseplotcontext.h.

◆ isMouseDragging

bool pappso::BasePlotContext::isMouseDragging

Definition at line 56 of file baseplotcontext.h.

◆ isRightPseudoButtonKeyPressed

bool pappso::BasePlotContext::isRightPseudoButtonKeyPressed

Definition at line 60 of file baseplotcontext.h.

◆ keyboardModifiers

Qt::KeyboardModifiers pappso::BasePlotContext::keyboardModifiers

Definition at line 74 of file baseplotcontext.h.

◆ lastCursorHoveredPoint

QPointF pappso::BasePlotContext::lastCursorHoveredPoint

Definition at line 64 of file baseplotcontext.h.

◆ lastPressedMouseButton

Qt::MouseButtons pappso::BasePlotContext::lastPressedMouseButton

Definition at line 75 of file baseplotcontext.h.

◆ lastReleasedMouseButton

Qt::MouseButtons pappso::BasePlotContext::lastReleasedMouseButton

Definition at line 76 of file baseplotcontext.h.

◆ mouseButtonsAtMousePress

Qt::MouseButtons pappso::BasePlotContext::mouseButtonsAtMousePress

Definition at line 78 of file baseplotcontext.h.

◆ mouseButtonsAtMouseRelease

Qt::MouseButtons pappso::BasePlotContext::mouseButtonsAtMouseRelease

Definition at line 79 of file baseplotcontext.h.

◆ pressedKeyCode

double pappso::BasePlotContext::pressedKeyCode

Definition at line 72 of file baseplotcontext.h.

◆ pressedMouseButtons

Qt::MouseButtons pappso::BasePlotContext::pressedMouseButtons

Definition at line 77 of file baseplotcontext.h.

◆ releasedKeyCode

double pappso::BasePlotContext::releasedKeyCode

Definition at line 73 of file baseplotcontext.h.

◆ startDragPoint

QPointF pappso::BasePlotContext::startDragPoint

Definition at line 62 of file baseplotcontext.h.

◆ wasKeyBoardDragging

bool pappso::BasePlotContext::wasKeyBoardDragging

Definition at line 61 of file baseplotcontext.h.

◆ wasMouseDragging

bool pappso::BasePlotContext::wasMouseDragging

Definition at line 57 of file baseplotcontext.h.

◆ xDelta

double pappso::BasePlotContext::xDelta

Definition at line 70 of file baseplotcontext.h.

◆ xRegionRangeEnd

double pappso::BasePlotContext::xRegionRangeEnd

Definition at line 67 of file baseplotcontext.h.

◆ xRegionRangeStart

double pappso::BasePlotContext::xRegionRangeStart

Definition at line 66 of file baseplotcontext.h.

◆ yDelta

double pappso::BasePlotContext::yDelta

Definition at line 71 of file baseplotcontext.h.

◆ yRegionRangeEnd

double pappso::BasePlotContext::yRegionRangeEnd

Definition at line 69 of file baseplotcontext.h.

◆ yRegionRangeStart

double pappso::BasePlotContext::yRegionRangeStart

Definition at line 68 of file baseplotcontext.h.


The documentation for this class was generated from the following files: