Engauge Digitizer 2
Loading...
Searching...
No Matches
GuidelineStateDeployedAbstract Class Reference

Abstract class for deployed states. More...

#include <GuidelineStateDeployedAbstract.h>

Inheritance diagram for GuidelineStateDeployedAbstract:
Inheritance graph
Collaboration diagram for GuidelineStateDeployedAbstract:
Collaboration graph

Public Member Functions

 GuidelineStateDeployedAbstract (GuidelineStateContext &context)
 Single constructor.
virtual ~GuidelineStateDeployedAbstract ()
virtual void end ()
 Transition out of state.
virtual void handleMouseRelease (const QPointF &posScene)
 At the end of dragging, clone the Guideline that owns the state machine where these states live.
virtual void handleTimeout ()
 Handle timeout from Appearing state.
Public Member Functions inherited from GuidelineStateAbstractBase
 GuidelineStateAbstractBase (GuidelineStateContext &context)
 Single constructor.
virtual ~GuidelineStateAbstractBase ()
virtual void begin ()=0
 Transition into state.
virtual QPointF convertGraphCoordinateToScreenPoint (double valueGraph) const =0
 Convert single graph coordinate into screen point pair.
virtual double convertScreenPointToGraphCoordinate (const QPointF &posScreen) const =0
 Convert screen point pair into single graph coordinate.
virtual bool doPaint () const =0
 Allow/skip painting of the owner Guideline.
virtual void handleActiveChange (bool active)=0
 DigitizeState change so active status may (or may not) be toggled.
virtual void handleGuidelineMode (bool visibility, bool locked)=0
 User toggled Guideline visibility and/or locked mode.
virtual void handleHoverEnterEvent ()=0
 If transparent then make visible when hover starts.
virtual void handleHoverLeaveEvent ()=0
 If previously transparent before hover enter then make transparent again.
virtual void handleMousePress (const QPointF &posScene)=0
 At the start of dragging, convert the Guideline into an invisible handle and visible slaved deployed Guideline.
virtual EllipseParameters pointToEllipse (const QPointF &posScreen) const =0
 Return ellipse representing constant range, that passes through the specified point.
virtual QLineF pointToLine (const QPointF &posScreen) const =0
 Return line parallel to an axis line, that passes through the specified point.
virtual QString stateName () const =0
 Name of state as a string for debugging only.
virtual void updateWithLatestTransformation ()=0
 Update given Transformation in GuidelineStateContext.

Protected Member Functions

void beginCommon (bool hovering, bool locked)
 Initialization common to all states.
Protected Member Functions inherited from GuidelineStateAbstractBase
GuidelineStateContextcontext () const
 Context in charge of the state classes.
void handleMousePressCommon (const QPointF &posAbsolute, GuidelineState stateHandle, GuidelineState stateDeployed)
 Common mouse press handling.
QRectF sceneRect () const
 Scene rectangle in screen coordinates (=pixels)

Detailed Description

Abstract class for deployed states.

Definition at line 14 of file GuidelineStateDeployedAbstract.h.

Constructor & Destructor Documentation

◆ GuidelineStateDeployedAbstract()

GuidelineStateDeployedAbstract::GuidelineStateDeployedAbstract ( GuidelineStateContext & context)

Single constructor.

Definition at line 17 of file GuidelineStateDeployedAbstract.cpp.

17 :
19{
20}
GuidelineStateContext & context() const
Context in charge of the state classes.
GuidelineStateAbstractBase(GuidelineStateContext &context)
Single constructor.

◆ ~GuidelineStateDeployedAbstract()

GuidelineStateDeployedAbstract::~GuidelineStateDeployedAbstract ( )
virtual

Definition at line 22 of file GuidelineStateDeployedAbstract.cpp.

23{
24}

Member Function Documentation

◆ beginCommon()

void GuidelineStateDeployedAbstract::beginCommon ( bool hovering,
bool locked )
protected

Initialization common to all states.

Definition at line 26 of file GuidelineStateDeployedAbstract.cpp.

