21#ifndef OoImpress_IMPORT_H__
22#define OoImpress_IMPORT_H__
30#include <KoStyleStack.h>
31#include <liststylestack.h>
37 TQDomElement *element;
41class OoImpressImport :
public KoFilter
46 OoImpressImport( KoFilter * parent,
const char * name,
const TQStringList & );
47 virtual ~OoImpressImport();
49 virtual KoFilter::ConversionStatus convert( TQCString
const & from, TQCString
const & to );
52 void createDocumentInfo( TQDomDocument &docinfo );
53 void createDocumentContent( TQDomDocument &doccontent );
54 void createStyleMap( TQDomDocument &docstyles );
55 void insertDraws(
const TQDomElement& styles );
56 void insertStyles(
const TQDomElement& styles );
57 void insertStylesPresentation(
const TQDomElement& styles );
59 void fillStyleStack(
const TQDomElement&
object,
bool sticky =
false );
60 void addStyles(
const TQDomElement* style );
61 void appendName(TQDomDocument& doc, TQDomElement& e,
const TQDomElement&
object);
62 void append2DGeometry( TQDomDocument& doc, TQDomElement& e,
const TQDomElement&
object,
int offset );
63 bool appendLineGeometry( TQDomDocument& doc, TQDomElement& e,
const TQDomElement&
object,
int offset );
64 void appendPoints(TQDomDocument& doc, TQDomElement& e,
const TQDomElement&
object);
65 void appendPie( TQDomDocument& doc, TQDomElement& e,
const TQDomElement&
object );
66 void appendImage( TQDomDocument& doc, TQDomElement& e, TQDomElement& p,
const TQDomElement&
object );
67 void appendBackgroundImage( TQDomDocument& doc, TQDomElement& e, TQDomElement& p,
const TQDomElement&
object );
68 void appendBackgroundGradient( TQDomDocument& doc, TQDomElement& e,
const TQDomElement&
object );
69 void appendRounding( TQDomDocument& doc, TQDomElement& e,
const TQDomElement&
object );
70 void appendPen( TQDomDocument& doc, TQDomElement& e );
71 void appendBrush( TQDomDocument& doc, TQDomElement& e );
72 void appendShadow( TQDomDocument& doc, TQDomElement& e );
73 void appendLineEnds( TQDomDocument& doc, TQDomElement& e,
bool _orderEndStartLine =
true );
74 void appendTextObjectMargin( TQDomDocument& doc, TQDomElement& e );
75 void appendField(TQDomDocument& doc, TQDomElement& e,
const TQDomElement&
object, uint pos);
76 void createPresentationAnimation(
const TQDomElement& element);
77 TQDomElement findAnimationByObjectID(
const TQString &
id,
int & order);
79 void appendObjectEffect(TQDomDocument& doc, TQDomElement& e,
const TQDomElement&
object, TQDomElement& sound);
80 void appendBackgroundPage( TQDomDocument &doc, TQDomElement &e,TQDomElement & pictureElement, TQDomElement &soundElement );
82 TQDomElement saveHelper(
const TQString &tmpText, TQDomDocument &doc);
83 void appendObject(TQDomNode & drawPage, TQDomDocument & doc, TQDomElement & soundElement, TQDomElement & pictureElement, TQDomElement & pageNoteElement, TQDomElement &objectElement,
double offset,
bool sticky =
false);
85 TQString storeImage(
const TQDomElement&
object );
86 TQString storeSound(
const TQDomElement &
object, TQDomElement & p, TQDomDocument & doc);
87 TQDomElement parseTextBox( TQDomDocument& doc,
const TQDomElement& textBox );
88 bool pushListLevelStyle(
const TQString& listStyleName,
int level );
89 bool pushListLevelStyle(
const TQString& listStyleName, TQDomElement& fullListStyle,
int level );
90 void applyListStyle( TQDomElement& paragraph );
91 void parseList( TQDomDocument& doc, TQDomElement& textObjectElement,
const TQDomElement& list );
92 void parseParagraphs( TQDomDocument& doc, TQDomElement& textObjectElement,
const TQDomElement& textBox );
93 TQDomElement parseParagraph( TQDomDocument& doc,
const TQDomElement& paragraph );
94 void parseSpanOrSimilar( TQDomDocument& doc,
const TQDomElement& parent,
95 TQDomElement& outputParagraph, uint& pos);
96 bool parseSettings( TQDomDocument &doc, TQDomElement &helpLineElement, TQDomElement &attributeElement );
97 void parseHelpLine( TQDomDocument &doc,TQDomElement &helpLineElement,
const TQString &text );
99 KoFilter::ConversionStatus openFile();
100 KoFilter::ConversionStatus loadAndParse(
const TQString& filename, TQDomDocument& doc);
104 TQDomDocument m_content;
105 TQDomDocument m_meta;
106 TQDomDocument m_settings;
107 TQDict<TQDomElement> m_styles, m_draws, m_stylesPresentation;
108 TQDict<TQDomElement> m_listStyles;
109 TQDict<animationList> m_animations;
111 bool m_insideOrderedList;
112 bool m_nextItemIsListItem;
113 int m_restartNumbering;
114 TQString m_currentListStyleName;
117 KoStyleStack m_styleStack;
118 ListStyleStack m_listStyleStack;