1 /***************************************************************************
2                              qgsannotationitem.cpp
3                              -----------------
4     begin                : August 2021
5     copyright            : (C) 2021 by Nyall Dawson
6     email                : nyall dot dawson at gmail dot com
7  ***************************************************************************/
8 
9 /***************************************************************************
10  *                                                                         *
11  *   This program is free software; you can redistribute it and/or modify  *
12  *   it under the terms of the GNU General Public License as published by  *
13  *   the Free Software Foundation; either version 2 of the License, or     *
14  *   (at your option) any later version.                                   *
15  *                                                                         *
16  ***************************************************************************/
17 
18 #include "qgsannotationitem.h"
19 #include "qgsannotationitemnode.h"
20 
flags() const21 Qgis::AnnotationItemFlags QgsAnnotationItem::flags() const
22 {
23   return Qgis::AnnotationItemFlags();
24 }
25 
applyEdit(QgsAbstractAnnotationItemEditOperation *)26 Qgis::AnnotationItemEditOperationResult QgsAnnotationItem::applyEdit( QgsAbstractAnnotationItemEditOperation * )
27 {
28   return Qgis::AnnotationItemEditOperationResult::Invalid;
29 }
30 
transientEditResults(QgsAbstractAnnotationItemEditOperation *)31 QgsAnnotationItemEditOperationTransientResults *QgsAnnotationItem::transientEditResults( QgsAbstractAnnotationItemEditOperation * )
32 {
33   return nullptr;
34 }
35 
nodes() const36 QList<QgsAnnotationItemNode> QgsAnnotationItem::nodes() const
37 {
38   return {};
39 }
40 
copyCommonProperties(const QgsAnnotationItem * other)41 void QgsAnnotationItem::copyCommonProperties( const QgsAnnotationItem *other )
42 {
43   setZIndex( other->zIndex() );
44   setUseSymbologyReferenceScale( other->useSymbologyReferenceScale() );
45   setSymbologyReferenceScale( other->symbologyReferenceScale() );
46 }
47 
writeCommonProperties(QDomElement & element,QDomDocument &,const QgsReadWriteContext &) const48 bool QgsAnnotationItem::writeCommonProperties( QDomElement &element, QDomDocument &, const QgsReadWriteContext & ) const
49 {
50   element.setAttribute( QStringLiteral( "zIndex" ), zIndex() );
51   element.setAttribute( QStringLiteral( "useReferenceScale" ), useSymbologyReferenceScale() ? QStringLiteral( "1" ) : QStringLiteral( "0" ) );
52   element.setAttribute( QStringLiteral( "referenceScale" ), qgsDoubleToString( symbologyReferenceScale() ) );
53   return true;
54 }
55 
readCommonProperties(const QDomElement & element,const QgsReadWriteContext &)56 bool QgsAnnotationItem::readCommonProperties( const QDomElement &element, const QgsReadWriteContext & )
57 {
58   setZIndex( element.attribute( QStringLiteral( "zIndex" ) ).toInt() );
59   setUseSymbologyReferenceScale( element.attribute( QStringLiteral( "useReferenceScale" ), QStringLiteral( "0" ) ).toInt() );
60   setSymbologyReferenceScale( element.attribute( QStringLiteral( "referenceScale" ) ).toDouble() );
61   return true;
62 }
63