File indexing completed on 2024-05-12 15:56:39

0001 /* This file is part of the KDE project
0002  * SPDX-FileCopyrightText: 2007 Thomas Zander <zander@kde.org>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 #include "KoCanvasObserverBase.h"
0008 #include <QPointer>
0009 #include <KoCanvasBase.h>
0010 
0011 class KoCanvasObserverBasePrivate
0012 {
0013 public:
0014     KoCanvasObserverBasePrivate()
0015         : canvas(0)
0016     {}
0017 
0018     ~KoCanvasObserverBasePrivate()
0019     {}
0020 
0021     QPointer<KoCanvasBase> canvas;
0022 };
0023 
0024 KoCanvasObserverBase::KoCanvasObserverBase()
0025     : d(new KoCanvasObserverBasePrivate)
0026 {
0027 }
0028 
0029 KoCanvasObserverBase::~KoCanvasObserverBase()
0030 {
0031     delete d;
0032 }
0033 
0034 void KoCanvasObserverBase::setObservedCanvas(KoCanvasBase* canvas)
0035 {
0036     d->canvas = canvas;
0037     setCanvas(canvas);
0038 }
0039 
0040 void KoCanvasObserverBase::unsetObservedCanvas()
0041 {
0042     d->canvas = 0;
0043     unsetCanvas();
0044 }
0045 
0046 KoCanvasBase* KoCanvasObserverBase::observedCanvas() const
0047 {
0048     return d->canvas;
0049 }