File indexing completed on 2025-02-09 04:28:36
0001 /* 0002 This file is part of the KTextTemplate library 0003 0004 SPDX-FileCopyrightText: 2010 Stephen Kelly <steveire@gmail.com> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 0008 */ 0009 0010 #ifndef I18NNODE_H 0011 #define I18NNODE_H 0012 0013 #include "node.h" 0014 0015 namespace KTextTemplate 0016 { 0017 class Parser; 0018 } 0019 0020 using namespace KTextTemplate; 0021 0022 class I18nNodeFactory : public AbstractNodeFactory 0023 { 0024 Q_OBJECT 0025 public: 0026 I18nNodeFactory(); 0027 0028 Node *getNode(const QString &tagContent, Parser *p) const override; 0029 }; 0030 0031 class I18nVarNodeFactory : public AbstractNodeFactory 0032 { 0033 Q_OBJECT 0034 public: 0035 I18nVarNodeFactory(); 0036 0037 Node *getNode(const QString &tagContent, Parser *p) const override; 0038 }; 0039 0040 class I18nNode : public Node 0041 { 0042 Q_OBJECT 0043 public: 0044 I18nNode(const QString &sourceText, const QList<FilterExpression> &feList, QObject *parent = {}); 0045 void render(OutputStream *stream, Context *c) const override; 0046 0047 private: 0048 QString m_sourceText; 0049 QList<FilterExpression> m_filterExpressionList; 0050 }; 0051 0052 class I18nVarNode : public Node 0053 { 0054 Q_OBJECT 0055 public: 0056 I18nVarNode(const QString &sourceText, const QList<FilterExpression> &feList, const QString &resultName, QObject *parent = {}); 0057 void render(OutputStream *stream, Context *c) const override; 0058 0059 private: 0060 QString m_sourceText; 0061 QList<FilterExpression> m_filterExpressionList; 0062 QString m_resultName; 0063 }; 0064 0065 #endif