Engauge Digitizer  2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DocumentScrub.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 
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,
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 language locale. "
42  "The invalid point name was"))
43  .arg (ftor.badPointName ().replace (POINT_IDENTIFIER_DELIMITER_SAFE, "<tab>")));
44  exit (-1);
45  }
46 }
QString engaugeWindowTitle()
Text for title bars of dialogs.
Definition: Version.cpp:14
void iterateThroughCurvePointsAxes(const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
See Curve::iterateThroughCurvePoints, for the axes curve.
Definition: Document.cpp:449
#define LOG4CPP_INFO_S(logger)
Definition: convenience.h:18
CallbackSearchReturn callback(const QString &curveName, const Point &point)
Callback method.
bool success() const
Scrub overall result.
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
log4cpp::Category * mainCat
Definition: Logger.cpp:14
void iterateThroughCurvesPointsGraphs(const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
See Curve::iterateThroughCurvePoints, for all the graphs curves.
Definition: Document.cpp:472
void check(MainWindow &mainWindow, const Document &document) const
Check document state.
QString badPointName() const
Scrub result details. Applies when unsuccessful.
DocumentScrub()
Single constructor.
const QString POINT_IDENTIFIER_DELIMITER_SAFE
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:91