powerpointimport.h
1/* This file is part of the KDE project
2 Copyright (C) 2005 Yolla Indria <yolla.indria@gmail.com>
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18*/
19
20#ifndef POWERPOINTIMPORT_H
21#define POWERPOINTIMPORT_H
22
23#include <KoFilter.h>
24#include <KoStore.h>
25
26#include <tqcstring.h>
27
28#include "libppt.h"
29
30using namespace Libppt;
31
32class KoXmlWriter;
33
34class PowerPointImport : public KoFilter
35{
36TQ_OBJECT
37
38
39public:
40 PowerPointImport ( TQObject *parent, const char* name, const TQStringList& );
41 virtual ~PowerPointImport();
42 virtual KoFilter::ConversionStatus convert( const TQCString& from,
43 const TQCString& to );
44
45private:
46 class Private;
47 Private* d;
48
49 TQByteArray createManifest();
50 TQByteArray createStyles();
51 TQByteArray createContent();
52
53 int drawingObjectCounter;
54
55 void processSlideForBody( unsigned slideNo, Slide* slide, KoXmlWriter* xmlWriter );
56 void processObjectForBody( Object* object, KoXmlWriter* xmlWriter );
57 void processGroupObjectForBody( GroupObject* groupObject, KoXmlWriter* xmlWriter );
58 void processDrawingObjectForBody( DrawObject* drawObject, KoXmlWriter* xmlWriter );
59 void processTextObjectForBody( TextObject* textObject, KoXmlWriter* xmlWriter );
60
61
62 void processSlideForStyle( unsigned slideNo, Slide* slide, KoXmlWriter* xmlWriter );
63 void processObjectForStyle( Object* object, KoXmlWriter* xmlWriter );
64 void processGroupObjectForStyle( GroupObject* groupObject, KoXmlWriter* xmlWriter );
65 void processDrawingObjectForStyle( DrawObject* drawObject, KoXmlWriter* xmlWriter );
66 void processTextObjectForStyle( TextObject* textObject, KoXmlWriter* xmlWriter );
67
68 void processEllipse(DrawObject* drawObject, KoXmlWriter* xmlWriter);
69 void processRectangle(DrawObject* drawObject, KoXmlWriter* xmlWriter);
70 void processRoundRectangle(DrawObject* drawObject, KoXmlWriter* xmlWriter);
71 void processDiamond(DrawObject* drawObject, KoXmlWriter* xmlWriter);
72 void processTriangle(DrawObject* drawObject, KoXmlWriter* xmlWriter);
73 void processTrapezoid(DrawObject* drawObject, KoXmlWriter* xmlWriter);
74 void processParallelogram(DrawObject* drawObject, KoXmlWriter* xmlWriter);
75 void processHexagon(DrawObject* drawObject, KoXmlWriter* xmlWriter);
76 void processOctagon(DrawObject* drawObject, KoXmlWriter* xmlWriter);
77 void processArrow(DrawObject* drawObject, KoXmlWriter* xmlWriter);
78 void processLine(DrawObject* drawObject, KoXmlWriter* xmlWriter);
79 void processSmiley(DrawObject* drawObject, KoXmlWriter* xmlWriter);
80 void processHeart(DrawObject* drawObject, KoXmlWriter* xmlWriter);
81 void processFreeLine(DrawObject* drawObject, KoXmlWriter* xmlWriter);
82};
83
84#endif // POWERPOINTIMPORT_H