File indexing completed on 2024-05-12 15:58:52

0001 /*
0002  *  SPDX-FileCopyrightText: 2020 Boudewijn Rempt <boud@valdyas.org>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #ifndef KISTRANSLATELAYERNAMESVISITOR_H
0007 #define KISTRANSLATELAYERNAMESVISITOR_H
0008 
0009 #include <QMap>
0010 #include "kis_node_visitor.h"
0011 
0012 #include <kritaimage_export.h>
0013 
0014 
0015 /**
0016  * @brief KisTranslateLayerNamesVisitor::KisTranslateLayerNamesVisitor translates layer names
0017  * from templates.
0018  */
0019 class KRITAIMAGE_EXPORT KisTranslateLayerNamesVisitor : public KisNodeVisitor
0020 {
0021 public:
0022     KisTranslateLayerNamesVisitor(QMap<QString, QString> dictionary);
0023 
0024     using KisNodeVisitor::visit;
0025 
0026     bool visit(KisNode* node) override;
0027 
0028     bool visit(KisPaintLayer *layer) override;
0029 
0030     bool visit(KisGroupLayer *layer) override;
0031 
0032     bool visit(KisAdjustmentLayer *layer) override;
0033 
0034     bool visit(KisExternalLayer *layer) override;
0035 
0036     bool visit(KisCloneLayer *layer) override;
0037 
0038     bool visit(KisFilterMask *mask) override;
0039 
0040     bool visit(KisTransformMask *mask) override;
0041 
0042     bool visit(KisTransparencyMask *mask) override;
0043 
0044     bool visit(KisGeneratorLayer * layer) override;
0045 
0046     bool visit(KisSelectionMask* mask) override;
0047 
0048     bool visit(KisColorizeMask* mask) override;
0049 
0050     QMap<QString, QString> defaultDictionary();
0051 
0052 private:
0053 
0054     bool translate(KisNode *node);
0055 
0056     QMap<QString, QString> m_dictionary;
0057 };
0058 
0059 #endif // KISTRANSLATELAYERNAMESVISITOR_H