filters

powerpointimport.h

00001 /* This file is part of the KDE project
00002    Copyright (C) 2005 Yolla Indria <yolla.indria@gmail.com>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License as published by the Free Software Foundation; either
00007    version 2 of the License, or (at your option) any later version.
00008 
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017  * Boston, MA 02110-1301, USA.
00018 */
00019 
00020 #ifndef POWERPOINTIMPORT_H
00021 #define POWERPOINTIMPORT_H
00022 
00023 #include <KoFilter.h>
00024 #include <KoStore.h>
00025 
00026 #include <qcstring.h>
00027 
00028 #include "libppt.h"
00029 
00030 using namespace Libppt;
00031 
00032 class KoXmlWriter;
00033 
00034 class PowerPointImport : public KoFilter 
00035 {
00036 Q_OBJECT
00037 
00038 public:
00039   PowerPointImport ( QObject *parent, const char* name, const QStringList& );
00040   virtual ~PowerPointImport();
00041   virtual KoFilter::ConversionStatus convert( const QCString& from, 
00042         const QCString& to );
00043 
00044 private:
00045   class Private;
00046   Private* d;
00047 
00048   QByteArray createManifest();
00049   QByteArray createStyles();
00050   QByteArray createContent();
00051 
00052   int drawingObjectCounter;
00053 
00054   void processSlideForBody( unsigned slideNo, Slide* slide, KoXmlWriter* xmlWriter );
00055   void processObjectForBody( Object* object, KoXmlWriter* xmlWriter );
00056   void processGroupObjectForBody( GroupObject* groupObject, KoXmlWriter* xmlWriter );
00057   void processDrawingObjectForBody( DrawObject* drawObject, KoXmlWriter* xmlWriter );
00058   void processTextObjectForBody( TextObject* textObject, KoXmlWriter* xmlWriter );
00059 
00060 
00061   void processSlideForStyle( unsigned slideNo, Slide* slide, KoXmlWriter* xmlWriter );
00062   void processObjectForStyle( Object* object, KoXmlWriter* xmlWriter );
00063   void processGroupObjectForStyle( GroupObject* groupObject, KoXmlWriter* xmlWriter );
00064   void processDrawingObjectForStyle( DrawObject* drawObject, KoXmlWriter* xmlWriter );
00065   void processTextObjectForStyle( TextObject* textObject, KoXmlWriter* xmlWriter );
00066 
00067   void processEllipse(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00068   void processRectangle(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00069   void processRoundRectangle(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00070   void processDiamond(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00071   void processTriangle(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00072   void processTrapezoid(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00073   void processParallelogram(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00074   void processHexagon(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00075   void processOctagon(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00076   void processArrow(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00077   void processLine(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00078   void processSmiley(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00079   void processHeart(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00080   void processFreeLine(DrawObject* drawObject, KoXmlWriter* xmlWriter); 
00081 };
00082 
00083 #endif // POWERPOINTIMPORT_H
KDE Home | KDE Accessibility Home | Description of Access Keys