43#include <tqvaluelist.h>
47#include "KWEFStructures.h"
48#include "TagProcessing.h"
49#include "ProcessDocument.h"
50#include "KWEFKWordLeader.h"
57void ProcessTextTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
59 TQString *tagText = (TQString *) tagData;
61 *tagText = myNode.toElement().text();
63 TQValueList<TagProcessing> tagProcessingList;
65 ProcessSubtags (myNode, tagProcessingList, leader);
67 AllowNoSubtags (myNode, leader);
70static void ProcessAboutTag ( TQDomNode myNode,
72 KWEFKWordLeader *leader )
74 KWEFDocumentInfo *docInfo = (KWEFDocumentInfo *) tagData;
76 AllowNoAttributes (myNode);
78 TQValueList<TagProcessing> tagProcessingList;
79 tagProcessingList.append (
TagProcessing (
"title", ProcessTextTag, &docInfo->title ) );
80 tagProcessingList.append (
TagProcessing (
"abstract", ProcessTextTag, &docInfo->abstract ) );
81 tagProcessingList.append (
TagProcessing (
"keyword", ProcessTextTag, &docInfo->keywords ) );
82 tagProcessingList.append (
TagProcessing (
"subject", ProcessTextTag, &docInfo->subject ) );
83 ProcessSubtags (myNode, tagProcessingList, leader);
87static void ProcessAuthorTag ( TQDomNode myNode,
89 KWEFKWordLeader *leader )
91 KWEFDocumentInfo *docInfo = (KWEFDocumentInfo *) tagData;
93 AllowNoAttributes (myNode);
95 TQValueList<TagProcessing> tagProcessingList;
96 tagProcessingList.append (
TagProcessing (
"full-name", ProcessTextTag, &docInfo->fullName ) );
97 tagProcessingList.append (
TagProcessing (
"title", ProcessTextTag, &docInfo->jobTitle ) );
98 tagProcessingList.append (
TagProcessing (
"company", ProcessTextTag, &docInfo->company ) );
99 tagProcessingList.append (
TagProcessing (
"email", ProcessTextTag, &docInfo->email ) );
100 tagProcessingList.append (
TagProcessing (
"telephone", ProcessTextTag, &docInfo->telephone ) );
101 tagProcessingList.append (
TagProcessing (
"telephone-work", ProcessTextTag, &docInfo->telephonework ) );
102 tagProcessingList.append (
TagProcessing (
"fax", ProcessTextTag, &docInfo->fax ) );
103 tagProcessingList.append (
TagProcessing (
"country", ProcessTextTag, &docInfo->country ) );
104 tagProcessingList.append (
TagProcessing (
"postal-code", ProcessTextTag, &docInfo->postalCode ) );
105 tagProcessingList.append (
TagProcessing (
"city", ProcessTextTag, &docInfo->city ) );
106 tagProcessingList.append (
TagProcessing (
"street", ProcessTextTag, &docInfo->street ) );
107 tagProcessingList.append (
TagProcessing (
"initial", ProcessTextTag, &docInfo->initial ) );
108 tagProcessingList.append (
TagProcessing (
"position", ProcessTextTag, &docInfo->position ) );
109 ProcessSubtags (myNode, tagProcessingList, leader);
113void ProcessDocumentInfoTag ( TQDomNode myNode,
115 KWEFKWordLeader *leader )
117 AllowNoAttributes (myNode);
119 KWEFDocumentInfo docInfo;
121 TQValueList<TagProcessing> tagProcessingList;
123 tagProcessingList.append (
TagProcessing (
"author", ProcessAuthorTag, &docInfo ) );
124 tagProcessingList.append (
TagProcessing (
"about", ProcessAboutTag, &docInfo ) );
125 ProcessSubtags (myNode, tagProcessingList, leader);
127 leader->doFullDocumentInfo (docInfo);
160static void ProcessOneAttrTag ( TQDomNode myNode,
164 KWEFKWordLeader *leader )
166 TQValueList<AttrProcessing> attrProcessingList;
167 attrProcessingList <<
AttrProcessing (attrName, attrType, attrData);
168 ProcessAttributes (myNode, attrProcessingList);
170 AllowNoSubtags (myNode, leader);
174static void ProcessColorAttrTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader * )
176 TQColor *attrValue = (TQColor *) tagData;
178 int red, green, blue;
180 TQValueList<AttrProcessing> attrProcessingList;
184 ProcessAttributes (myNode, attrProcessingList);
186 attrValue->setRgb (red, green, blue);
190static void ProcessBoolIntAttrTag ( TQDomNode myNode,
193 KWEFKWordLeader *leader )
195 ProcessOneAttrTag (myNode, attrName,
"bool", attrData, leader);
202static void ProcessIntValueTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
204 ProcessOneAttrTag (myNode,
"value",
"int", tagData, leader);
208static void ProcessBoolIntValueTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
210 ProcessBoolIntAttrTag (myNode,
"value", tagData, leader);
214static void ProcessStringValueTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
216 ProcessOneAttrTag (myNode,
"value",
"TQString", tagData, leader);
219static void ProcessStringNameTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
221 ProcessOneAttrTag (myNode,
"name",
"TQString", tagData, leader);
228static void ProcessOldLayoutChildTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader* )
230 TQValueList<AttrProcessing> attrProcessingList;
232 double* d = (
double*) ( tagData );
240 ProcessAttributes (myNode, attrProcessingList);
243static void ProcessUnderlineTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader* )
251 TQValueList<AttrProcessing> attrProcessingList;
259 ProcessAttributes (myNode, attrProcessingList);
261 str=str.stripWhiteSpace();
263 if ( (str==
"0") || (str.isEmpty()) )
276static void ProcessStrikeoutTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader* )
279 TQString type, linestyle;
283 TQValueList<AttrProcessing> attrProcessingList;
287 ProcessAttributes (myNode, attrProcessingList);
289 if( type.isEmpty() || ( type ==
"0" ) )
304void ProcessAnchorTag ( TQDomNode myNode,
306 KWEFKWordLeader *leader )
308 TQString *instance = (TQString *) tagData;
311 *instance = TQString();
312 TQValueList<AttrProcessing> attrProcessingList;
315 ProcessAttributes (myNode, attrProcessingList);
317 if ( type !=
"frameset" )
319 kdWarning (30508) <<
"Unknown ANCHOR type " << type <<
"!" << endl;
322 if ( (*instance).isEmpty () )
324 kdWarning (30508) <<
"Bad ANCHOR instance name!" << endl;
327 AllowNoSubtags (myNode, leader);
331static void ProcessLinkTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader *)
335 TQString linkName, hrefName;
337 TQValueList<AttrProcessing> attrProcessingList;
338 attrProcessingList.append (
AttrProcessing (
"linkName", linkName) );
339 attrProcessingList.append (
AttrProcessing (
"hrefName", hrefName) );
340 ProcessAttributes (myNode, attrProcessingList);
342 variable->
setLink(linkName, hrefName);
346static void ProcessPgNumTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader *)
350 TQString subtype, value;
352 TQValueList<AttrProcessing> attrProcessingList;
353 attrProcessingList.append (
AttrProcessing (
"subtype", subtype) );
355 ProcessAttributes (myNode, attrProcessingList);
361static void ProcessTypeTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader *)
365 TQValueList<AttrProcessing> attrProcessingList;
366 attrProcessingList.append (
AttrProcessing (
"key", variable->m_key ) );
367 attrProcessingList.append (
AttrProcessing (
"text", variable->m_text) );
368 attrProcessingList.append (
AttrProcessing (
"type", variable->m_type) );
369 ProcessAttributes (myNode, attrProcessingList);
372static void ProcessFieldTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader *)
376 TQString name, value;
378 TQValueList<AttrProcessing> attrProcessingList;
379 attrProcessingList.append (
AttrProcessing (
"subtype", subtype) );
381 ProcessAttributes (myNode, attrProcessingList);
385 case 0: name =
"fileName";
break;
386 case 1: name =
"dirName";
break;
387 case 2: name =
"authorName";
break;
388 case 3: name =
"authorEmail";
break;
389 case 4: name =
"authorCompany";
break;
390 case 10: name =
"docTitle";
break;
391 case 11: name =
"docAbstract";
break;
392 case 16: name =
"authorInitial";
break;
400static void ProcessFootnoteTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader)
403 TQString frameset, value, numberingtype, notetype;
405 TQValueList<AttrProcessing> attrProcessingList;
412 ProcessAttributes (myNode, attrProcessingList);
415 for(
unsigned i=0;i<leader->footnoteList.count();i++)
417 if( leader->footnoteList[i].frameName == frameset )
419 variable->
setFootnote( notetype, numberingtype, value, &leader->footnoteList[i].para );
425static void ProcessNoteTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader)
431 TQValueList<AttrProcessing> attrProcessingList;
435 ProcessAttributes (myNode, attrProcessingList);
442static void ProcessVariableTag (TQDomNode myNode,
void* tagData, KWEFKWordLeader* leader)
446 TQValueList<TagProcessing> tagProcessingList;
458 <<
TagProcessing (
"FOOTNOTE", ProcessFootnoteTag, variable )
460 ProcessSubtags (myNode, tagProcessingList, leader);
463static void AppendTagProcessingFormatOne(TQValueList<TagProcessing>& tagProcessingList, FormatData& formatData)
466 <<
TagProcessing (
"COLOR", ProcessColorAttrTag, &formatData.text.fgColor )
467 <<
TagProcessing (
"FONT", ProcessStringNameTag, &formatData.text.fontName )
468 <<
TagProcessing (
"SIZE", ProcessIntValueTag, &formatData.text.fontSize )
469 <<
TagProcessing (
"WEIGHT", ProcessIntValueTag, &formatData.text.weight )
470 <<
TagProcessing (
"ITALIC", ProcessBoolIntValueTag, &formatData.text.italic )
471 <<
TagProcessing (
"UNDERLINE", ProcessUnderlineTag, &formatData.text )
472 <<
TagProcessing (
"STRIKEOUT", ProcessStrikeoutTag, &formatData.text )
473 <<
TagProcessing (
"VERTALIGN", ProcessIntValueTag, &formatData.text.verticalAlignment )
475 <<
TagProcessing (
"FONTATTRIBUTE", ProcessStringValueTag, &formatData.text.fontAttribute )
476 <<
TagProcessing (
"LANGUAGE", ProcessStringValueTag, &formatData.text.language )
481 <<
TagProcessing (
"TEXTBACKGROUNDCOLOR", ProcessColorAttrTag, &formatData.text.bgColor )
486 if ( formatData.text.language ==
"xx" )
490 formatData.text.language =
"en_US";
495static void SubProcessFormatOneTag(TQDomNode myNode,
496 ValueListFormatData *formatDataList,
int formatPos,
int formatLen,
497 KWEFKWordLeader *leader)
499 if ( formatPos == -1 || formatLen == -1 )
505 kdDebug (30508) <<
"Missing formatting! Style? "
507 <<
" = " << myNode.nodeValue()
511 if ( ! leader->m_oldSyntax )
512 kdDebug (30508) <<
"Missing formatting for <FORMAT> (style or syntax version 1 ?)" << endl;
515 FormatData formatData(1, formatPos, formatLen);
516 TQValueList<TagProcessing> tagProcessingList;
517 AppendTagProcessingFormatOne(tagProcessingList,formatData);
518 ProcessSubtags (myNode, tagProcessingList, leader);
520 (*formatDataList) << formatData;
524static void SubProcessFormatTwoTag(TQDomNode myNode,
525 ValueListFormatData *formatDataList,
int formatPos,
int formatLen,
526 KWEFKWordLeader *leader)
528 if ( (formatPos == -1) )
531 kdWarning(30508) <<
"Missing text image position!" << endl;
538 FormatData formatData(2, formatPos, formatLen);
539 TQValueList<TagProcessing> tagProcessingList;
543 tagProcessingList.append(
TagProcessing(
"FILENAME", ProcessStringValueTag, &fileName));
544 tagProcessingList.append(
TagProcessing(
"PICTURE", ProcessImageTag, &key ));
545 ProcessSubtags (myNode, tagProcessingList, leader);
547 if ( !fileName.isEmpty() )
549 kdDebug(30508) <<
"KWord 0.8 text image: " << fileName << endl;
550 key = KoPictureKey( fileName );
554 kdDebug(30508) <<
"KWord 1.2/1.3 text image: " << key.toString() << endl;
557 formatData.frameAnchor.key = key;
558 formatData.frameAnchor.picture.key = key;
560 (*formatDataList) << formatData;
564static void SubProcessFormatThreeTag(TQDomNode myNode,
565 ValueListFormatData *formatDataList,
int formatPos,
int ,
566 KWEFKWordLeader *leader)
568 if ( (formatPos == -1) )
571 kdWarning(30508) <<
"Missing variable formatting!" << endl;
574 AllowNoSubtags (myNode, leader);
576 const FormatData formatData(3, formatPos, 1);
577 (*formatDataList) << formatData;
580static void SubProcessFormatFourTag(TQDomNode myNode,
581 ValueListFormatData *formatDataList,
int formatPos,
int formatLen,
582 KWEFKWordLeader *leader)
584 if ( (formatPos == -1) || (formatLen == -1) )
587 kdWarning(30508) <<
"Missing variable formatting!" << endl;
590 FormatData formatData(4, formatPos, formatLen);
591 TQValueList<TagProcessing> tagProcessingList;
592 tagProcessingList.append(
TagProcessing(
"VARIABLE", ProcessVariableTag, &formatData.variable));
594 AppendTagProcessingFormatOne(tagProcessingList,formatData);
595 ProcessSubtags (myNode, tagProcessingList, leader);
597 (*formatDataList) << formatData;
601static void SubProcessFormatSixTag(TQDomNode myNode,
602 ValueListFormatData *formatDataList,
int formatPos,
int formatLen,
603 KWEFKWordLeader *leader)
605 if ( formatPos != -1 && formatLen != -1 )
609 TQValueList<TagProcessing> tagProcessingList;
615 ProcessSubtags (myNode, tagProcessingList, leader);
617 kdDebug (30508) <<
"DEBUG: Adding frame anchor " << instance << endl;
620 (*formatDataList) << FormatData ( formatPos, formatLen,
FrameAnchor (instance) );
624 kdWarning (30508) <<
"Missing or bad anchor formatting!" << endl;
628static void ProcessFormatTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader)
630 ValueListFormatData *formatDataList = (ValueListFormatData *) tagData;
635 TQValueList<AttrProcessing> attrProcessingList;
639 ProcessAttributes (myNode, attrProcessingList);
641 if ( ( formatId == -1 ) && ( leader->m_oldSyntax ) )
650 SubProcessFormatOneTag(myNode, formatDataList, formatPos, formatLen, leader);
655 SubProcessFormatTwoTag(myNode, formatDataList, formatPos, formatLen, leader);
660 SubProcessFormatThreeTag(myNode, formatDataList, formatPos, formatLen, leader);
665 SubProcessFormatFourTag(myNode, formatDataList, formatPos, formatLen, leader);
670 SubProcessFormatSixTag(myNode, formatDataList, formatPos, formatLen, leader);
675 kdWarning (30508) <<
"FORMAT attribute id value not set!" << endl;
676 AllowNoSubtags (myNode, leader);
681 kdWarning(30508) <<
"Unexpected FORMAT attribute id value " << formatId << endl;
682 AllowNoSubtags (myNode, leader);
688void ProcessFormatsTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
690 ValueListFormatData *formatDataList = (ValueListFormatData *) tagData;
692 AllowNoAttributes (myNode);
694 (*formatDataList).clear ();
695 TQValueList<TagProcessing> tagProcessingList;
696 tagProcessingList <<
TagProcessing (
"FORMAT", ProcessFormatTag, formatDataList );
697 ProcessSubtags (myNode, tagProcessingList, leader);
704static void ProcessCounterTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
709 int counterStyle = counter->style;
710 int counterNumbering = counter->numbering;
712 TQValueList<AttrProcessing> attrProcessingList;
715 attrProcessingList <<
AttrProcessing (
"bullet", counter->customCharacter );
717 attrProcessingList <<
AttrProcessing (
"numberingtype", counterNumbering );
718 attrProcessingList <<
AttrProcessing (
"lefttext", counter->lefttext );
719 attrProcessingList <<
AttrProcessing (
"righttext", counter->righttext );
720 attrProcessingList <<
AttrProcessing (
"bulletfont", counter->customFont );
725 ProcessAttributes (myNode, attrProcessingList);
727 counter->style = CounterData::Style( counterStyle );
730 AllowNoSubtags (myNode, leader);
734static void ProcessLayoutTabulatorTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
740 TQValueList<AttrProcessing> attrProcessingList;
750 if ( leader->m_oldSyntax )
759 ProcessAttributes (myNode, attrProcessingList);
760 tabulatorList->append(tabulator);
762 AllowNoSubtags (myNode, leader);
766static void ProcessIndentsTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
770 TQValueList<AttrProcessing> attrProcessingList;
774 ProcessAttributes (myNode, attrProcessingList);
776 AllowNoSubtags (myNode, leader);
780static void ProcessLayoutOffsetTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
784 TQValueList<AttrProcessing> attrProcessingList;
787 ProcessAttributes (myNode, attrProcessingList);
789 AllowNoSubtags (myNode, leader);
793static void ProcessLineBreakingTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
797 TQString strBefore, strAfter;
799 TQValueList<AttrProcessing> attrProcessingList;
800 attrProcessingList <<
AttrProcessing (
"linesTogether", layout->keepLinesTogether );
801 attrProcessingList <<
AttrProcessing (
"hardFrameBreak", layout->pageBreakBefore );
802 attrProcessingList <<
AttrProcessing (
"hardFrameBreakAfter", layout->pageBreakAfter );
804 ProcessAttributes (myNode, attrProcessingList);
806 AllowNoSubtags (myNode, leader);
810static void ProcessShadowTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader)
818 TQValueList<AttrProcessing> attrProcessingList;
824 ProcessAttributes (myNode, attrProcessingList);
828 AllowNoSubtags (myNode, leader);
831static void ProcessAnyBorderTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
839 TQValueList<AttrProcessing> attrProcessingList;
845 ProcessAttributes (myNode, attrProcessingList);
847 border->color.setRgb(red,green,blue);
849 AllowNoSubtags (myNode, leader);
852static void ProcessFollowingTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
854 ProcessOneAttrTag (myNode,
"name",
"TQString", tagData, leader);
857static void ProcessLinespacingTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader* )
860 TQString oldValue, spacingType;
863 TQValueList<AttrProcessing> attrProcessingList;
866 attrProcessingList <<
AttrProcessing (
"spacingvalue" , spacingValue );
867 ProcessAttributes (myNode, attrProcessingList);
872 if ( spacingType.isEmpty() )
875 if( oldValue ==
"oneandhalf" )
877 else if ( oldValue ==
"double" )
882 const double size = oldValue.toDouble( &ok );
883 if ( ok && ( size >= 0.0 ) )
896 if( spacingType ==
"oneandhalf" )
898 else if ( spacingType ==
"double" )
900 else if ( spacingType ==
"custom" )
902 else if ( spacingType ==
"atleast" )
904 else if ( spacingType ==
"multiple" )
906 else if ( spacingType ==
"fixed" )
914static void ProcessLineSpaceTag (TQDomNode myNode,
void *tagData, KWEFKWordLeader* )
918 double spacingValue = 0.0;
920 TQValueList<AttrProcessing> attrProcessingList;
924 ProcessAttributes (myNode, attrProcessingList);
930static void ProcessFlowTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
934 TQString oldAlign, normalAlign;
936 TQValueList<AttrProcessing> attrProcessingList;
937 if ( leader->m_oldSyntax )
945 ProcessAttributes (myNode, attrProcessingList);
947 if ( leader->m_oldSyntax && normalAlign.isEmpty() )
949 if ( oldAlign.isEmpty() )
955 const int align = oldAlign.toInt();
956 if ( ( align < 0 ) || ( align > 3) )
958 kdWarning(30508) <<
"KWord 0.8 flow unknown: " << oldAlign << endl;
963 const char* flows[]={
"left",
"right",
"center",
"justify" };
967 kdDebug(30508) <<
"KWord 0.8 flow: " << oldAlign <<
" corrected: " << layout->
alignment << endl;
977void ProcessLayoutTag ( TQDomNode myNode,
void *tagData, KWEFKWordLeader *leader )
980 TQValueList<AttrProcessing> attrProcessingList;
982 ProcessAttributes (myNode, attrProcessingList);
986 ValueListFormatData formatDataList;
988 TQValueList<TagProcessing> tagProcessingList;
989 tagProcessingList <<
TagProcessing (
"NAME", ProcessStringValueTag, &layout->styleName );
990 tagProcessingList <<
TagProcessing (
"FOLLOWING", ProcessFollowingTag, &layout->styleFollowing );
991 tagProcessingList <<
TagProcessing (
"FLOW", ProcessFlowTag, layout );
992 tagProcessingList <<
TagProcessing (
"INDENTS", ProcessIndentsTag, layout );
993 tagProcessingList <<
TagProcessing (
"OFFSETS", ProcessLayoutOffsetTag, layout );
994 tagProcessingList <<
TagProcessing (
"LINESPACING", ProcessLinespacingTag, layout );
995 tagProcessingList <<
TagProcessing (
"PAGEBREAKING", ProcessLineBreakingTag, layout );
996 tagProcessingList <<
TagProcessing (
"LEFTBORDER", ProcessAnyBorderTag, &layout->leftBorder );
997 tagProcessingList <<
TagProcessing (
"RIGHTBORDER", ProcessAnyBorderTag, &layout->rightBorder );
998 tagProcessingList <<
TagProcessing (
"TOPBORDER", ProcessAnyBorderTag, &layout->topBorder );
999 tagProcessingList <<
TagProcessing (
"BOTTOMBORDER", ProcessAnyBorderTag, &layout->bottomBorder );
1000 tagProcessingList <<
TagProcessing (
"COUNTER", ProcessCounterTag, &layout->counter );
1001 tagProcessingList <<
TagProcessing (
"FORMAT", ProcessFormatTag, &formatDataList );
1003 tagProcessingList <<
TagProcessing (
"SHADOW", ProcessShadowTag, layout );
1005 if ( leader->m_oldSyntax )
1013 <<
TagProcessing (
"LINESPACE", ProcessLineSpaceTag, layout )
1017 ProcessSubtags (myNode, tagProcessingList, leader);
1020 if ( formatDataList.isEmpty () )
1022 kdWarning (30508) <<
"No FORMAT tag within LAYOUT/STYLE!" << endl;
1026 layout->formatData = formatDataList.first ();
1028 if ( formatDataList.count () > 1 )
1030 kdWarning (30508) <<
"More than one FORMAT tag within LAYOUT/STYLE!" << endl;
1034 if ( layout->styleName.isEmpty () )
1036 layout->styleName =
"Standard";
1037 kdWarning (30508) <<
"Empty layout name!" << endl;
1043static void ProcessImageKeyTag ( TQDomNode myNode,
1044 void *tagData, KWEFKWordLeader *)
1046 KoPictureKey *key = (KoPictureKey*) tagData;
1049 key->loadAttributes(myNode.toElement());
1052void ProcessImageTag ( TQDomNode myNode,
1053 void *tagData, KWEFKWordLeader *leader )
1055 TQValueList<AttrProcessing> attrProcessingList;
1057 ProcessAttributes (myNode, attrProcessingList);
1059 TQValueList<TagProcessing> tagProcessingList;
1060 tagProcessingList <<
TagProcessing (
"KEY", ProcessImageKeyTag, tagData );
1061 ProcessSubtags (myNode, tagProcessingList, leader);
The class AttrProcessing and the two functions ProcessAttributes () and AllowNoSubtags () allow for e...
Counter structure, for LayoutData.
TQString text
text at the time of saving (no formatting info though)
This is basically <FRAMESET> tag.
double lineSpacing
Space between lines in pt, if lineSpacingType==0.
int shadowDirection
direction of <SHADOW>
TabulatorList tabulatorList
List of tabulators.
TQColor shadowColor
red, green, blue of <SHADOW>
double indentFirst
indentation correction of first line (can be negative!)
double indentRight
right indentation (a negative value means invalid)
double shadowDistance
distance of <SHADOW>
double indentLeft
left indentation (a negative value means invalid)
TQString alignment
left, right, center, justify
int lineSpacingType
0=custom, 10=one line, 15=one and half lines, 20= 2 lines
double marginTop
space before the paragraph (a negative value means invalid)
double marginBottom
space after the paragraph (a negative value means invalid)
Tabulator (see also <TABULATOR> element in KWord's DTD)
The class TagProcessing and the two functions ProcessSubtags () and AllowNoSubtags () allow for easin...
TextFormatting is a container for data retrieved from the <FORMAT> tag and its subtags to be used in ...
bool underlineWord
true if word-by-word (i.e spaces are not underlined)
bool underline
Any underline? (If true, we do not know if simple or double or what else)
TQColor underlineColor
color of the line
bool strikeout
true if strikeout
TQString underlineStyle
underline style: solid, dash, dot dash, ....
TQString underlineValue
"value" of the underline: single, double, bold-single...
TQString strikeoutLineStyle
type of the strikeout line: solid, dash, dot, ....
TQString strikeoutType
type of strikeout: single, bold, double
void setLink(const TQString &linkName, const TQString &hrefName)
Set parameters of a LINK element.
void setGenericData(const TQString &key, const TQString &data)
Set generic variable data.
void setField(const TQString &subtype, const TQString &value)
Set parameters of a FIELD element.
void setFootnote(const TQString ¬etype, const TQString &automatic, const TQString &value, TQValueList< ParaData > *para)
Set parameters of a <FOOTNOTE> element.
void setPgNum(const TQString &subtype, const TQString &value)
Set parameters of a PGNUM element.