Engauge Digitizer 2
Loading...
Searching...
No Matches
GuidelineStateDiscarded.cpp
Go to the documentation of this file.
1/******************************************************************************************************
2 * (C) 2019 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3 * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4 * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5 ******************************************************************************************************/
6
7#include "EngaugeAssert.h"
8#include "GuidelineAbstract.h"
9#include "GuidelineState.h"
12#include "Logger.h"
13#include <QPen>
14#include "ZValues.h"
15
20
24
26{
27 LOG4CPP_INFO_S ((*mainCat)) << "GuidelineStateDiscarded::begin"
28 << " identifier=" << context().guideline().identifier().toLatin1().data();
29
33 context().guideline().setGraphicsItemPen (QColor (Qt::transparent),
34 context ().modelGuideline ().lineWidthInactive ());
35}
36
38{
39 LOG4CPP_ERROR_S ((*mainCat)) << "GuidelineStateDiscarded::convertGraphCoordinateToScreenPoint "
40 << "should not be called";
41
42 ENGAUGE_ASSERT (false);
43
44 return QPointF (0, 0); // No-harm value
45}
46
47double GuidelineStateDiscarded::convertScreenPointToGraphCoordinate (const QPointF & /* posScreen */) const
48{
49 LOG4CPP_ERROR_S ((*mainCat)) << "GuidelineStateDiscarded::convertScreenPointToGraphCoordinate";
50
51 ENGAUGE_ASSERT (false);
52
53 return 0.1; // No-harm value even if using log scale
54}
55
57{
58 return false;
59}
60
62{
63 LOG4CPP_INFO_S ((*mainCat)) << "GuidelineStateDiscarded::end";
64}
65
67{
68}
69
71 bool /* locked */)
72{
73}
74
76{
77 LOG4CPP_DEBUG_S ((*mainCat)) << "GuidelineStateHandle::handleHoverEnterEvent";
78
79 // Noop. Never called since hover only works when visible
80}
81
83{
84 LOG4CPP_DEBUG_S ((*mainCat)) << "GuidelineStateHandle::handleHoverEnterEvent";
85
86 // Noop. Never called since hover only works when visible
87}
88
89void GuidelineStateDiscarded::handleMousePress (const QPointF & /* posScene */)
90{
91 // Noop
92}
93
94void GuidelineStateDiscarded::handleMouseRelease (const QPointF & /* posScene */)
95{
96 // Noop
97}
98
100{
101 // Noop
102}
103
105{
106 // Noop
107}
108
109EllipseParameters GuidelineStateDiscarded::pointToEllipse (const QPointF & /* poscreen */) const
110{
111 return EllipseParameters();
112}
113
114QLineF GuidelineStateDiscarded::pointToLine (const QPointF & /* posGraph */) const
115{
116 return QLineF (0, 0, 0, 0);
117}
118
123
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT.
QString guidelineStateAsString(GuidelineState state)
@ GUIDELINE_STATE_DISCARDED
log4cpp::Category * mainCat
Definition Logger.cpp:14
const int Z_VALUE_GUIDELINE_DISCARDED
Definition ZValues.cpp:13
Parameters that define an ellipse about the specified center, at the specified angle from alignment w...
virtual QString identifier() const =0
Unique identifier from QGraphicsItem.
virtual void setGraphicsItemVisible(bool visible)=0
Wrapper for QGraphicsItem::setVisible.
virtual void setGraphicsItemAcceptHoverEvents(bool accept)=0
Wrapper for QGraphicsItem::setAcceptHoverEvents.
virtual void setGraphicsItemZValue(double z)=0
Wrapper for QGraphicsItem::setZValue.
virtual void setGraphicsItemPen(const QColor &color, double lineWidth)=0
Wrapper for QGraphicsItem::setPen.
GuidelineStateContext & context() const
Context in charge of the state classes.
GuidelineStateAbstractBase(GuidelineStateContext &context)
Single constructor.
Context class for state machine that belongs to the Guideline class.
GuidelineAbstract & guideline()
Guideline that owns this context class.
virtual void handleTimeout()
Handle timeout from Appearing state.
virtual QString stateName() const
Name of state as a string for debugging only.
virtual void handleHoverEnterEvent()
If transparent then make visible when hover starts.
GuidelineStateDiscarded(GuidelineStateContext &context)
Single constructor.
virtual void handleHoverLeaveEvent()
If previously transparent before hover enter then make transparent again.
virtual bool doPaint() const
Allow/skip painting of the owner Guideline.
virtual void handleGuidelineMode(bool visible, bool locked)
User toggled Guideline visibility and/or locked mode.
virtual QLineF pointToLine(const QPointF &posScreen) const
Return line parallel to an axis line, that passes through the specified point.
virtual void updateWithLatestTransformation()
Update given Transformation in GuidelineStateContext.
virtual void handleMouseRelease(const QPointF &posScene)
At the end of dragging, clone the Guideline that owns the state machine where these states live.
virtual double convertScreenPointToGraphCoordinate(const QPointF &posScreen) const
Convert screen point pair into single graph coordinate.
virtual EllipseParameters pointToEllipse(const QPointF &posScreen) const
Return ellipse representing constant range, that passes through the specified point.
virtual QPointF convertGraphCoordinateToScreenPoint(double valueGraph) const
Convert single graph coordinate into screen point pair.
virtual void handleMousePress(const QPointF &posScene)
At the start of dragging, convert the Guideline into an invisible handle and visible slaved deployed ...
virtual void handleActiveChange(bool active)
DigitizeState change so active status may (or may not) be toggled.
virtual void end()
Transition out of state.
virtual void begin()
Transition into state.
#define LOG4CPP_INFO_S(logger)
Definition convenience.h:18
#define LOG4CPP_DEBUG_S(logger)
Definition convenience.h:20
#define LOG4CPP_ERROR_S(logger)
Definition convenience.h:12