Files
MagicSetEditor2/src/data/export_template.cpp
T
Twan van Laarhoven e8e7e10fa0 Make extension optional in --export command.
Added add_extension function
Added ExportTemplate::byName
Use ExportTemplate::byName in main
2020-04-21 00:23:42 +02:00

56 lines
2.0 KiB
C++

//+----------------------------------------------------------------------------+
//| Description: Magic Set Editor - Program to make Magic (tm) cards |
//| Copyright: (C) 2001 - 2017 Twan van Laarhoven and Sean Hunt |
//| License: GNU General Public License 2 or later (see file COPYING) |
//+----------------------------------------------------------------------------+
// ----------------------------------------------------------------------------- : Includes
#include <util/prec.hpp>
#include <data/export_template.hpp>
#include <data/game.hpp>
#include <data/set.hpp>
#include <data/field.hpp>
#include <util/io/package_manager.hpp>
// ----------------------------------------------------------------------------- : Export template, basics
ExportTemplate::ExportTemplate()
: file_type(_("HTML files (*.html)|*.html"))
, create_directory(false)
{}
ExportTemplateP ExportTemplate::byName(const String& name) {
return package_manager.open<ExportTemplate>(add_extension(name, _(".mse-export-template")));
}
String ExportTemplate::typeNameStatic() { return _("export-template"); }
String ExportTemplate::typeName() const { return _("export-template"); }
Version ExportTemplate::fileVersion() const { return file_version_export_template; }
void ExportTemplate::validate(Version) {
if (!game) {
throw Error(_ERROR_1_("no game specified",_TYPE_("export template")));
}
// an export template depends on the game it is made for
requireDependency(game.get());
}
IMPLEMENT_REFLECTION(ExportTemplate) {
REFLECT_BASE(Packaged);
REFLECT(game);
REFLECT(file_type);
REFLECT(create_directory);
REFLECT(option_fields);
REFLECT_IF_READING option_style.init(option_fields);
REFLECT(option_style);
REFLECT(script);
}
// ----------------------------------------------------------------------------- : ExportInfo
IMPLEMENT_DYNAMIC_ARG(ExportInfo*, export_info, nullptr);
ExportInfo::ExportInfo() : allow_writes_outside(false) {}