1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2016 Jochen Becher 4 ** Contact: https://www.qt.io/licensing/ 5 ** 6 ** This file is part of Qt Creator. 7 ** 8 ** Commercial License Usage 9 ** Licensees holding valid commercial Qt licenses may use this file in 10 ** accordance with the commercial license agreement provided with the 11 ** Software or, alternatively, in accordance with the terms contained in 12 ** a written agreement between you and The Qt Company. For licensing terms 13 ** and conditions see https://www.qt.io/terms-conditions. For further 14 ** information use the contact form at https://www.qt.io/contact-us. 15 ** 16 ** GNU General Public License Usage 17 ** Alternatively, this file may be used under the terms of the GNU 18 ** General Public License version 3 as published by the Free Software 19 ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT 20 ** included in the packaging of this file. Please review the following 21 ** information to ensure the GNU General Public License requirements will 22 ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 23 ** 24 ****************************************************************************/ 25 26 #pragma once 27 28 #include "qmt/diagram/dvisitor.h" 29 #include "qmt/infrastructure/qmt_global.h" 30 31 namespace qmt { 32 33 class DiagramController; 34 class ISceneInspector; 35 class MDiagram; 36 37 class QMT_EXPORT AlignOnRasterVisitor : public DVisitor 38 { 39 public: 40 AlignOnRasterVisitor(); 41 ~AlignOnRasterVisitor() override; 42 43 void setDiagramController(DiagramController *diagramController); 44 void setSceneInspector(ISceneInspector *sceneInspector); 45 void setDiagram(MDiagram *diagram); 46 47 void visitDElement(DElement *element) override; 48 void visitDObject(DObject *object) override; 49 void visitDPackage(DPackage *package) override; 50 void visitDClass(DClass *klass) override; 51 void visitDComponent(DComponent *component) override; 52 void visitDDiagram(DDiagram *diagram) override; 53 void visitDItem(DItem *item) override; 54 void visitDRelation(DRelation *relation) override; 55 void visitDInheritance(DInheritance *inheritance) override; 56 void visitDDependency(DDependency *dependency) override; 57 void visitDAssociation(DAssociation *association) override; 58 void visitDConnection(DConnection *connection) override; 59 void visitDAnnotation(DAnnotation *annotation) override; 60 void visitDBoundary(DBoundary *boundary) override; 61 void visitDSwimlane(DSwimlane *swimlane) override; 62 63 private: 64 DiagramController *m_diagramController = nullptr; 65 ISceneInspector *m_sceneInspector = nullptr; 66 MDiagram *m_diagram = nullptr; 67 }; 68 69 } // namespace qmt 70