Warning, file /graphics/glaxnimate/src/core/model/visitor.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 * SPDX-FileCopyrightText: 2019-2023 Mattia Basaglia <dev@dragon.best> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 0007 #pragma once 0008 #include <QtGlobal> 0009 0010 namespace glaxnimate::model { 0011 0012 class Document; 0013 class Composition; 0014 class DocumentNode; 0015 0016 class Visitor 0017 { 0018 public: 0019 virtual ~Visitor() {} 0020 0021 void visit(model::Document* doc, model::Composition* main, bool skip_locked = false); 0022 void visit(model::DocumentNode* node, bool skip_locked = false); 0023 0024 private: 0025 virtual void on_visit(model::DocumentNode* node) = 0; 0026 virtual void on_visit_end(model::DocumentNode* node) { Q_UNUSED(node) } 0027 virtual void on_visit_document(model::Document* document, model::Composition* main) { Q_UNUSED(document) Q_UNUSED(main) } 0028 virtual void on_visit_document_end(model::Document* document, model::Composition* main) { Q_UNUSED(document) Q_UNUSED(main) } 0029 }; 0030 0031 } // namespace glaxnimate::model