Engauge Digitizer
2
Toggle main menu visibility
Loading...
Searching...
No Matches
Centipede
CentipedeStateBuildPolar.cpp
Go to the documentation of this file.
1
/******************************************************************************************************
2
* (C) 2020 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 "
CentipedePairPolar.h
"
8
#include "
CentipedeStateBuildPolar.h
"
9
#include "
CentipedeStateContext.h
"
10
#include "
DocumentModelCoords.h
"
11
#include "
DocumentModelGuideline.h
"
12
#include "
GraphicsScene.h
"
13
#include "
Logger.h
"
14
#include "
Transformation.h
"
15
16
CentipedeStateBuildPolar::CentipedeStateBuildPolar
(
CentipedeStateContext
&
context
) :
17
CentipedeStateAbstractBase
(
context
),
18
m_centipedePair (0)
19
{
20
}
21
22
CentipedeStateBuildPolar::~CentipedeStateBuildPolar
()
23
{
24
delete
m_centipedePair;
25
}
26
27
void
CentipedeStateBuildPolar::begin
()
28
{
29
qCDebug(ENGAUGE_LOG) <<
"CentipedeStateBuildPolar::begin"
;
30
31
m_centipedePair =
new
CentipedePairPolar
(
context
().scene(),
32
context
().transformation(),
33
context
().modelGuideline (),
34
context
().modelCoords (),
35
context
().posClickScreen ());
36
}
37
38
void
CentipedeStateBuildPolar::end
()
39
{
40
qCDebug(ENGAUGE_LOG) <<
"CentipedeStateBuildPolar::end"
;
41
42
delete
m_centipedePair;
43
m_centipedePair =
nullptr
;
44
}
45
46
void
CentipedeStateBuildPolar::handleKeyPress
(Qt::Key
/* key */
,
47
bool
/* atLeastOneSelectedItem */
)
48
{
49
// Stop
50
context
().
requestDelayedStateTransition
(
CENTIPEDE_STATE_PREBUILD
);
51
}
52
53
void
CentipedeStateBuildPolar::handleMouseMove
(QPointF posScreen)
54
{
55
if
(m_centipedePair-> done (posScreen)) {
56
57
// Done so make a command and exit this state
58
context
().
createGuidelineCommand
(m_centipedePair->selectedXTFinal (),
59
m_centipedePair->valueFinal ());
60
context
().
requestDelayedStateTransition
(
CENTIPEDE_STATE_PREBUILD
);
61
62
}
else
{
63
64
m_centipedePair->move (posScreen);
65
66
}
67
}
68
69
void
CentipedeStateBuildPolar::handleMousePress
(QPointF
/* posScreen */
)
70
{
71
// Noop
72
}
73
74
void
CentipedeStateBuildPolar::handleMouseRelease
(QPointF
/* posScreen */
)
75
{
76
context
().
requestDelayedStateTransition
(
CENTIPEDE_STATE_PREBUILD
);
77
}
CentipedePairPolar.h
CentipedeStateBuildPolar.h
CentipedeStateContext.h
CENTIPEDE_STATE_PREBUILD
@ CENTIPEDE_STATE_PREBUILD
Definition
CentipedeState.h:16
DocumentModelCoords.h
DocumentModelGuideline.h
GraphicsScene.h
Logger.h
Transformation.h
CentipedePairPolar
Show two polar Centipede graphics items that the user interacts with by moving the cursor.
Definition
CentipedePairPolar.h:65
CentipedeStateAbstractBase::CentipedeStateAbstractBase
CentipedeStateAbstractBase(CentipedeStateContext &context)
Single constructor.
Definition
CentipedeStateAbstractBase.cpp:10
CentipedeStateAbstractBase::context
CentipedeStateContext & context()
Reference to the CentipedeStateContext that contains all the CentipedeStateAbstractBase subclasses.
Definition
CentipedeStateAbstractBase.cpp:19
CentipedeStateBuildPolar::begin
virtual void begin()
Method that is called at the exact moment a state is entered. Typically called just after end for the...
Definition
CentipedeStateBuildPolar.cpp:27
CentipedeStateBuildPolar::~CentipedeStateBuildPolar
virtual ~CentipedeStateBuildPolar()
Definition
CentipedeStateBuildPolar.cpp:22
CentipedeStateBuildPolar::CentipedeStateBuildPolar
CentipedeStateBuildPolar(CentipedeStateContext &context)
Single constructor.
Definition
CentipedeStateBuildPolar.cpp:16
CentipedeStateBuildPolar::handleMouseMove
virtual void handleMouseMove(QPointF posScreen)
Handle mouse move event.
Definition
CentipedeStateBuildPolar.cpp:53
CentipedeStateBuildPolar::end
virtual void end()
Method that is called at the exact moment a state is exited. Typically called just before start of th...
Definition
CentipedeStateBuildPolar.cpp:38
CentipedeStateBuildPolar::handleMouseRelease
virtual void handleMouseRelease(QPointF posScreen)
Handle mouse release event.
Definition
CentipedeStateBuildPolar.cpp:74
CentipedeStateBuildPolar::handleMousePress
virtual void handleMousePress(QPointF posScreen)
Handle mouse press event.
Definition
CentipedeStateBuildPolar.cpp:69
CentipedeStateBuildPolar::handleKeyPress
virtual void handleKeyPress(Qt::Key key, bool atLeastOneSelectedItem)
Handle key press event.
Definition
CentipedeStateBuildPolar.cpp:46
CentipedeStateContext
State context class for tracking the steps involved in creating centipedes in preparation for creatin...
Definition
CentipedeStateContext.h:26
CentipedeStateContext::requestDelayedStateTransition
void requestDelayedStateTransition(CentipedeState centipedeState)
Initiate state transition to be performed later, when CentipedeState is off the stack.
Definition
CentipedeStateContext.cpp:141
CentipedeStateContext::createGuidelineCommand
void createGuidelineCommand(bool selectedXTFinal, double valueFinal)
Create a command for creating a Guideline.
Definition
CentipedeStateContext.cpp:70
Generated on
for Engauge Digitizer by
1.17.0