File indexing completed on 2024-05-12 04:43:21

0001 /* This file is part of the KDE project
0002    Copyright (C) 2010 by Adam Pigg (adam@piggz.co.uk)
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.1 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 "KoSimpleOdsSheet.h"
0021 #include <KoXmlWriter.h>
0022 
0023 KoSimpleOdsSheet::KoSimpleOdsSheet()
0024 {
0025 
0026 }
0027 
0028 KoSimpleOdsSheet::~KoSimpleOdsSheet()
0029 {
0030 
0031 }
0032 
0033 void KoSimpleOdsSheet::addCell(long row, long col, KoSimpleOdsCell *cell)
0034 {
0035     m_model.setItem(row, col, cell);
0036 }
0037 
0038 void KoSimpleOdsSheet::setName(const QString& name)
0039 {
0040     m_name = name;
0041 }
0042 
0043 void KoSimpleOdsSheet::saveSheet(KoXmlWriter *writer)
0044 {
0045     writer->startElement("table:table");
0046     writer->addAttribute("table:name", (m_name.isEmpty() ? "Sheet" : m_name ));
0047     //Add table:style-name ?
0048 
0049     for (long r = 0; r < m_model.rowCount(); ++r) {
0050         writer->startElement("table:table-row");
0051         for (long c = 0; c < m_model.columnCount(); ++c) {
0052             KoSimpleOdsCell *cell = dynamic_cast<KoSimpleOdsCell*>(m_model.item(r,c));
0053             if (cell) {
0054                 cell->writeCellData(writer);
0055             } else {
0056                 KoSimpleOdsCell::writeCellData(writer, QString());
0057             }
0058     }
0059         writer->endElement();
0060     }
0061     writer->endElement();
0062 }