File indexing completed on 2024-05-19 04:29:16
0001 /* 0002 * SPDX-FileCopyrightText: 2021 Halla Rempt <halla@valdyas.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef KISNODEACTIVATIONACTIONCREATORVISITOR_H 0007 #define KISNODEACTIVATIONACTIONCREATORVISITOR_H 0008 0009 #include <kis_node_visitor.h> 0010 0011 #include "kis_node.h" 0012 #include "kis_paint_layer.h" 0013 #include "kis_group_layer.h" 0014 #include "kis_adjustment_layer.h" 0015 #include "kis_external_layer_iface.h" 0016 #include "kis_clone_layer.h" 0017 #include "kis_filter_mask.h" 0018 #include "kis_transform_mask.h" 0019 #include "kis_transparency_mask.h" 0020 #include "kis_selection_mask.h" 0021 #include "lazybrush/kis_colorize_mask.h" 0022 #include "generator/kis_generator_layer.h" 0023 0024 #include <QList> 0025 #include <QAction> 0026 0027 class KisKActionCollection; 0028 class KisNodeManager; 0029 0030 class KisNodeActivationActionCreatorVisitor : public KisNodeVisitor 0031 { 0032 public: 0033 0034 using KisNodeVisitor::visit; 0035 0036 KisNodeActivationActionCreatorVisitor(KisKActionCollection *actionCollection, KisNodeManager *nodeManager); 0037 ~KisNodeActivationActionCreatorVisitor() {} 0038 0039 bool visit(KisNode* node) override { 0040 return createAction(node); 0041 } 0042 0043 bool visit(KisPaintLayer *layer) override { 0044 return createAction(layer); 0045 } 0046 0047 bool visit(KisGroupLayer *layer) override { 0048 return createAction(layer); 0049 } 0050 0051 bool visit(KisAdjustmentLayer *layer) override { 0052 return createAction(layer); 0053 } 0054 0055 bool visit(KisExternalLayer *layer) override { 0056 return createAction(layer); 0057 } 0058 0059 bool visit(KisCloneLayer *layer) override { 0060 return createAction(layer); 0061 } 0062 0063 bool visit(KisFilterMask *mask) override { 0064 return createAction(mask); 0065 } 0066 0067 bool visit(KisTransformMask *mask) override { 0068 return createAction(mask); 0069 } 0070 0071 bool visit(KisTransparencyMask *mask) override { 0072 return createAction(mask); 0073 } 0074 0075 bool visit(KisGeneratorLayer * layer) override { 0076 return createAction(layer); 0077 } 0078 0079 bool visit(KisSelectionMask* mask) override { 0080 return createAction(mask); 0081 } 0082 0083 bool visit(KisColorizeMask* mask) override { 0084 return createAction(mask); 0085 } 0086 0087 private: 0088 0089 bool createAction(KisNode *node); 0090 0091 KisNodeManager *m_nodeManager {0}; 0092 KisKActionCollection *m_actionCollection {0}; 0093 0094 }; 0095 0096 #endif // KISNODEACTIVATIONACTIONCREATORVISITOR_H