Engauge Digitizer 2
Loading...
Searching...
No Matches
FileCmdFactory Class Reference

Factory that creates FileCmds from a file cmd script file, in xml format. More...

#include <FileCmdFactory.h>

Collaboration diagram for FileCmdFactory:
Collaboration graph

Public Member Functions

 FileCmdFactory ()
 Single constructor.
virtual ~FileCmdFactory ()
FileCmdAbstractcreateFileCmd (QXmlStreamReader &reader) const
 Create one FileCmdAbstract from the specified xml subtree.

Detailed Description

Factory that creates FileCmds from a file cmd script file, in xml format.

Definition at line 15 of file FileCmdFactory.h.

Constructor & Destructor Documentation

◆ FileCmdFactory()

FileCmdFactory::FileCmdFactory ( )

Single constructor.

Definition at line 17 of file FileCmdFactory.cpp.

18{
19}

◆ ~FileCmdFactory()

FileCmdFactory::~FileCmdFactory ( )
virtual

Definition at line 21 of file FileCmdFactory.cpp.

22{
23}

Member Function Documentation

◆ createFileCmd()

FileCmdAbstract * FileCmdFactory::createFileCmd ( QXmlStreamReader & reader) const

Create one FileCmdAbstract from the specified xml subtree.

Definition at line 25 of file FileCmdFactory.cpp.

26{
27 FileCmdAbstract *cmd = nullptr;
28
29 QXmlStreamAttributes attributes = reader.attributes();
30 if (!attributes.hasAttribute (FILE_CMD_SERIALIZE_CMD_TYPE)) {
31 xmlExitWithError (reader,
32 QString ("Missing attribute %1").arg (FILE_CMD_SERIALIZE_CMD_TYPE));
33 }
34
35 // Get common attributes
36 QString cmdType = attributes.value (FILE_CMD_SERIALIZE_CMD_TYPE).toString();
37
38 if (cmdType == FILE_CMD_SERIALIZE_CMD_FILE_CLOSE) {
39 cmd = new FileCmdClose (reader);
40 } else if (cmdType == FILE_CMD_SERIALIZE_CMD_FILE_EXPORT) {
41 cmd = new FileCmdExport (reader);
42 } else if (cmdType == FILE_CMD_SERIALIZE_CMD_FILE_IMPORT) {
43 cmd = new FileCmdImport (reader);
44 } else if (cmdType == FILE_CMD_SERIALIZE_CMD_FILE_OPEN) {
45 cmd = new FileCmdOpen (reader);
46 } else {
47
48 // Invalid xml
49 ENGAUGE_ASSERT (false);
50
51 }
52
53 return cmd;
54}
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT.
const QString FILE_CMD_SERIALIZE_CMD_FILE_CLOSE
const QString FILE_CMD_SERIALIZE_CMD_FILE_OPEN
const QString FILE_CMD_SERIALIZE_CMD_FILE_EXPORT
const QString FILE_CMD_SERIALIZE_CMD_TYPE
const QString FILE_CMD_SERIALIZE_CMD_FILE_IMPORT
void xmlExitWithError(QXmlStreamReader &reader, const QString &message)
Show specified message for an error while reading xml, then quit.
Definition Xml.cpp:25

The documentation for this class was generated from the following files: