/* MEMO: to see the unicode table * xset +fp /usr/X11R6/lib/X11/fonts/ucs/ * xfd -fn '-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1' */ /* ** A program to convert the XML rendered by KWord into LATEX. ** ** Copyright (C) 2002 - 2003 Robert JACOLIN ** ** This library is free software; you can redistribute it and/or ** modify it under the terms of the GNU Library General Public ** License as published by the Free Software Foundation; either ** version 2 of the License, or (at your option) any later version. ** ** This library is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ** Library General Public License for more details. ** ** To receive a copy of the GNU Library General Public License, write to the ** Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. ** */ #include /* for kdDebug() stream */ #include "variablezone.h" #include "para.h" #include "document.h" /*******************************************/ /* VariableZone */ /*******************************************/ VariableZone::VariableZone(Para* para): VariableFormat(para) { setPara(para); setSize(para->getSize()); setWeight(para->getWeight()); setItalic(para->isItalic()); setUnderlined(para->getUnderlineType()); setStrikeout(para->isStrikeout()); } /*******************************************/ /* VariableZone */ /*******************************************/ VariableZone::VariableZone(TQString text, Para* para): VariableFormat(para) { setTexte(text); /*setPara(para); setSize(para->getSize()); setWeight(para->getWeight()); setItalic(para->isItalic()); setUnderlined(para->getUnderlineType()); setStrikeout(para->isStrikeout());*/ } /*******************************************/ /* ~VariableZone */ /*******************************************/ VariableZone::~VariableZone() { kdDebug(30522) << "Destruction of an area" << endl; } /*******************************************/ /* analyse */ /*******************************************/ /* Analyse a text format, get the text used*/ /* by this format. */ /*******************************************/ void VariableZone::analyse(const TQDomNode balise) { kdDebug(30522) << "FORMAT" << endl; /* Get header information (size, position) * Get infos. to format the text */ //if(balise != 0) analyseFormat(balise); /* Format the text */ setTexte(getTexte().mid(getPos(), getLength())); kdDebug(30522) << getTexte().length() << endl; kdDebug(30522) << getTexte().latin1() << endl; kdDebug(30522) << "END FORMAT" << endl; } /*******************************************/ /* generate */ /*******************************************/ /* Generate the text formated (if needed). */ /*******************************************/ void VariableZone::generate(TQTextStream &out) { if(useFormat()) generate_format_begin(out); /* Display the text */ kdDebug(30522) << "type : " << getType() << endl; if((getType() == VAR_DATE) && !isFix()) out << "\\today" << endl; else if(getType() == VAR_FOOTNOTE) { if(getNotetype() == "footnote") out << "\\,\\footnote{"; else if(getNotetype() == "endnote") out << "\\,\\endnote{"; /* Get the footnote and generate it. */ Element* footnote = getRoot()->searchFootnote(getFrameset()); if(footnote != NULL) { footnote->generate(out); } Config::instance()->writeIndent(out); out << "}"; } else if(getType() == VAR_NOTE) { out << "\\marginpar{\\scriptsize "; if(Config::instance()->mustUseLatin1()) display(escapeLatin1(getNote()), out); else if(Config::instance()->mustUseUnicode()) display(getNote(), out); out << "}" << endl; } else { if(Config::instance()->mustUseLatin1()) display(escapeLatin1(getText()), out); else if(Config::instance()->mustUseUnicode()) display(getText(), out); } if(useFormat()) generate_format_end(out); }