summaryrefslogtreecommitdiffstats
path: root/filters/kword/latex/export/footnote.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filters/kword/latex/export/footnote.cpp')
-rw-r--r--filters/kword/latex/export/footnote.cpp154
1 files changed, 154 insertions, 0 deletions
diff --git a/filters/kword/latex/export/footnote.cpp b/filters/kword/latex/export/footnote.cpp
new file mode 100644
index 000000000..fbfba354f
--- /dev/null
+++ b/filters/kword/latex/export/footnote.cpp
@@ -0,0 +1,154 @@
+/*
+** A program to convert the XML rendered by KWord into LATEX.
+**
+** Copyright (C) 2000,2002 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 <stdlib.h> /* for atoi function */
+#include <kdebug.h> /* for kdDebug() stream */
+#include "footnote.h"
+#include "textFrame.h" /* for generate function (catch text footnote) */
+#include "document.h"
+
+Footnote::Footnote(Para* para): Format(para)
+{
+}
+
+Footnote::~Footnote()
+{
+ kdDebug(30522) << "Destruction of a footnote." << endl;
+}
+
+/* Modifiers */
+void Footnote::setSpace (TQString new_space)
+{
+ _space = new_space;
+}
+
+void Footnote::setBefore(TQString new_before)
+{
+ _before = new_before;
+
+}
+
+void Footnote::setAfter(TQString new_after)
+{
+ _after = new_after;
+}
+
+void Footnote::setRef(TQString new_ref)
+{
+ _ref = new_ref;
+}
+
+void Footnote::analyse(const TQDomNode balise)
+{
+ /* MARKUPS FORMAT id="1" pos="0" len="17">...</FORMAT> */
+
+ /* Parameters Analyse */
+ kdDebug(30522) << "ANALYSE A FOOTNOTE" << endl;
+
+ /* Children Markups Analyse */
+ for(int index= 0; index < getNbChild(balise); index++)
+ {
+ if(getChildName(balise, index).compare("INTERNAL")== 0)
+ {
+ kdDebug(30522) << "INTERNAL : " << endl;
+ analyseInternal(balise);
+ }
+ else if(getChildName(balise, index).compare("RANGE")== 0)
+ {
+ kdDebug(30522) << "RANGE : " << endl;
+ analyseRange(balise);
+ }
+ else if(getChildName(balise, index).compare("TEXT")== 0)
+ {
+ kdDebug(30522) << "TEXT : " << endl;
+ analyseText(balise);
+ }
+ else if(getChildName(balise, index).compare("DESCRIPT")== 0)
+ {
+ kdDebug(30522) << "DESCRIPT : " << endl;
+ analyseDescript(balise);
+ }
+ else if(getChildName(balise, index).compare("FORMAT")== 0)
+ {
+ kdDebug(30522) << "SUBFORMAT : " << endl;
+ Format::analyse(balise);
+ }
+ }
+ kdDebug(30522) << "END OF FOOTNOTE" << endl;
+}
+
+void Footnote::analyseInternal(const TQDomNode balise)
+{
+ TQDomNode fils;
+ /* MARKUPS <INTERNAL> <PART from="1" to="-1" space="-"/> */
+
+ /* Children Markups Analyse */
+ fils = getChild(balise, "PART");
+ for(int index= 0; index < getNbChild(balise); index++)
+ {
+ if(getChildName(balise, index).compare("PART")== 0)
+ {
+ kdDebug(30522) << "PART : " << endl;
+ setFrom(getAttr(balise, "FROM").toInt());
+ setTo(getAttr(balise, "TO").toInt());
+ setSpace(getAttr(balise, "SPACE"));
+
+ }
+ }
+}
+
+void Footnote::analyseRange(const TQDomNode balise)
+{
+ kdDebug(30522) << "PARAM" << endl;
+ setStart(getAttr(balise, "START").toInt());
+ setEnd(getAttr(balise, "END").toInt());
+}
+
+void Footnote::analyseText(const TQDomNode balise)
+{
+ kdDebug(30522) << "PARAM" << endl;
+ setBefore(getAttr(balise, "BEFORE"));
+ setAfter(getAttr(balise, "AFTER"));
+}
+
+void Footnote::analyseDescript(const TQDomNode balise)
+{
+ kdDebug(30522) << "PARAM" << endl;
+ setRef(getAttr(balise, "REF"));
+}
+
+void Footnote::generate(TQTextStream &out)
+{
+ Element *footnote = 0;
+
+ kdDebug(30522) << " GENERATION FOOTNOTE" << endl;
+ // Go to keep the footnote parag.
+ // then write it with this format.
+ // like this : \,\footnote{the parag. }
+ out << "\\,\\footnote{";
+ kdDebug(30522) << "footnote : " << _ref << endl;
+ if((footnote = getRoot()->searchFootnote(_ref)) != 0)
+ footnote->generate(out);
+ out << "}";
+ kdDebug(30522) << "FOOTNOTE GENERATED" << endl;
+}
+
+