Engauge Digitizer  2
FileCmdImport.cpp
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 "EngaugeAssert.h"
8 #include "FileCmdImport.h"
9 #include "FileCmdSerialize.h"
10 #include "Logger.h"
11 #include "MainWindow.h"
12 #include <QTextStream>
13 #include "QtToString.h"
14 #include <QXmlStreamReader>
15 #include "Xml.h"
16 
17 const QString CMD_DESCRIPTION ("Import File");
18 
19 FileCmdImport::FileCmdImport (QXmlStreamReader &reader) :
20  FileCmdAbstract (CMD_DESCRIPTION)
21 {
22  LOG4CPP_INFO_S ((*mainCat)) << "FileCmdImport::FileCmdImport";
23 
24  QXmlStreamAttributes attributes = reader.attributes();
25 
26  if (!attributes.hasAttribute(FILE_CMD_SERIALIZE_FILENAME)) {
27  xmlExitWithError (reader,
28  QString ("%1 %2")
29  .arg (QObject::tr ("Missing attribute"))
30  .arg (FILE_CMD_SERIALIZE_FILENAME));
31  }
32 
33  m_filename = attributes.value(FILE_CMD_SERIALIZE_FILENAME).toString();
34 }
35 
36 FileCmdImport::~FileCmdImport ()
37 {
38 }
39 
40 void FileCmdImport::redo (MainWindow &mainWindow)
41 {
42  LOG4CPP_INFO_S ((*mainCat)) << "FileCmdImport::redo";
43 
44  mainWindow.cmdFileImport (m_filename);
45 }
FileCmdImport(QXmlStreamReader &reader)
Constructor for parsing file script xml.
virtual void redo(MainWindow &mainWindow)
Apply this command, through MainWindow.
Base class for &#39;file commands&#39; that are used specifically for regression testing of file import/open/...
void cmdFileImport(const QString &fileName)
Import file. This is called from a file script command.
Definition: MainWindow.cpp:320
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:89