28{
31
32 if (locked) {
33
34 // Prevent interaction. ItemIsSelectable is overkill, and in special cases adds ugly selected dashes
35 QGraphicsItem::GraphicsItemFlags flags = context().guideline ().graphicsItemFlags();
36 flags &= ~QGraphicsItem::ItemIsFocusable;
37 flags &= ~QGraphicsItem::ItemIsMovable;
40
41 const DocumentModelGuideline &modelGuideline = context ().modelGuideline ();
42
44 modelGuideline.lineWidthInactive ());
45
46 } else {
47
48 // Give feedback when user hovers
49 context().guideline().setGraphicsItemFlags (QGraphicsItem::ItemIsFocusable |
50 QGraphicsItem::ItemIsMovable);
52
53 const DocumentModelGuideline &modelGuideline = context ().modelGuideline ();
54
56 hovering ? modelGuideline.lineWidthActive () : modelGuideline.lineWidthInactive ());
57 }
58}
QColor ColorPaletteToQColor(ColorPalette color)
Definition EnumsToQt.cpp:16
const int Z_VALUE_GUIDELINE_DEPLOYED
Definition ZValues.cpp:12
double lineWidthInactive() const
Get method for line width when inactive.
ColorPalette lineColor() const
Get method for line color.
double lineWidthActive() const
Get method for line width when active.
virtual void setGraphicsItemVisible(bool visible)=0
Wrapper for QGraphicsItem::setVisible.
virtual QGraphicsItem::GraphicsItemFlags graphicsItemFlags() const =0
Wraps QGraphicsItem::flags.
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.
virtual void setGraphicsItemFlags(QGraphicsItem::GraphicsItemFlags flags)=0
Wrapper for QGraphicsItem::setFlags.
GuidelineAbstract & guideline()
Guideline that owns this context class.
DocumentModelGuideline modelGuideline() const
Up-to-date guideline settings.

◆ end()

void GuidelineStateDeployedAbstract::end ( )
virtual

Transition out of state.

Implements GuidelineStateAbstractBase.

Reimplemented in GuidelineStateDeployedConstantRSelectEdit, GuidelineStateDeployedConstantRSelectEditAppearing, GuidelineStateDeployedConstantRSelectEditHover, GuidelineStateDeployedConstantRSelectHide, GuidelineStateDeployedConstantRSelectLock, GuidelineStateDeployedConstantRUnselectEdit, GuidelineStateDeployedConstantRUnselectHide, GuidelineStateDeployedConstantRUnselectLock, GuidelineStateDeployedConstantTSelectEdit, GuidelineStateDeployedConstantTSelectEditAppearing, GuidelineStateDeployedConstantTSelectEditHover, GuidelineStateDeployedConstantTSelectHide, GuidelineStateDeployedConstantTSelectLock, GuidelineStateDeployedConstantTUnselectEdit, GuidelineStateDeployedConstantTUnselectHide, GuidelineStateDeployedConstantTUnselectLock, GuidelineStateDeployedConstantXSelectEdit, GuidelineStateDeployedConstantXSelectEditAppearing, GuidelineStateDeployedConstantXSelectEditHover, GuidelineStateDeployedConstantXSelectHide, GuidelineStateDeployedConstantXSelectLock, GuidelineStateDeployedConstantXUnselectEdit, GuidelineStateDeployedConstantXUnselectHide, GuidelineStateDeployedConstantXUnselectLock, GuidelineStateDeployedConstantYSelectEdit, GuidelineStateDeployedConstantYSelectEditAppearing, GuidelineStateDeployedConstantYSelectEditHover, GuidelineStateDeployedConstantYSelectHide, GuidelineStateDeployedConstantYSelectLock, GuidelineStateDeployedConstantYUnselectEdit, GuidelineStateDeployedConstantYUnselectHide, and GuidelineStateDeployedConstantYUnselectLock.

Definition at line 60 of file GuidelineStateDeployedAbstract.cpp.

61{
62 LOG4CPP_DEBUG_S ((*mainCat)) << "GuidelineStateDeployedAbstract::end";
63}
log4cpp::Category * mainCat
Definition Logger.cpp:14
#define LOG4CPP_DEBUG_S(logger)
Definition convenience.h:20

◆ handleMouseRelease()

void GuidelineStateDeployedAbstract::handleMouseRelease ( const QPointF & posScene)
virtual

At the end of dragging, clone the Guideline that owns the state machine where these states live.

Implements GuidelineStateAbstractBase.

Definition at line 65 of file GuidelineStateDeployedAbstract.cpp.

66{
67 // Noop
68}

◆ handleTimeout()

void GuidelineStateDeployedAbstract::handleTimeout ( )
virtual

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