filters
para.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __KWORD_PARA_H__
00023 #define __KWORD_PARA_H__
00024
00025 #include <qstring.h>
00026 #include <qptrstack.h>
00027 #include <qptrlist.h>
00028
00029
00030
00031 #include "layout.h"
00032 #include "element.h"
00033 #include "format.h"
00034
00035 enum EP_INFO
00036 {
00037 EP_NONE,
00038 EP_FOOTNOTE
00039 };
00040
00041
00042
00043
00044
00045
00046
00047 class TextFrame;
00048
00049
00050
00051
00052
00058 class Para: public Layout
00059 {
00060
00061 QString _text;
00062 QString* _name;
00063 EP_INFO _info;
00064
00065 QPtrList<Format>* _lines;
00066
00067
00068
00069
00070 TextFrame* _element;
00071 unsigned int _currentPos;
00072 static QPtrStack<EType> _historicList;
00073 int _nbLines;
00074 static int _tabulation;
00075
00076 public:
00084 Para(TextFrame *textFrame = 0);
00085
00086
00087
00088
00089
00090
00091 virtual ~Para();
00092
00100
00104
00105
00106
00110 QString* getName () const { return _name; }
00114 EP_INFO getInfo () const { return _info; }
00118 TextFrame* getFrame () const { return _element; }
00122 SSect getFrameType () const;
00126 EFormat getTypeFormat(const QDomNode) const;
00130 int getNbCharPara() const;
00131
00132 bool notEmpty() const { return (_lines == 0) ? false : (_lines->count() != 0); }
00136
00137
00138
00146 void analyse (const QDomNode);
00147
00151 void generate (QTextStream&);
00152
00156 void generateBeginEnv(QTextStream&);
00157
00161 void generateEndEnv(QTextStream&);
00162
00166 void generateTitle (QTextStream&);
00167
00171 void openList (QTextStream&);
00172
00176 void closeList (QTextStream&, Para*);
00177
00178 private:
00179 void analyseParam (const QDomNode);
00180 void analyseName (const QDomNode);
00181 void analyseInfo (const QDomNode);
00182
00183 void analyseLayoutPara(const QDomNode);
00184 void analyseFormat (const QDomNode);
00185 void analyseFormats (const QDomNode);
00186
00190 void generateDebut (QTextStream&);
00191 void generateFin (QTextStream&);
00192
00196 void closeList (EType, QTextStream&);
00197
00198 };
00199
00200 #endif
|