filters

KSpreadLeader.h

00001 /*
00002 This file is part of the KDE project
00003 Copyright (C) 2002 Fred Malabre <fmalabre@yahoo.com>
00004 
00005 This library is free software; you can redistribute it and/or
00006 modify it under the terms of the GNU Library General Public
00007 License as published by the Free Software Foundation; either
00008 version 2 of the License, or (at your option) any later version.
00009 
00010 This library is distributed in the hope that it will be useful,
00011 but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 Library General Public License for more details.
00014 
00015 You should have received a copy of the GNU Library General Public License
00016 along with this library; see the file COPYING.LIB.  If not, write to
00017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018  * Boston, MA 02110-1301, USA.
00019 */
00020 
00021 #ifndef KSPREAD_LEADER_H
00022 #define KSPREAD_LEADER_H
00023 
00024 #include <KSpreadBaseWorker.h>
00025 #include <KoFilterChain.h>
00026 #include <kdebug.h>
00027 #include <kspread_doc.h>
00028 #include <KoDocumentInfo.h>
00029 #include <kspread_map.h>
00030 
00031 namespace KSpread
00032 {
00033 
00046 class Leader
00047 {
00048 public:
00055     Leader(KoFilterChain *filterChain);
00056 
00064     Leader(KoFilterChain *filterChain, KSpreadBaseWorker *newWorker);
00065 
00070     virtual ~Leader();
00071 
00072 private:
00073     KSpreadBaseWorker *m_worker;
00074     KoFilterChain *m_filterChain;
00075     int m_maxCellColumn;
00076     int m_maxCellRow;
00077     void updateMaxCells(KSpreadSheet *spreadSheet);
00078 
00079 protected:
00080     KSpreadBaseWorker *getWorker() const;
00081     KoFilter::ConversionStatus doSpreadCell(Cell *spreadCell, int column, int row);
00082     KoFilter::ConversionStatus doSpreadSheet(Sheet *spreadSheet);
00083     KoFilter::ConversionStatus doSpreadBook(Doc *document);
00084     KoFilter::ConversionStatus doInfo(KoDocumentInfo *info);
00085 
00086 public:
00092     void setWorker(KSpreadBaseWorker *newWorker);
00093 
00100     KoFilter::ConversionStatus convert();
00101 };
00102 
00103 } // namespace KSpread
00104 
00105 #endif /* KSPREAD_LEADER_H */
KDE Home | KDE Accessibility Home | Description of Access Keys