Engauge Digitizer
2
Toggle main menu visibility
Loading...
Searching...
No Matches
Callback
CallbackDocumentScrub.cpp
Go to the documentation of this file.
1
/******************************************************************************************************
2
* (C) 2018 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 "
CallbackDocumentScrub.h
"
8
#include "
CallbackSearchReturn.h
"
9
#include "
Point.h
"
10
#include <QStringList>
11
12
extern
const
QString
AXIS_CURVE_NAME
;
13
14
CallbackDocumentScrub::CallbackDocumentScrub
() :
15
m_success (true)
16
{
17
}
18
19
QString
CallbackDocumentScrub::badPointName
()
const
20
{
21
return
m_badPointName;
22
}
23
24
CallbackSearchReturn
CallbackDocumentScrub::callback
(
const
QString &
/* curveName */
,
25
const
Point
&point)
26
{
27
QString identifier = point.
identifier
();
28
29
QStringList fields = identifier.split (
POINT_IDENTIFIER_DELIMITER_SAFE
);
30
31
bool
successBefore = m_success;
32
33
// Required format is defined by Point::temporaryPointIdentifier and Point::uniqueIdentifierGenerator
34
if
(fields.size () == 2) {
35
36
// Temporary point
37
bool
isLastNumeric =
true
;
38
fields [1].toInt (&isLastNumeric);
39
if
(fields [0] !=
AXIS_CURVE_NAME
||
40
!isLastNumeric) {
41
42
m_success =
false
;
43
44
}
45
46
}
else
if
(fields.size () == 3) {
47
48
// Regular point
49
bool
isLastNumeric =
true
;
50
fields [2].toInt (&isLastNumeric);
51
if
(!isLastNumeric) {
52
53
m_success =
false
;
54
55
}
56
57
}
else
{
58
59
// Unexpected number of arguments
60
m_success =
false
;
61
62
}
63
64
if
(!m_success && successBefore) {
65
m_badPointName = point.
identifier
();
66
}
67
68
return
(m_success ?
CALLBACK_SEARCH_RETURN_CONTINUE
:
69
CALLBACK_SEARCH_RETURN_INTERRUPT
);
70
}
71
72
bool
CallbackDocumentScrub::success
()
const
73
{
74
return
m_success;
75
}
AXIS_CURVE_NAME
const QString AXIS_CURVE_NAME
CallbackDocumentScrub.h
CallbackSearchReturn.h
CallbackSearchReturn
CallbackSearchReturn
Return values for search callback methods.
Definition
CallbackSearchReturn.h:18
CALLBACK_SEARCH_RETURN_CONTINUE
@ CALLBACK_SEARCH_RETURN_CONTINUE
Continue normal execution of the search.
Definition
CallbackSearchReturn.h:19
CALLBACK_SEARCH_RETURN_INTERRUPT
@ CALLBACK_SEARCH_RETURN_INTERRUPT
Immediately terminate the current search.
Definition
CallbackSearchReturn.h:20
Point.h
POINT_IDENTIFIER_DELIMITER_SAFE
const QString POINT_IDENTIFIER_DELIMITER_SAFE
CallbackDocumentScrub::callback
CallbackSearchReturn callback(const QString &curveName, const Point &point)
Callback method.
Definition
CallbackDocumentScrub.cpp:24
CallbackDocumentScrub::CallbackDocumentScrub
CallbackDocumentScrub()
Single constructor.
Definition
CallbackDocumentScrub.cpp:14
CallbackDocumentScrub::success
bool success() const
Scrub overall result.
Definition
CallbackDocumentScrub.cpp:72
CallbackDocumentScrub::badPointName
QString badPointName() const
Scrub result details. Applies when unsuccessful.
Definition
CallbackDocumentScrub.cpp:19
Point
Class that represents one digitized point. The screen-to-graph coordinate transformation is always ex...
Definition
Point.h:26
Point::identifier
QString identifier() const
Unique identifier for a specific Point.
Definition
Point.cpp:268
Generated on
for Engauge Digitizer by
1.17.0