Engauge Digitizer
2
Toggle main menu visibility
Loading...
Searching...
No Matches
Tutorial
TutorialStatePointMatch.cpp
Go to the documentation of this file.
1
/******************************************************************************************************
2
* (C) 2014 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 "
Logger.h
"
8
#include <qdebug.h>
9
#include <QGraphicsPixmapItem>
10
#include <QGraphicsScene>
11
#include <QGraphicsView>
12
#include "
TutorialButton.h
"
13
#include "
TutorialDlg.h
"
14
#include "
TutorialStateContext.h
"
15
#include "
TutorialStatePointMatch.h
"
16
17
TutorialStatePointMatch::TutorialStatePointMatch
(
TutorialStateContext
&
context
) :
18
TutorialStateAbstractBase
(
context
),
19
m_title (nullptr),
20
m_background (nullptr),
21
m_text0 (nullptr),
22
m_text1 (nullptr),
23
m_text2 (nullptr),
24
m_text3 (nullptr),
25
m_previous (nullptr),
26
m_next (nullptr)
27
{
28
qCInfo(ENGAUGE_LOG) <<
"TutorialStatePointMatch::TutorialStatePointMatch"
;
29
}
30
31
void
TutorialStatePointMatch::begin
()
32
{
33
qCInfo(ENGAUGE_LOG) <<
"TutorialStatePointMatch::begin ()"
;
34
35
context
().
tutorialDlg
().
scene
().clear ();
36
37
m_title =
createTitle
(tr (
"Point Match"
));
38
m_background =
createPixmapItem
(
":/engauge/img/panel_point_match.png"
,
39
QPoint (0, 30));
40
m_text0 =
createTextItem
(tr (
"In Point Match mode, you pick\n"
41
"one sample point, and Engauge\n"
42
"then finds all matching points.\n\n"
43
"Step 1 - Click on Point Match mode."
),
44
QPoint (300, 40));
45
m_text1 =
createTextItem
(tr (
"Step 2 - Select the curve the new\n"
46
"points will belong to."
),
47
QPoint (320, 140));
48
m_text2 =
createTextItem
(tr (
"Step 3 - Click on a typical point.\n"
49
"The circle turns green when it\n"
50
"contains what may be a point."
),
51
QPoint (320, 200));
52
m_text3 =
createTextItem
(tr (
"Step 4 - Engauge will show a\n"
53
"matched point with a yellow cross.\n"
54
"Press the Right Arrow key to accept\n"
55
"the matched point. Repeat this step\n"
56
"until there are no more points."
),
57
QPoint (320, 270));
58
59
QSize backgroundSize =
context
().
tutorialDlg
().
backgroundSize
();
60
61
m_previous =
new
TutorialButton
(tr (
"Previous"
),
62
context
().tutorialDlg().scene());
63
m_previous->setGeometry (QPoint (
buttonMargin
(),
64
backgroundSize.height() -
buttonMargin
() - m_previous->size().height()));
65
connect (m_previous, SIGNAL (signalTriggered ()),
this
, SLOT (
slotPrevious
()));
66
67
m_next =
new
TutorialButton
(tr (
"Next"
),
68
context
().tutorialDlg().scene());
69
m_next->setGeometry (QPoint (backgroundSize.width () -
buttonMargin
() - m_next->size ().width (),
70
backgroundSize.height () -
buttonMargin
() - m_next->size ().height ()));
71
connect (m_next, SIGNAL (signalTriggered ()),
this
, SLOT (
slotNext
()));
72
}
73
74
void
TutorialStatePointMatch::end
()
75
{
76
qCInfo(ENGAUGE_LOG) <<
"TutorialStatePointMatch::end ()"
;
77
78
// It is not safe to remove and deallocate items here since an active TutorialButton
79
// may be on the stack. So we clear the scene as the first step in the next begin()
80
}
81
82
void
TutorialStatePointMatch::slotNext
()
83
{
84
qCInfo(ENGAUGE_LOG) <<
"TutorialStatePointMatch::slotNext"
;
85
86
context
().
requestDelayedStateTransition
(
TUTORIAL_STATE_CHECKLIST_WIZARD_POINTS
);
87
}
88
89
void
TutorialStatePointMatch::slotPrevious
()
90
{
91
qCInfo(ENGAUGE_LOG) <<
"TutorialStatePointMatch::slotPrevious"
;
92
93
context
().
requestDelayedStateTransition
(
TUTORIAL_STATE_CURVE_TYPE
);
94
}
Logger.h
TutorialButton.h
TutorialDlg.h
TUTORIAL_STATE_CURVE_TYPE
@ TUTORIAL_STATE_CURVE_TYPE
Definition
TutorialStateAbstractBase.h:18
TUTORIAL_STATE_CHECKLIST_WIZARD_POINTS
@ TUTORIAL_STATE_CHECKLIST_WIZARD_POINTS
Definition
TutorialStateAbstractBase.h:15
TutorialStateContext.h
TutorialStatePointMatch.h
TutorialButton
Show a button with text for clicking ion. The button is implemented using layering of two graphics it...
Definition
TutorialButton.h:21
TutorialDlg::scene
QGraphicsScene & scene()
Single scene the covers the entire tutorial dialog.
Definition
TutorialDlg.cpp:76
TutorialDlg::backgroundSize
QSize backgroundSize() const
Make geometry available for layout.
Definition
TutorialDlg.cpp:44
TutorialStateAbstractBase::TutorialStateAbstractBase
TutorialStateAbstractBase(TutorialStateContext &context)
Single constructor.
Definition
TutorialStateAbstractBase.cpp:18
TutorialStateAbstractBase::createTitle
QGraphicsTextItem * createTitle(const QString &text)
Factory method for title items.
Definition
TutorialStateAbstractBase.cpp:57
TutorialStateAbstractBase::createTextItem
QGraphicsTextItem * createTextItem(const QString &text, const QPoint &pos)
Factory method for text items.
Definition
TutorialStateAbstractBase.cpp:47
TutorialStateAbstractBase::context
TutorialStateContext & context()
Context class for the tutorial state machine.
Definition
TutorialStateAbstractBase.cpp:32
TutorialStateAbstractBase::createPixmapItem
QGraphicsPixmapItem * createPixmapItem(const QString &resource, const QPoint &pos)
Factory method for pixmap items.
Definition
TutorialStateAbstractBase.cpp:37
TutorialStateAbstractBase::buttonMargin
int buttonMargin() const
Buttons are placed up against bottom side, and left or right side, separated by this margin.
Definition
TutorialStateAbstractBase.cpp:27
TutorialStateContext
Context class for tutorial state machine.
Definition
TutorialStateContext.h:21
TutorialStateContext::requestDelayedStateTransition
void requestDelayedStateTransition(TutorialState tutorialState)
Request a transition to the specified state from the current state.
Definition
TutorialStateContext.cpp:86
TutorialStateContext::tutorialDlg
TutorialDlg & tutorialDlg()
Access to tutorial dialogs and its scene.
Definition
TutorialStateContext.cpp:109
TutorialStatePointMatch::end
virtual void end()
Transition out of this state.
Definition
TutorialStatePointMatch.cpp:74
TutorialStatePointMatch::begin
virtual void begin()
Transition into this state.
Definition
TutorialStatePointMatch.cpp:31
TutorialStatePointMatch::slotNext
void slotNext()
Slot called when next button is triggered.
Definition
TutorialStatePointMatch.cpp:82
TutorialStatePointMatch::TutorialStatePointMatch
TutorialStatePointMatch(TutorialStateContext &context)
Single constructor.
Definition
TutorialStatePointMatch.cpp:17
TutorialStatePointMatch::slotPrevious
void slotPrevious()
Slot called to return to previous panel.
Definition
TutorialStatePointMatch.cpp:89
Generated on
for Engauge Digitizer by
1.17.0