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 L10N_MONEYNODE_H
0011 #define L10N_MONEYNODE_H
0012 
0013 #include "node.h"
0014 
0015 namespace KTextTemplate
0016 {
0017 class Parser;
0018 }
0019 
0020 using namespace KTextTemplate;
0021 
0022 class L10nMoneyNodeFactory : public AbstractNodeFactory
0023 {
0024     Q_OBJECT
0025 public:
0026     L10nMoneyNodeFactory();
0027 
0028     Node *getNode(const QString &tagContent, Parser *p) const override;
0029 };
0030 
0031 class L10nMoneyVarNodeFactory : public AbstractNodeFactory
0032 {
0033     Q_OBJECT
0034 public:
0035     L10nMoneyVarNodeFactory();
0036 
0037     Node *getNode(const QString &tagContent, Parser *p) const override;
0038 };
0039 
0040 class L10nMoneyNode : public Node
0041 {
0042     Q_OBJECT
0043 public:
0044     L10nMoneyNode(const FilterExpression &value, const FilterExpression &currency, QObject *parent = {});
0045     void render(OutputStream *stream, Context *c) const override;
0046 
0047 private:
0048     FilterExpression m_value;
0049     FilterExpression m_currency;
0050 };
0051 
0052 class L10nMoneyVarNode : public Node
0053 {
0054     Q_OBJECT
0055 public:
0056     L10nMoneyVarNode(const FilterExpression &value, const FilterExpression &currency, const QString &resultName, QObject *parent = {});
0057     void render(OutputStream *stream, Context *c) const override;
0058 
0059 private:
0060     FilterExpression m_value;
0061     FilterExpression m_currency;
0062     QString m_resultName;
0063 };
0064 
0065 #endif