Engauge Digitizer 2
Loading...
Searching...
No Matches
GuidelineStateDeployedConstantRSelectEditHover.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 "Transformation.h"
14
19
23
25{
26 LOG4CPP_INFO_S ((*mainCat)) << "GuidelineStateDeployedConstantRSelectEditHover::begin"
27 << " identifier=" << context().guideline().identifier().toLatin1().data();
28
29 beginCommon (true,
30 false);
31
32 context().guideline().setGraphicsItemVisible (true); // Stop hover and painting (doPoint only stops painting)
33}
34
36{
37 return true;
38}
39
41{
42 LOG4CPP_INFO_S ((*mainCat)) << "GuidelineStateDeployedConstantRSelectEditHover::end";
43}
44
51
53 bool locked)
54{
55 // Currently visible and not locked
56 if (visible && locked) {
58 } else if (!visible) {
60 }
61}
62
66
71
78
QString guidelineStateAsString(GuidelineState state)
@ GUIDELINE_STATE_HANDLE_R
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_EDIT
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_EDIT_HOVER
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_HIDE
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_R_SELECT_LOCK
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_R_UNSELECT_EDIT
log4cpp::Category * mainCat
Definition Logger.cpp:14
virtual QString identifier() const =0
Unique identifier from QGraphicsItem.
virtual void setGraphicsItemVisible(bool visible)=0
Wrapper for QGraphicsItem::setVisible.
void handleMousePressCommon(const QPointF &posAbsolute, GuidelineState stateHandle, GuidelineState stateDeployed)
Common mouse press handling.
GuidelineStateContext & context() const
Context in charge of the state classes.
Context class for state machine that belongs to the Guideline class.
GuidelineAbstract & guideline()
Guideline that owns this context class.
void requestStateTransition(GuidelineState guidelineState)
Request a state transition.
void beginCommon(bool hovering, bool locked)
Initialization common to all states.
GuidelineStateDeployedConstantRAbstract(GuidelineStateContext &context)
Single constructor.
virtual void handleHoverEnterEvent()
If transparent then make visible when hover starts.
virtual void handleGuidelineMode(bool visible, bool locked)
User toggled Guideline visibility and/or locked mode.
virtual void handleActiveChange(bool active)
DigitizeState change so active status may (or may not) be toggled.
virtual bool doPaint() const
Allow/skip painting of the owner Guideline.
GuidelineStateDeployedConstantRSelectEditHover(GuidelineStateContext &context)
Single constructor.
virtual void handleHoverLeaveEvent()
If previously transparent before hover enter then make transparent again.
virtual QString stateName() const
Name of state as a string for debugging only.
virtual void handleMousePress(const QPointF &posScene)
At the start of dragging, convert the Guideline into an invisible handle and visible slaved deployed ...
#define LOG4CPP_INFO_S(logger)
Definition convenience.h:18