Engauge Digitizer
2
Toggle main menu visibility
Loading...
Searching...
No Matches
Guideline
GuidelineStateDeployedConstantTSelectEditAppearing.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
"
10
#include "
GuidelineStateContext.h
"
11
#include "
GuidelineStateDeployedConstantTSelectEditAppearing.h
"
12
#include "
Logger.h
"
13
#include <QObject>
14
#include <QTimer>
15
#include "
Transformation.h
"
16
17
GuidelineStateDeployedConstantTSelectEditAppearing::GuidelineStateDeployedConstantTSelectEditAppearing
(
GuidelineStateContext
&
context
) :
18
GuidelineStateDeployedConstantTAbstract
(
context
),
19
m_timer (nullptr)
20
{
21
m_timer =
new
QTimer ();
22
m_timer->setSingleShot (
true
);
23
}
24
25
GuidelineStateDeployedConstantTSelectEditAppearing::~GuidelineStateDeployedConstantTSelectEditAppearing
()
26
{
27
}
28
29
void
GuidelineStateDeployedConstantTSelectEditAppearing::begin
()
30
{
31
qCInfo(ENGAUGE_LOG) <<
"GuidelineStateDeployedConstantTSelectEditAppearing::begin"
32
<<
" identifier="
<<
context
().
guideline
().
identifier
().toLatin1().data();
33
34
beginCommon
(
true
,
35
false
);
36
37
context
().
guideline
().
setGraphicsItemVisible
(
true
);
// Stop hover and painting (doPoint only stops painting)
38
39
// (Re)connect to timer
40
QObject::connect (m_timer, SIGNAL (timeout ()), &
context
(), SLOT (slotTimeout ()));
41
m_timer->start (
APPEARING_TIMEOUT
);
42
}
43
44
bool
GuidelineStateDeployedConstantTSelectEditAppearing::doPaint
()
const
45
{
46
return
true
;
47
}
48
49
void
GuidelineStateDeployedConstantTSelectEditAppearing::end
()
50
{
51
qCInfo(ENGAUGE_LOG) <<
"GuidelineStateDeployedConstantTSelectEditAppearing::end"
;
52
53
// Cancel timer if active so it does not interrupt the next state
54
QObject::disconnect (m_timer, SIGNAL (timeout ()), &
context
(), SLOT (slotTimeout ()));
55
}
56
57
void
GuidelineStateDeployedConstantTSelectEditAppearing::handleActiveChange
(
bool
active)
58
{
59
if
(!active) {
60
context
().
requestStateTransition
(
GUIDELINE_STATE_DEPLOYED_CONSTANT_T_UNSELECT_EDIT
);
61
}
62
}
63
64
void
GuidelineStateDeployedConstantTSelectEditAppearing::handleGuidelineMode
(
bool
visible,
65
bool
locked)
66
{
67
// Currently visible and not locked
68
if
(visible && locked) {
69
context
().
requestStateTransition
(
GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_LOCK
);
70
}
else
if
(!visible) {
71
context
().
requestStateTransition
(
GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_HIDE
);
72
}
73
}
74
75
void
GuidelineStateDeployedConstantTSelectEditAppearing::handleHoverEnterEvent
()
76
{
77
context
().
requestStateTransition
(
GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_EDIT_HOVER
);
78
}
79
80
void
GuidelineStateDeployedConstantTSelectEditAppearing::handleHoverLeaveEvent
()
81
{
82
}
83
84
void
GuidelineStateDeployedConstantTSelectEditAppearing::handleMousePress
(
const
QPointF &posScene)
85
{
86
handleMousePressCommon
(posScene,
87
GUIDELINE_STATE_HANDLE_T
,
88
GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_EDIT
);
89
}
90
91
void
GuidelineStateDeployedConstantTSelectEditAppearing::handleTimeout
()
92
{
93
context
().
requestStateTransition
(
GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_EDIT
);
94
}
95
96
QString
GuidelineStateDeployedConstantTSelectEditAppearing::stateName
()
const
97
{
98
return
guidelineStateAsString
(
GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_EDIT_APPEARING
);
99
}
EngaugeAssert.h
GuidelineAbstract.h
APPEARING_TIMEOUT
const int APPEARING_TIMEOUT
Milliseconds before transition from Appearing state to Active state.
Definition
GuidelineStateAbstractBase.h:21
GuidelineStateContext.h
GuidelineStateDeployedConstantTSelectEditAppearing.h
guidelineStateAsString
QString guidelineStateAsString(GuidelineState state)
Definition
GuidelineState.cpp:14
GuidelineState.h
GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_EDIT_HOVER
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_EDIT_HOVER
Definition
GuidelineState.h:24
GUIDELINE_STATE_DEPLOYED_CONSTANT_T_UNSELECT_EDIT
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_T_UNSELECT_EDIT
Definition
GuidelineState.h:27
GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_EDIT
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_EDIT
Definition
GuidelineState.h:22
GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_LOCK
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_LOCK
Definition
GuidelineState.h:26
GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_EDIT_APPEARING
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_EDIT_APPEARING
Definition
GuidelineState.h:23
GUIDELINE_STATE_HANDLE_T
@ GUIDELINE_STATE_HANDLE_T
Definition
GuidelineState.h:48
GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_HIDE
@ GUIDELINE_STATE_DEPLOYED_CONSTANT_T_SELECT_HIDE
Definition
GuidelineState.h:25
Logger.h
Transformation.h
GuidelineAbstract::identifier
virtual QString identifier() const =0
Unique identifier from QGraphicsItem.
GuidelineAbstract::setGraphicsItemVisible
virtual void setGraphicsItemVisible(bool visible)=0
Wrapper for QGraphicsItem::setVisible.
GuidelineStateAbstractBase::handleMousePressCommon
void handleMousePressCommon(const QPointF &posAbsolute, GuidelineState stateHandle, GuidelineState stateDeployed)
Common mouse press handling.
Definition
GuidelineStateAbstractBase.cpp:32
GuidelineStateAbstractBase::context
GuidelineStateContext & context() const
Context in charge of the state classes.
Definition
GuidelineStateAbstractBase.cpp:27
GuidelineStateContext
Context class for state machine that belongs to the Guideline class.
Definition
GuidelineStateContext.h:132
GuidelineStateContext::guideline
GuidelineAbstract & guideline()
Guideline that owns this context class.
Definition
GuidelineStateContext.cpp:155
GuidelineStateContext::requestStateTransition
void requestStateTransition(GuidelineState guidelineState)
Request a state transition.
Definition
GuidelineStateContext.cpp:233
GuidelineStateDeployedAbstract::beginCommon
void beginCommon(bool hovering, bool locked)
Initialization common to all states.
Definition
GuidelineStateDeployedAbstract.cpp:26
GuidelineStateDeployedConstantTAbstract::GuidelineStateDeployedConstantTAbstract
GuidelineStateDeployedConstantTAbstract(GuidelineStateContext &context)
Single constructor.
Definition
GuidelineStateDeployedConstantTAbstract.cpp:16
GuidelineStateDeployedConstantTSelectEditAppearing::end
virtual void end()
Transition out of state.
Definition
GuidelineStateDeployedConstantTSelectEditAppearing.cpp:49
GuidelineStateDeployedConstantTSelectEditAppearing::handleTimeout
virtual void handleTimeout()
Handle timeout from Appearing state.
Definition
GuidelineStateDeployedConstantTSelectEditAppearing.cpp:91
GuidelineStateDeployedConstantTSelectEditAppearing::handleHoverLeaveEvent
virtual void handleHoverLeaveEvent()
If previously transparent before hover enter then make transparent again.
Definition
GuidelineStateDeployedConstantTSelectEditAppearing.cpp:80
GuidelineStateDeployedConstantTSelectEditAppearing::GuidelineStateDeployedConstantTSelectEditAppearing
GuidelineStateDeployedConstantTSelectEditAppearing(GuidelineStateContext &context)
Single constructor.
Definition
GuidelineStateDeployedConstantTSelectEditAppearing.cpp:17
GuidelineStateDeployedConstantTSelectEditAppearing::begin
virtual void begin()
Transition into state.
Definition
GuidelineStateDeployedConstantTSelectEditAppearing.cpp:29
GuidelineStateDeployedConstantTSelectEditAppearing::stateName
virtual QString stateName() const
Name of state as a string for debugging only.
Definition
GuidelineStateDeployedConstantTSelectEditAppearing.cpp:96
GuidelineStateDeployedConstantTSelectEditAppearing::handleActiveChange
virtual void handleActiveChange(bool active)
DigitizeState change so active status may (or may not) be toggled.
Definition
GuidelineStateDeployedConstantTSelectEditAppearing.cpp:57
GuidelineStateDeployedConstantTSelectEditAppearing::handleHoverEnterEvent
virtual void handleHoverEnterEvent()
If transparent then make visible when hover starts.
Definition
GuidelineStateDeployedConstantTSelectEditAppearing.cpp:75
GuidelineStateDeployedConstantTSelectEditAppearing::~GuidelineStateDeployedConstantTSelectEditAppearing
virtual ~GuidelineStateDeployedConstantTSelectEditAppearing()
Definition
GuidelineStateDeployedConstantTSelectEditAppearing.cpp:25
GuidelineStateDeployedConstantTSelectEditAppearing::doPaint
virtual bool doPaint() const
Allow/skip painting of the owner Guideline.
Definition
GuidelineStateDeployedConstantTSelectEditAppearing.cpp:44
GuidelineStateDeployedConstantTSelectEditAppearing::handleGuidelineMode
virtual void handleGuidelineMode(bool visible, bool locked)
User toggled Guideline visibility and/or locked mode.
Definition
GuidelineStateDeployedConstantTSelectEditAppearing.cpp:64
GuidelineStateDeployedConstantTSelectEditAppearing::handleMousePress
virtual void handleMousePress(const QPointF &posScene)
At the start of dragging, convert the Guideline into an invisible handle and visible slaved deployed ...
Definition
GuidelineStateDeployedConstantTSelectEditAppearing.cpp:84
Generated on
for Engauge Digitizer by
1.17.0