Isis Developer Reference
WorkOrderFactory.h
Go to the documentation of this file.
1#ifndef WorkOrderFactory_H
2#define WorkOrderFactory_H
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12
13#include <QObject>
14
15class QString;
16
17namespace Isis {
18 class Project;
19 class WorkOrder;
20
54 public:
55 static WorkOrder *create(Project *project, QString type);
56
57 private:
58 template<typename ClassType>
59 static void tryType(QString type, Project *project, WorkOrder * &result) {
60 if (ClassType::staticMetaObject.className() == type) {
61 result = new ClassType(project);
62 }
63 }
73
74 Q_DISABLE_COPY(WorkOrderFactory);
75 };
76}
77
78#endif // WorkOrderFactory_H
The main project for ipce.
Definition Project.h:289
Instantiate work orders from QString versions of the class name.
Definition WorkOrderFactory.h:53
static WorkOrder * create(Project *project, QString type)
This instantiates a work order given a project and a type name (class name in a string).
Definition WorkOrderFactory.cpp:50
Provide Undo/redo abilities, serialization, and history for an operation.
Definition WorkOrder.h:311
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16