Warning, file /office/calligra/libs/text/KoTextReference.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* This file is part of the KDE project 0002 * Copyright (C) 2007 Thomas Zander <zander@kde.org> 0003 * 0004 * This library is free software; you can redistribute it and/or 0005 * modify it under the terms of the GNU Library General Public 0006 * License as published by the Free Software Foundation; either 0007 * version 2 of the License, or (at your option) any later version. 0008 * 0009 * This library is distributed in the hope that it will be useful, 0010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0012 * Library General Public License for more details. 0013 * 0014 * You should have received a copy of the GNU Library General Public License 0015 * along with this library; see the file COPYING.LIB. If not, write to 0016 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 0017 * Boston, MA 02110-1301, USA. 0018 */ 0019 0020 #include "KoTextReference.h" 0021 0022 #include "KoTextLocator.h" 0023 #include "KoInlineTextObjectManager.h" 0024 0025 // Include Q_UNSUSED classes, for building on Windows 0026 #include <KoShapeLoadingContext.h> 0027 #include <KoShapeSavingContext.h> 0028 #include <KoXmlReader.h> 0029 0030 KoTextReference::KoTextReference(int indexId) 0031 : KoVariable(), 0032 m_indexId(indexId) 0033 { 0034 } 0035 0036 KoTextReference::~KoTextReference() 0037 { 0038 KoTextLocator *loc = locator(); 0039 if (loc) 0040 loc->removeListener(this); 0041 } 0042 0043 void KoTextReference::variableMoved(const QTextDocument *document, int posInDocument) 0044 { 0045 Q_UNUSED(document); 0046 Q_UNUSED(posInDocument); 0047 Q_ASSERT(manager()); 0048 KoTextLocator *loc = locator(); 0049 if (loc) 0050 setValue(QString::number(loc->pageNumber())); 0051 else 0052 setValue("NOREF"); // anything smarter to point to a broken reference? 0053 } 0054 0055 void KoTextReference::setup() 0056 { 0057 locator()->addListener(this); 0058 variableMoved(0, 0); 0059 } 0060 0061 KoTextLocator* KoTextReference::locator() 0062 { 0063 return dynamic_cast<KoTextLocator*>(manager()->inlineTextObject(m_indexId)); 0064 } 0065 0066 bool KoTextReference::loadOdf(const KoXmlElement &element, KoShapeLoadingContext &context) 0067 { 0068 Q_UNUSED(element); 0069 Q_UNUSED(context); 0070 // TODO 0071 return false; 0072 } 0073 0074 void KoTextReference::saveOdf(KoShapeSavingContext &context) 0075 { 0076 Q_UNUSED(context); 0077 // TODO 0078 }