diff --git a/CodeGenerator/codegenerator.cpp b/CodeGenerator/codegenerator.cpp index 5e2ebe9..1c7d243 100644 --- a/CodeGenerator/codegenerator.cpp +++ b/CodeGenerator/codegenerator.cpp @@ -1399,4 +1399,299 @@ void GeneratedParameter::setParameterDescription(const QString& parameterDescrip m_parameterDescription = parameterDescription; } +void XFACodeGenerator::generateCode(const QDomDocument& document, QString headerName, QString sourceName) +{ + QString startMark = "/* START GENERATED CODE */"; + QString endMark = "/* END GENERATED CODE */"; + + loadClasses(document); + + QFile headerFile(headerName); + if (headerFile.exists()) + { + if (headerFile.open(QFile::ReadOnly | QFile::Text)) + { + QString utfCode = QString::fromUtf8(headerFile.readAll()); + headerFile.close(); + + int startIndex = utfCode.indexOf(startMark, Qt::CaseSensitive) + startMark.length(); + int endIndex = utfCode.indexOf(endMark, Qt::CaseSensitive); + + QString frontPart = utfCode.left(startIndex); + QString backPart = utfCode.mid(endIndex); + QString headerGeneratedCode = generateHeader(); + QString allCode = frontPart + headerGeneratedCode + backPart; + + headerFile.open(QFile::WriteOnly | QFile::Truncate); + headerFile.write(allCode.toUtf8()); + headerFile.close(); + } + } + + QFile sourceFile(sourceName); + if (sourceFile.exists()) + { + if (sourceFile.open(QFile::ReadOnly | QFile::Text)) + { + QString utfCode = QString::fromUtf8(sourceFile.readAll()); + sourceFile.close(); + + int startIndex = utfCode.indexOf(startMark, Qt::CaseSensitive) + startMark.length(); + int endIndex = utfCode.indexOf(endMark, Qt::CaseSensitive); + + QString frontPart = utfCode.left(startIndex); + QString backPart = utfCode.mid(endIndex); + QString sourceGeneratedCode = generateSource(); + QString allCode = frontPart + sourceGeneratedCode + backPart; + + sourceFile.open(QFile::WriteOnly | QFile::Truncate); + sourceFile.write(allCode.toUtf8()); + sourceFile.close(); + } + } +} + +void XFACodeGenerator::loadClasses(const QDomDocument& document) +{ + QDomElement xfaElement = document.firstChildElement("xfa"); + + if (xfaElement.isNull()) + { + return; + } + + QDomElement element = xfaElement.firstChildElement("template"); + + if (element.isNull()) + { + return; + } + + QDomNodeList childNodes = element.elementsByTagName("class"); + const int size = childNodes.size(); + m_classes.reserve(size); + for (int i = 0; i < size; ++i) + { + QDomNode child = childNodes.item(i); + + if (!child.isElement()) + { + continue; + } + + Class myClass; + + QDomElement element = child.toElement(); + + // Class name + myClass.className = element.attribute("name"); + + // Attributes + QDomNodeList attributes = element.elementsByTagName("property"); + const int attributeCount = attributes.size(); + for (int ai = 0; ai < attributeCount; ++ai) + { + QDomElement attributeElement = attributes.item(ai).toElement(); + QString name = attributeElement.attribute("name"); + QString type = attributeElement.attribute("type"); + QString defaultValue = attributeElement.attribute("default"); + QString id = QString("%1_%2").arg(name, type); + + Attribute attribute; + attribute.attributeName = name; + attribute.defaultValue = defaultValue; + attribute.type = createType(id, name, type); + + myClass.attributes.emplace_back(std::move(attribute)); + } + + m_classes.emplace_back(std::move(myClass)); + } +} + +const XFACodeGenerator::Type* XFACodeGenerator::createType(QString id, QString name, QString type) +{ + QString simpleType; + QString adjustedId = id; + + if (type == "cdata" || type == "pcdata") + { + simpleType = "QString"; + adjustedId = "QString"; + } + else if (type == "0 | 1") + { + simpleType = "bool"; + adjustedId = "bool"; + } + else if (type.contains("measurement")) + { + simpleType = "XFA_Measurement"; + adjustedId = "XFA_Measurement"; + } + else if (type.contains("integer")) + { + simpleType = "PDFInteger"; + adjustedId = "PDFInteger"; + } + else if (type.contains("angle")) + { + simpleType = "PDFReal"; + adjustedId = "PDFReal"; + } + + QString enumValuesString = type; + + auto it = m_types.find(adjustedId); + if (it == m_types.end()) + { + Type type; + type.id = adjustedId; + type.typeName = simpleType; + + if (type.typeName.isEmpty()) + { + QString typeName = name.toUpper(); + QString finalTypeName = typeName; + + int i = 1; + while (m_types.count(finalTypeName)) + { + finalTypeName = typeName + QString::number(i++); + } + + QString enumValues = enumValuesString.remove(QChar::Space); + type.enumValues = enumValues.split("|"); + + type.typeName = finalTypeName; + } + + it = m_types.insert(std::make_pair(type.id, type)).first; + } + + return &it->second; +} + +QString XFACodeGenerator::generateSource() const +{ + QByteArray ba; + { + QTextStream stream(&ba, QIODevice::WriteOnly); + stream.setCodec("UTF-8"); + stream.setRealNumberPrecision(3); + stream.setRealNumberNotation(QTextStream::FixedNotation); + + stream << Qt::endl << Qt::endl; + stream << "namespace xfa" << Qt::endl; + stream << "{" << Qt::endl << Qt::endl; + + stream << "class XFA_BaseNode : public XFA_AbstractNode" << Qt::endl; + stream << "{" << Qt::endl; + stream << "public:" << Qt::endl; + + stream << Qt::endl; + + for (const auto& typeItem : m_types) + { + const Type& type = typeItem.second; + + if (type.enumValues.isEmpty()) + { + continue; + } + + stream << QString(" enum class %1").arg(type.typeName) << Qt::endl; + stream << " {" << Qt::endl; + for (const QString& enumValue : type.enumValues) + { + stream << " " << getEnumValueName(enumValue) << "," << Qt::endl; + } + stream << " };" << Qt::endl << Qt::endl; + } + + stream << "};" << Qt::endl << Qt::endl; + + for (const Class& myClass : m_classes) + { + stream << QString("class XFA_%1 : public XFA_BaseNode").arg(myClass.className) << Qt::endl; + stream << "{" << Qt::endl; + stream << "public:" << Qt::endl; + + QStringList attributeGetters; + QStringList attributeDeclarations; + for (const Attribute& attribute : myClass.attributes) + { + QString attributeFieldName = QString("m_%1").arg(attribute.attributeName); + QString attributeGetterName = attribute.attributeName; + attributeGetterName[0] = attributeGetterName.front().toUpper(); + QString attributeDeclaration = QString(" XFA_Attribute<%1> %2;").arg(attribute.type->typeName, attributeFieldName); + QString attributeGetter = QString(" const %1* get%2() const { return %3.getValue(); }").arg(attribute.type->typeName, attributeGetterName, attributeFieldName); + attributeDeclarations << attributeDeclaration; + attributeGetters << attributeGetter; + } + + for (const QString& getter : attributeGetters) + { + stream << getter << Qt::endl; + } + + stream << Qt::endl; + stream << "private:" << Qt::endl; + stream << " /* properties */" << Qt::endl; + + for (const QString& getter : attributeDeclarations) + { + stream << getter << Qt::endl; + } + + stream << Qt::endl; + + stream << "};" << Qt::endl << Qt::endl; + } + + stream << "} // namespace xfa" << Qt::endl; + stream << Qt::endl << Qt::endl; + } + + return QString::fromUtf8(ba); +} + +QString XFACodeGenerator::getEnumValueName(QString enumName) const +{ + if (!enumName.isEmpty()) + { + enumName[0] = enumName.front().toUpper(); + + if (enumName.front().isDigit()) + { + enumName.push_front("_"); + } + + enumName.replace("-", "_"); + } + + return enumName; +} + +QString XFACodeGenerator::generateHeader() const +{ + QByteArray ba; + { + QTextStream stream(&ba, QIODevice::WriteOnly); + stream.setCodec("UTF-8"); + stream.setRealNumberPrecision(3); + stream.setRealNumberNotation(QTextStream::FixedNotation); + + stream << Qt::endl << Qt::endl; + stream << "namespace xfa" << Qt::endl; + stream << "{" << Qt::endl; + + + stream << "} // namespace xfa" << Qt::endl; + stream << Qt::endl << Qt::endl; + } + + return QString::fromUtf8(ba); +} + } diff --git a/CodeGenerator/codegenerator.h b/CodeGenerator/codegenerator.h index 46afb1e..bdac1e7 100644 --- a/CodeGenerator/codegenerator.h +++ b/CodeGenerator/codegenerator.h @@ -448,7 +448,43 @@ private: class XFACodeGenerator { +public: + XFACodeGenerator() = default; + void generateCode(const QDomDocument& document, QString headerName, QString sourceName); + +private: + + struct Type + { + QString id; + QString typeName; + QStringList enumValues; + }; + + struct Attribute + { + QString attributeName; + const Type* type = nullptr; + QString defaultValue; + }; + + struct Class + { + QString className; + QString valueType; + std::vector attributes; + }; + + void loadClasses(const QDomDocument& document); + const Type* createType(QString id, QString name, QString type); + + QString generateHeader() const; + QString generateSource() const; + QString getEnumValueName(QString enumName) const; + + std::vector m_classes; + std::map m_types; }; } // namespace codegen diff --git a/CodeGenerator/generatormainwindow.cpp b/CodeGenerator/generatormainwindow.cpp index d8faeff..3bc8e58 100644 --- a/CodeGenerator/generatormainwindow.cpp +++ b/CodeGenerator/generatormainwindow.cpp @@ -560,5 +560,15 @@ void GeneratorMainWindow::on_actionSet_XFA_description_triggered() void GeneratorMainWindow::on_actionGenerate_XFA_code_triggered() { + codegen::XFACodeGenerator generator; + QFile file(m_XFAdefinitionFileName); + if (file.open(QFile::ReadOnly)) + { + QDomDocument document; + document.setContent(&file); + file.close(); + + generator.generateCode(document, m_XFAheaderFileName, m_XFAsourceFileName); + } } diff --git a/Pdf4QtLib/sources/pdfxfaengine.cpp b/Pdf4QtLib/sources/pdfxfaengine.cpp index cc5235c..dec76b3 100644 --- a/Pdf4QtLib/sources/pdfxfaengine.cpp +++ b/Pdf4QtLib/sources/pdfxfaengine.cpp @@ -23,6 +23,1455 @@ namespace pdf /* START GENERATED CODE */ +namespace xfa +{ + +class XFA_BaseNode : public XFA_AbstractNode +{ +public: + + enum class ACCESS + { + Open, + NonInteractive, + Protected, + ReadOnly, + }; + enum class ACTIVITY + { + Click, + Change, + DocClose, + DocReady, + Enter, + Exit, + Full, + IndexChange, + Initialize, + MouseDown, + MouseEnter, + MouseExit, + MouseUp, + PostExecute, + PostOpen, + PostPrint, + PostSave, + PostSign, + PostSubmit, + PreExecute, + PreOpen, + PrePrint, + PreSave, + PreSign, + PreSubmit, + Ready, + ValidationState, + }; + enum class AFTER + { + Auto, + ContentArea, + PageArea, + PageEven, + PageOdd, + }; + enum class ANCHORTYPE + { + TopLeft, + BottomCenter, + BottomLeft, + BottomRight, + MiddleCenter, + MiddleLeft, + MiddleRight, + TopCenter, + TopRight, + }; + enum class BEFORE + { + Auto, + ContentArea, + PageArea, + PageEven, + PageOdd, + }; + enum class BREAK + { + Close, + Open, + }; + enum class CAP + { + Square, + Butt, + Round, + }; + enum class CHECKSUM + { + None, + _1mod10, + _1mod10_1mod11, + _2mod10, + Auto, + }; + enum class COMMITON + { + Select, + Exit, + }; + enum class CREDENTIALSERVERPOLICY + { + Optional, + Required, + }; + enum class DATAPREP + { + None, + FlateCompress, + }; + enum class EXECUTETYPE + { + Import, + Remerge, + }; + enum class HALIGN + { + Left, + Center, + Justify, + JustifyAll, + Radix, + Right, + }; + enum class HSCROLLPOLICY + { + Auto, + Off, + On, + }; + enum class HAND + { + Even, + Left, + Right, + }; + enum class HIGHLIGHT + { + Inverted, + None, + Outline, + Push, + }; + enum class JOIN + { + Square, + Round, + }; + enum class KERNINGMODE + { + None, + Pair, + }; + enum class LAYOUT + { + Position, + Lr_tb, + Rl_row, + Rl_tb, + Row, + Table, + Tb, + }; + enum class LISTEN + { + RefOnly, + RefAndDescendents, + }; + enum class MARK + { + Default, + Check, + Circle, + Cross, + Diamond, + Square, + Star, + }; + enum class MATCH + { + Once, + DataRef, + Global, + None, + }; + enum class OPEN + { + UserControl, + Always, + MultiSelect, + OnEntry, + }; + enum class OPERATION + { + Encrypt, + Decrypt, + }; + enum class OVERRIDE + { + Disabled, + Error, + Ignore, + Warning, + }; + enum class PICKER + { + Host, + None, + }; + enum class PLACEMENT + { + Left, + Bottom, + Inline, + Right, + Top, + }; + enum class PRESENCE + { + Visible, + Hidden, + Inactive, + Invisible, + }; + enum class RUNAT + { + Client, + Both, + Server, + }; + enum class SHAPE + { + Square, + Round, + }; + enum class STROKE + { + Solid, + DashDot, + DashDotDot, + Dashed, + Dotted, + Embossed, + Etched, + Lowered, + Raised, + }; + enum class TARGETTYPE + { + Auto, + ContentArea, + PageArea, + PageEven, + PageOdd, + }; + enum class TEXTLOCATION + { + Below, + Above, + AboveEmbedded, + BelowEmbedded, + None, + }; + enum class TRANSFERENCODING + { + None, + Base64, + Package, + }; + enum class TYPE + { + Optional, + Required, + }; + enum class UPSMODE + { + UsCarrier, + InternationalCarrier, + SecureSymbol, + StandardSymbol, + }; + enum class USAGE + { + ExportAndImport, + ExportOnly, + ImportOnly, + }; +}; + +class XFA_appearanceFilter : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const TYPE* getType() const { return m_type.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_type; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_arc : public XFA_BaseNode +{ +public: + const bool* getCircular() const { return m_circular.getValue(); } + const HAND* getHand() const { return m_hand.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const PDFReal* getStartAngle() const { return m_startAngle.getValue(); } + const PDFReal* getSweepAngle() const { return m_sweepAngle.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_circular; + XFA_Attribute m_hand; + XFA_Attribute m_id; + XFA_Attribute m_startAngle; + XFA_Attribute m_sweepAngle; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_area : public XFA_BaseNode +{ +public: + const PDFInteger* getColSpan() const { return m_colSpan.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const QString* getRelevant() const { return m_relevant.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + const XFA_Measurement* getX() const { return m_x.getValue(); } + const XFA_Measurement* getY() const { return m_y.getValue(); } + +private: + /* properties */ + XFA_Attribute m_colSpan; + XFA_Attribute m_id; + XFA_Attribute m_name; + XFA_Attribute m_relevant; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + XFA_Attribute m_x; + XFA_Attribute m_y; + +}; + +class XFA_assist : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getRole() const { return m_role.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_role; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_barcode : public XFA_BaseNode +{ +public: + const QString* getCharEncoding() const { return m_charEncoding.getValue(); } + const CHECKSUM* getChecksum() const { return m_checksum.getValue(); } + const QString* getDataColumnCount() const { return m_dataColumnCount.getValue(); } + const QString* getDataLength() const { return m_dataLength.getValue(); } + const DATAPREP* getDataPrep() const { return m_dataPrep.getValue(); } + const QString* getDataRowCount() const { return m_dataRowCount.getValue(); } + const QString* getEndChar() const { return m_endChar.getValue(); } + const QString* getErrorCorrectionLevel() const { return m_errorCorrectionLevel.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const XFA_Measurement* getModuleHeight() const { return m_moduleHeight.getValue(); } + const XFA_Measurement* getModuleWidth() const { return m_moduleWidth.getValue(); } + const bool* getPrintCheckDigit() const { return m_printCheckDigit.getValue(); } + const QString* getRowColumnRatio() const { return m_rowColumnRatio.getValue(); } + const QString* getStartChar() const { return m_startChar.getValue(); } + const TEXTLOCATION* getTextLocation() const { return m_textLocation.getValue(); } + const bool* getTruncate() const { return m_truncate.getValue(); } + const QString* getType() const { return m_type.getValue(); } + const UPSMODE* getUpsMode() const { return m_upsMode.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + const QString* getWideNarrowRatio() const { return m_wideNarrowRatio.getValue(); } + +private: + /* properties */ + XFA_Attribute m_charEncoding; + XFA_Attribute m_checksum; + XFA_Attribute m_dataColumnCount; + XFA_Attribute m_dataLength; + XFA_Attribute m_dataPrep; + XFA_Attribute m_dataRowCount; + XFA_Attribute m_endChar; + XFA_Attribute m_errorCorrectionLevel; + XFA_Attribute m_id; + XFA_Attribute m_moduleHeight; + XFA_Attribute m_moduleWidth; + XFA_Attribute m_printCheckDigit; + XFA_Attribute m_rowColumnRatio; + XFA_Attribute m_startChar; + XFA_Attribute m_textLocation; + XFA_Attribute m_truncate; + XFA_Attribute m_type; + XFA_Attribute m_upsMode; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + XFA_Attribute m_wideNarrowRatio; + +}; + +class XFA_bind : public XFA_BaseNode +{ +public: + const MATCH* getMatch() const { return m_match.getValue(); } + const QString* getRef() const { return m_ref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_match; + XFA_Attribute m_ref; + +}; + +class XFA_bindItems : public XFA_BaseNode +{ +public: + const QString* getConnection() const { return m_connection.getValue(); } + const QString* getLabelRef() const { return m_labelRef.getValue(); } + const QString* getRef() const { return m_ref.getValue(); } + const QString* getValueRef() const { return m_valueRef.getValue(); } + +private: + /* properties */ + XFA_Attribute m_connection; + XFA_Attribute m_labelRef; + XFA_Attribute m_ref; + XFA_Attribute m_valueRef; + +}; + +class XFA_bookend : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getLeader() const { return m_leader.getValue(); } + const QString* getTrailer() const { return m_trailer.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_leader; + XFA_Attribute m_trailer; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_boolean : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_name; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_border : public XFA_BaseNode +{ +public: + const BREAK* getBreak() const { return m_break.getValue(); } + const HAND* getHand() const { return m_hand.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const PRESENCE* getPresence() const { return m_presence.getValue(); } + const QString* getRelevant() const { return m_relevant.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_break; + XFA_Attribute m_hand; + XFA_Attribute m_id; + XFA_Attribute m_presence; + XFA_Attribute m_relevant; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_break : public XFA_BaseNode +{ +public: + const AFTER* getAfter() const { return m_after.getValue(); } + const QString* getAfterTarget() const { return m_afterTarget.getValue(); } + const BEFORE* getBefore() const { return m_before.getValue(); } + const QString* getBeforeTarget() const { return m_beforeTarget.getValue(); } + const QString* getBookendLeader() const { return m_bookendLeader.getValue(); } + const QString* getBookendTrailer() const { return m_bookendTrailer.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const QString* getOverflowLeader() const { return m_overflowLeader.getValue(); } + const QString* getOverflowTarget() const { return m_overflowTarget.getValue(); } + const QString* getOverflowTrailer() const { return m_overflowTrailer.getValue(); } + const bool* getStartNew() const { return m_startNew.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_after; + XFA_Attribute m_afterTarget; + XFA_Attribute m_before; + XFA_Attribute m_beforeTarget; + XFA_Attribute m_bookendLeader; + XFA_Attribute m_bookendTrailer; + XFA_Attribute m_id; + XFA_Attribute m_overflowLeader; + XFA_Attribute m_overflowTarget; + XFA_Attribute m_overflowTrailer; + XFA_Attribute m_startNew; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_breakAfter : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getLeader() const { return m_leader.getValue(); } + const bool* getStartNew() const { return m_startNew.getValue(); } + const QString* getTarget() const { return m_target.getValue(); } + const TARGETTYPE* getTargetType() const { return m_targetType.getValue(); } + const QString* getTrailer() const { return m_trailer.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_leader; + XFA_Attribute m_startNew; + XFA_Attribute m_target; + XFA_Attribute m_targetType; + XFA_Attribute m_trailer; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_breakBefore : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getLeader() const { return m_leader.getValue(); } + const bool* getStartNew() const { return m_startNew.getValue(); } + const QString* getTarget() const { return m_target.getValue(); } + const TARGETTYPE* getTargetType() const { return m_targetType.getValue(); } + const QString* getTrailer() const { return m_trailer.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_leader; + XFA_Attribute m_startNew; + XFA_Attribute m_target; + XFA_Attribute m_targetType; + XFA_Attribute m_trailer; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_button : public XFA_BaseNode +{ +public: + const HIGHLIGHT* getHighlight() const { return m_highlight.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_highlight; + XFA_Attribute m_id; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_calculate : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const OVERRIDE* getOverride() const { return m_override.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_override; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_caption : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const PLACEMENT* getPlacement() const { return m_placement.getValue(); } + const PRESENCE* getPresence() const { return m_presence.getValue(); } + const XFA_Measurement* getReserve() const { return m_reserve.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_placement; + XFA_Attribute m_presence; + XFA_Attribute m_reserve; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_certificate : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_name; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_certificates : public XFA_BaseNode +{ +public: + const CREDENTIALSERVERPOLICY* getCredentialServerPolicy() const { return m_credentialServerPolicy.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const QString* getUrl() const { return m_url.getValue(); } + const QString* getUrlPolicy() const { return m_urlPolicy.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_credentialServerPolicy; + XFA_Attribute m_id; + XFA_Attribute m_url; + XFA_Attribute m_urlPolicy; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_checkButton : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const MARK* getMark() const { return m_mark.getValue(); } + const SHAPE* getShape() const { return m_shape.getValue(); } + const XFA_Measurement* getSize() const { return m_size.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_mark; + XFA_Attribute m_shape; + XFA_Attribute m_size; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_choiceList : public XFA_BaseNode +{ +public: + const COMMITON* getCommitOn() const { return m_commitOn.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const OPEN* getOpen() const { return m_open.getValue(); } + const bool* getTextEntry() const { return m_textEntry.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_commitOn; + XFA_Attribute m_id; + XFA_Attribute m_open; + XFA_Attribute m_textEntry; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_color : public XFA_BaseNode +{ +public: + const QString* getCSpace() const { return m_cSpace.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + const QString* getValue() const { return m_value.getValue(); } + +private: + /* properties */ + XFA_Attribute m_cSpace; + XFA_Attribute m_id; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + XFA_Attribute m_value; + +}; + +class XFA_comb : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const PDFInteger* getNumberOfCells() const { return m_numberOfCells.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_numberOfCells; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_connect : public XFA_BaseNode +{ +public: + const QString* getConnection() const { return m_connection.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const QString* getRef() const { return m_ref.getValue(); } + const USAGE* getUsage() const { return m_usage.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_connection; + XFA_Attribute m_id; + XFA_Attribute m_ref; + XFA_Attribute m_usage; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_contentArea : public XFA_BaseNode +{ +public: + const XFA_Measurement* getH() const { return m_h.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const QString* getRelevant() const { return m_relevant.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + const XFA_Measurement* getW() const { return m_w.getValue(); } + const XFA_Measurement* getX() const { return m_x.getValue(); } + const XFA_Measurement* getY() const { return m_y.getValue(); } + +private: + /* properties */ + XFA_Attribute m_h; + XFA_Attribute m_id; + XFA_Attribute m_name; + XFA_Attribute m_relevant; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + XFA_Attribute m_w; + XFA_Attribute m_x; + XFA_Attribute m_y; + +}; + +class XFA_corner : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const bool* getInverted() const { return m_inverted.getValue(); } + const JOIN* getJoin() const { return m_join.getValue(); } + const PRESENCE* getPresence() const { return m_presence.getValue(); } + const XFA_Measurement* getRadius() const { return m_radius.getValue(); } + const STROKE* getStroke() const { return m_stroke.getValue(); } + const XFA_Measurement* getThickness() const { return m_thickness.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_inverted; + XFA_Attribute m_join; + XFA_Attribute m_presence; + XFA_Attribute m_radius; + XFA_Attribute m_stroke; + XFA_Attribute m_thickness; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_date : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_name; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_dateTime : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_name; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_dateTimeEdit : public XFA_BaseNode +{ +public: + const HSCROLLPOLICY* getHScrollPolicy() const { return m_hScrollPolicy.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const PICKER* getPicker() const { return m_picker.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_hScrollPolicy; + XFA_Attribute m_id; + XFA_Attribute m_picker; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_decimal : public XFA_BaseNode +{ +public: + const PDFInteger* getFracDigits() const { return m_fracDigits.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const PDFInteger* getLeadDigits() const { return m_leadDigits.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_fracDigits; + XFA_Attribute m_id; + XFA_Attribute m_leadDigits; + XFA_Attribute m_name; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_defaultUi : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_desc : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_digestMethod : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_digestMethods : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const TYPE* getType() const { return m_type.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_type; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_draw : public XFA_BaseNode +{ +public: + const ANCHORTYPE* getAnchorType() const { return m_anchorType.getValue(); } + const PDFInteger* getColSpan() const { return m_colSpan.getValue(); } + const XFA_Measurement* getH() const { return m_h.getValue(); } + const HALIGN* getHAlign() const { return m_hAlign.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const QString* getLocale() const { return m_locale.getValue(); } + const XFA_Measurement* getMaxH() const { return m_maxH.getValue(); } + const XFA_Measurement* getMaxW() const { return m_maxW.getValue(); } + const XFA_Measurement* getMinH() const { return m_minH.getValue(); } + const XFA_Measurement* getMinW() const { return m_minW.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const PRESENCE* getPresence() const { return m_presence.getValue(); } + const QString* getRelevant() const { return m_relevant.getValue(); } + const PDFReal* getRotate() const { return m_rotate.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + const XFA_Measurement* getW() const { return m_w.getValue(); } + const XFA_Measurement* getX() const { return m_x.getValue(); } + const XFA_Measurement* getY() const { return m_y.getValue(); } + +private: + /* properties */ + XFA_Attribute m_anchorType; + XFA_Attribute m_colSpan; + XFA_Attribute m_h; + XFA_Attribute m_hAlign; + XFA_Attribute m_id; + XFA_Attribute m_locale; + XFA_Attribute m_maxH; + XFA_Attribute m_maxW; + XFA_Attribute m_minH; + XFA_Attribute m_minW; + XFA_Attribute m_name; + XFA_Attribute m_presence; + XFA_Attribute m_relevant; + XFA_Attribute m_rotate; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + XFA_Attribute m_w; + XFA_Attribute m_x; + XFA_Attribute m_y; + +}; + +class XFA_edge : public XFA_BaseNode +{ +public: + const CAP* getCap() const { return m_cap.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const PRESENCE* getPresence() const { return m_presence.getValue(); } + const STROKE* getStroke() const { return m_stroke.getValue(); } + const XFA_Measurement* getThickness() const { return m_thickness.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_cap; + XFA_Attribute m_id; + XFA_Attribute m_presence; + XFA_Attribute m_stroke; + XFA_Attribute m_thickness; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_encoding : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_encodings : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const TYPE* getType() const { return m_type.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_type; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_encrypt : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_encryptData : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const OPERATION* getOperation() const { return m_operation.getValue(); } + const QString* getTarget() const { return m_target.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_operation; + XFA_Attribute m_target; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_encryption : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const TYPE* getType() const { return m_type.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_type; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_encryptionMethod : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_encryptionMethods : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const TYPE* getType() const { return m_type.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_type; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_event : public XFA_BaseNode +{ +public: + const ACTIVITY* getActivity() const { return m_activity.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const LISTEN* getListen() const { return m_listen.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const QString* getRef() const { return m_ref.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_activity; + XFA_Attribute m_id; + XFA_Attribute m_listen; + XFA_Attribute m_name; + XFA_Attribute m_ref; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_exData : public XFA_BaseNode +{ +public: + const QString* getContentType() const { return m_contentType.getValue(); } + const QString* getHref() const { return m_href.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const PDFInteger* getMaxLength() const { return m_maxLength.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const QString* getRid() const { return m_rid.getValue(); } + const TRANSFERENCODING* getTransferEncoding() const { return m_transferEncoding.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_contentType; + XFA_Attribute m_href; + XFA_Attribute m_id; + XFA_Attribute m_maxLength; + XFA_Attribute m_name; + XFA_Attribute m_rid; + XFA_Attribute m_transferEncoding; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_exObject : public XFA_BaseNode +{ +public: + const QString* getArchive() const { return m_archive.getValue(); } + const QString* getClassId() const { return m_classId.getValue(); } + const QString* getCodeBase() const { return m_codeBase.getValue(); } + const QString* getCodeType() const { return m_codeType.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_archive; + XFA_Attribute m_classId; + XFA_Attribute m_codeBase; + XFA_Attribute m_codeType; + XFA_Attribute m_id; + XFA_Attribute m_name; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_exclGroup : public XFA_BaseNode +{ +public: + const ACCESS* getAccess() const { return m_access.getValue(); } + const QString* getAccessKey() const { return m_accessKey.getValue(); } + const ANCHORTYPE* getAnchorType() const { return m_anchorType.getValue(); } + const PDFInteger* getColSpan() const { return m_colSpan.getValue(); } + const XFA_Measurement* getH() const { return m_h.getValue(); } + const HALIGN* getHAlign() const { return m_hAlign.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const LAYOUT* getLayout() const { return m_layout.getValue(); } + const XFA_Measurement* getMaxH() const { return m_maxH.getValue(); } + const XFA_Measurement* getMaxW() const { return m_maxW.getValue(); } + const XFA_Measurement* getMinH() const { return m_minH.getValue(); } + const XFA_Measurement* getMinW() const { return m_minW.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const PRESENCE* getPresence() const { return m_presence.getValue(); } + const QString* getRelevant() const { return m_relevant.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + const XFA_Measurement* getW() const { return m_w.getValue(); } + const XFA_Measurement* getX() const { return m_x.getValue(); } + const XFA_Measurement* getY() const { return m_y.getValue(); } + +private: + /* properties */ + XFA_Attribute m_access; + XFA_Attribute m_accessKey; + XFA_Attribute m_anchorType; + XFA_Attribute m_colSpan; + XFA_Attribute m_h; + XFA_Attribute m_hAlign; + XFA_Attribute m_id; + XFA_Attribute m_layout; + XFA_Attribute m_maxH; + XFA_Attribute m_maxW; + XFA_Attribute m_minH; + XFA_Attribute m_minW; + XFA_Attribute m_name; + XFA_Attribute m_presence; + XFA_Attribute m_relevant; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + XFA_Attribute m_w; + XFA_Attribute m_x; + XFA_Attribute m_y; + +}; + +class XFA_execute : public XFA_BaseNode +{ +public: + const QString* getConnection() const { return m_connection.getValue(); } + const EXECUTETYPE* getExecuteType() const { return m_executeType.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const RUNAT* getRunAt() const { return m_runAt.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_connection; + XFA_Attribute m_executeType; + XFA_Attribute m_id; + XFA_Attribute m_runAt; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_extras : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_name; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_field : public XFA_BaseNode +{ +public: + const ACCESS* getAccess() const { return m_access.getValue(); } + const QString* getAccessKey() const { return m_accessKey.getValue(); } + const ANCHORTYPE* getAnchorType() const { return m_anchorType.getValue(); } + const PDFInteger* getColSpan() const { return m_colSpan.getValue(); } + const XFA_Measurement* getH() const { return m_h.getValue(); } + const HALIGN* getHAlign() const { return m_hAlign.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const QString* getLocale() const { return m_locale.getValue(); } + const XFA_Measurement* getMaxH() const { return m_maxH.getValue(); } + const XFA_Measurement* getMaxW() const { return m_maxW.getValue(); } + const XFA_Measurement* getMinH() const { return m_minH.getValue(); } + const XFA_Measurement* getMinW() const { return m_minW.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const PRESENCE* getPresence() const { return m_presence.getValue(); } + const QString* getRelevant() const { return m_relevant.getValue(); } + const PDFReal* getRotate() const { return m_rotate.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + const XFA_Measurement* getW() const { return m_w.getValue(); } + const XFA_Measurement* getX() const { return m_x.getValue(); } + const XFA_Measurement* getY() const { return m_y.getValue(); } + +private: + /* properties */ + XFA_Attribute m_access; + XFA_Attribute m_accessKey; + XFA_Attribute m_anchorType; + XFA_Attribute m_colSpan; + XFA_Attribute m_h; + XFA_Attribute m_hAlign; + XFA_Attribute m_id; + XFA_Attribute m_locale; + XFA_Attribute m_maxH; + XFA_Attribute m_maxW; + XFA_Attribute m_minH; + XFA_Attribute m_minW; + XFA_Attribute m_name; + XFA_Attribute m_presence; + XFA_Attribute m_relevant; + XFA_Attribute m_rotate; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + XFA_Attribute m_w; + XFA_Attribute m_x; + XFA_Attribute m_y; + +}; + +class XFA_fill : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const PRESENCE* getPresence() const { return m_presence.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_presence; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_filter : public XFA_BaseNode +{ +public: + const QString* getAddRevocationInfo() const { return m_addRevocationInfo.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + const QString* getVersion() const { return m_version.getValue(); } + +private: + /* properties */ + XFA_Attribute m_addRevocationInfo; + XFA_Attribute m_id; + XFA_Attribute m_name; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + XFA_Attribute m_version; + +}; + +class XFA_float : public XFA_BaseNode +{ +public: + const QString* getId() const { return m_id.getValue(); } + const QString* getName() const { return m_name.getValue(); } + const QString* getUse() const { return m_use.getValue(); } + const QString* getUsehref() const { return m_usehref.getValue(); } + +private: + /* properties */ + XFA_Attribute m_id; + XFA_Attribute m_name; + XFA_Attribute m_use; + XFA_Attribute m_usehref; + +}; + +class XFA_font : public XFA_BaseNode +{ +public: + const XFA_Measurement* getBaselineShift() const { return m_baselineShift.getValue(); } + const QString* getFontHorizontalScale() const { return m_fontHorizontalScale.getValue(); } + const QString* getFontVerticalScale() const { return m_fontVerticalScale.getValue(); } + const QString* getId() const { return m_id.getValue(); } + const KERNINGMODE* getKerningMode() const { return m_kerningMode.getValue(); } + +private: + /* properties */ + XFA_Attribute m_baselineShift; + XFA_Attribute m_fontHorizontalScale; + XFA_Attribute m_fontVerticalScale; + XFA_Attribute m_id; + XFA_Attribute m_kerningMode; + +}; + +} // namespace xfa + + /* END GENERATED CODE */ } // namespace pdf diff --git a/Pdf4QtLib/sources/pdfxfaengine.h b/Pdf4QtLib/sources/pdfxfaengine.h index 2910f72..385d279 100644 --- a/Pdf4QtLib/sources/pdfxfaengine.h +++ b/Pdf4QtLib/sources/pdfxfaengine.h @@ -31,7 +31,7 @@ namespace xfa struct XFA_InplaceTag; struct XFA_SharedMemoryTag; -template +template class PDFXFAValueHolder { public: @@ -143,6 +143,11 @@ private: /* START GENERATED CODE */ +namespace xfa +{ +} // namespace xfa + + /* END GENERATED CODE */ } // namespace pdf diff --git a/xfa/xfa-spec.xml b/xfa/xfa-spec.xml index b9074a4..7d91359 100644 --- a/xfa/xfa-spec.xml +++ b/xfa/xfa-spec.xml @@ -3,7 +3,7 @@