File indexing completed on 2024-05-12 15:56:51
0001 /* This file is part of the KDE project 0002 * SPDX-FileCopyrightText: 2006, 2009-2010 Thomas Zander <zander@kde.org> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "KoTextShapeDataBase.h" 0008 #include "KoTextShapeDataBase_p.h" 0009 0010 #include <QTextDocument> 0011 0012 KoTextShapeDataBasePrivate::KoTextShapeDataBasePrivate() 0013 : textAlignment(Qt::AlignLeft | Qt::AlignTop) 0014 , resizeMethod(KoTextShapeDataBase::NoResize) 0015 { 0016 } 0017 0018 KoTextShapeDataBasePrivate::KoTextShapeDataBasePrivate(const KoTextShapeDataBasePrivate &rhs) 0019 : document(rhs.document->clone()), 0020 margins(rhs.margins), 0021 textAlignment(rhs.textAlignment), 0022 resizeMethod(rhs.resizeMethod) 0023 { 0024 } 0025 0026 KoTextShapeDataBasePrivate::~KoTextShapeDataBasePrivate() 0027 { 0028 } 0029 0030 KoTextShapeDataBase::KoTextShapeDataBase(KoTextShapeDataBasePrivate *dd) 0031 : d_ptr(dd) 0032 { 0033 } 0034 0035 KoTextShapeDataBase::~KoTextShapeDataBase() 0036 { 0037 delete d_ptr; 0038 } 0039 0040 QTextDocument *KoTextShapeDataBase::document() const 0041 { 0042 Q_D(const KoTextShapeDataBase); 0043 return d->document.data(); 0044 } 0045 0046 void KoTextShapeDataBase::setShapeMargins(const KoInsets &margins) 0047 { 0048 Q_D(KoTextShapeDataBase); 0049 d->margins = margins; 0050 } 0051 0052 KoInsets KoTextShapeDataBase::shapeMargins() const 0053 { 0054 Q_D(const KoTextShapeDataBase); 0055 return d->margins; 0056 } 0057 0058 void KoTextShapeDataBase::setVerticalAlignment(Qt::Alignment alignment) 0059 { 0060 Q_D(KoTextShapeDataBase); 0061 d->textAlignment = (d->textAlignment & Qt::AlignHorizontal_Mask) 0062 | (alignment & Qt::AlignVertical_Mask); 0063 } 0064 0065 Qt::Alignment KoTextShapeDataBase::verticalAlignment() const 0066 { 0067 Q_D(const KoTextShapeDataBase); 0068 return d->textAlignment & Qt::AlignVertical_Mask; 0069 } 0070 0071 void KoTextShapeDataBase::setResizeMethod(KoTextShapeDataBase::ResizeMethod method) 0072 { 0073 Q_D(KoTextShapeDataBase); 0074 if (d->resizeMethod == method) 0075 return; 0076 d->resizeMethod = method; 0077 } 0078 0079 KoTextShapeDataBase::ResizeMethod KoTextShapeDataBase::resizeMethod() const 0080 { 0081 Q_D(const KoTextShapeDataBase); 0082 return d->resizeMethod; 0083 }