21#ifndef OpenCalc_IMPORT_H__
22#define OpenCalc_IMPORT_H__
25#include "kspread_format.h"
42class OpenCalcImport :
public KoFilter
47 OpenCalcImport( KoFilter * parent,
const char * name,
const TQStringList & );
48 virtual ~OpenCalcImport();
50 virtual KoFilter::ConversionStatus convert( TQCString
const & from, TQCString
const & to );
58 OpenCalcPoint( TQString
const & str );
67 enum bPos { Left, Top, Right, Bottom, Fall, GoUp, Border };
70 KSpread::Format * m_defaultLayout;
72 TQDomDocument m_content;
74 TQDomDocument m_settings;
76 TQDict<TQDomElement> m_styles;
77 TQDict<KSpread::Format> m_defaultStyles;
78 TQDict<TQString> m_formats;
79 TQMap<TQString,TQDomElement> m_validationList;
81 TQStringList m_namedAreas;
84 bool parseBody(
int numOfTables );
85 void insertStyles( TQDomElement
const & element );
86 bool createStyleMap( TQDomDocument
const & styles );
87 bool readRowFormat( TQDomElement & rowNode, TQDomElement * rowStyle,
88 KSpread::Sheet * table,
int & row,
int & number,
bool last );
89 bool readColLayouts( TQDomElement & content, KSpread::Sheet * table );
90 bool readRowsAndCells( TQDomElement & content, KSpread::Sheet * table );
91 bool readCells( TQDomElement & rowNode, KSpread::Sheet * table,
int row,
int & columns );
92 void convertFormula( TQString & text, TQString
const & f )
const;
93 void loadFontStyle( KSpread::Format * layout, TQDomElement
const * font )
const;
94 void readInStyle( KSpread::Format * layout, TQDomElement
const & style );
95 void loadStyleProperties( KSpread::Format * layout, TQDomElement
const & property )
const;
96 void loadBorder( KSpread::Format * layout, TQString
const & borderDef, bPos pos )
const;
97 void loadTableMasterStyle( KSpread::Sheet * table, TQString
const & stylename );
98 TQString * loadFormat( TQDomElement * element,
99 KSpread::FormatType & formatType,
101 void checkForNamedAreas( TQString & formula )
const;
102 void loadOasisCellValidation(
const TQDomElement&body );
103 void loadOasisValidation( KSpread::Validity* val,
const TQString& validationName );
104 void loadOasisValidationCondition( KSpread::Validity* val,TQString &valExpression );
105 void loadOasisAreaName(
const TQDomElement&body );
106 void loadOasisMasterLayoutPage( KSpread::Sheet * table,KoStyleStack &styleStack );
107 void loadOasisValidationValue( KSpread::Validity* val,
const TQStringList &listVal );
108 TQString translatePar( TQString & par )
const;
109 void loadCondition( KSpread::Cell*cell,
const TQDomElement &property );
110 void loadOasisCondition(KSpread::Cell*cell,
const TQDomElement &property );
111 void loadOasisConditionValue(
const TQString &styleCondition, KSpread::Conditional &newCondition );
112 void loadOasisCondition( TQString &valExpression, KSpread::Conditional &newCondition );
113 void loadOasisValidationValue(
const TQStringList &listVal, KSpread::Conditional &newCondition );
114 KoFilter::ConversionStatus loadAndParse( TQDomDocument& doc,
const TQString& fileName,KoStore *m_store );
116 KoFilter::ConversionStatus openFile();