File indexing completed on 2024-05-12 16:37:11

0001 /* This file is part of the KDE project
0002  * Copyright (C) 2005 David Faure <faure@kde.org>
0003  * Copyright (C) 2007-2009 Thomas Zander <zander@kde.org>
0004  * Copyright (C) 2007 Sebastian Sauer <mail@dipe.org>
0005  * Copyright (C) 2007-2008 Thorsten Zachmann <zachmann@kde.org>
0006  *
0007  * This library is free software; you can redistribute it and/or
0008  * modify it under the terms of the GNU Library General Public
0009  * License as published by the Free Software Foundation; either
0010  * version 2 of the License, or (at your option) any later version.
0011  *
0012  * This library is distributed in the hope that it will be useful,
0013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0015  * Library General Public License for more details.
0016  *
0017  * You should have received a copy of the GNU Library General Public License
0018  * along with this library; see the file COPYING.LIB.  If not, write to
0019  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0020  * Boston, MA 02110-1301, USA.
0021  */
0022 
0023 #ifndef KWODFSHAREDLOADINGDATA_H
0024 #define KWODFSHAREDLOADINGDATA_H
0025 
0026 #include <KoTextSharedLoadingData.h>
0027 
0028 #include <QHash>
0029 
0030 class KWOdfLoader;
0031 class KWFrame;
0032 
0033 class KWOdfSharedLoadingData : public KoTextSharedLoadingData
0034 {
0035 public:
0036     explicit KWOdfSharedLoadingData(KWOdfLoader *loader);
0037 
0038     void connectFlowingTextShapes();
0039 
0040 protected:
0041     void shapeInserted(KoShape *shape, const KoXmlElement &element, KoShapeLoadingContext &context) override;
0042 
0043 private:
0044     /**
0045      * Load all properties from style and apply them on the frame.
0046      * @return returns false if the frame passed in has been deleted and replaced with a copy frame, true otherwise.
0047      */
0048     bool fillFrameProperties(KWFrame *frame, const KoXmlElement &style);
0049 
0050     KWOdfLoader *m_loader;
0051     QHash<KoShape *, QString> m_nextShapeNames; // store the 'chain-next-name' 
0052     QList<KoShape *> m_shapesToProcess;
0053 };
0054 
0055 #endif