Engauge Digitizer  2
DocumentScrub.cpp
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 "Document.h"
10 #include "DocumentScrub.h"
11 #include "Logger.h"
12 #include "MainWindow.h"
13 #include "Point.h"
14 #include <QMessageBox>
15 #include "Version.h"
16 
18 {
19  LOG4CPP_INFO_S ((*mainCat)) << "DocumentScrub::DocumentScrub";
20 }
21 
22 void DocumentScrub::check (MainWindow &mainWindow,
23  const Document &document) const
24 {
25  LOG4CPP_INFO_S ((*mainCat)) << "DocumentScrub::check";
26 
28 
29  Functor2wRet<const QString &, const Point &, CallbackSearchReturn> ftorWithCallback = functor_ret (ftor,
31 
32  document.iterateThroughCurvePointsAxes (ftorWithCallback);
33  document.iterateThroughCurvesPointsGraphs (ftorWithCallback);
34 
35  if (!ftor.success ()) {
36 
37  QMessageBox::critical (&mainWindow,
38  engaugeWindowTitle (),
39  QString ("%1: %2")
40  .arg (QObject::tr ("Point identifier error encountered. Please notify the Engauge "
41  "developers along with any comments about the country and langauge locale. "
42  "The invalid point name was"))
43  .arg (ftor.badPointName ().replace (POINT_IDENTIFIER_DELIMITER_SAFE, "<tab>")));
44  exit (-1);
45  }
46 }
bool success() const
Scrub overall result.
void iterateThroughCurvePointsAxes(const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
See Curve::iterateThroughCurvePoints, for the axes curve.
Definition: Document.cpp:442
CallbackSearchReturn callback(const QString &curveName, const Point &point)
Callback method.
Callback for scrubbing Document. Any state error will be caught.
Storage of one imported image and the data attached to that image.
Definition: Document.h:41
QString badPointName() const
Scrub result details. Applies when unsuccessful.
void iterateThroughCurvesPointsGraphs(const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
See Curve::iterateThroughCurvePoints, for all the graphs curves.
Definition: Document.cpp:465
void check(MainWindow &mainWindow, const Document &document) const
Check document state.
DocumentScrub()
Single constructor.
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:89