summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@frugalware.org>2010-09-17 12:12:53 +0200
committerCédric Bosdonnat <cedricbosdo@openoffice.org>2010-09-17 13:16:04 +0200
commit6b4a72ce1d14f20fafc024ce6e2379f040b0ce80 (patch)
tree762266b4278c2a8ec8da660c32424e1cd490eceb
parenta65459ed90b2f4dd6407d4ffdb2dde4bc769f8fa (diff)
cws-vmiklos01.diff: Better RTF export filterOOO_BUILD_3_2_99_0_PRE
-rw-r--r--sax/source/tools/fastserializer.cxx45
-rw-r--r--sax/source/tools/fastserializer.hxx7
-rw-r--r--svtools/inc/rtfkeywd.hxx12
3 files changed, 64 insertions, 0 deletions
diff --git a/sax/source/tools/fastserializer.cxx b/sax/source/tools/fastserializer.cxx
index 6b0736d264..edff7cbac4 100644
--- a/sax/source/tools/fastserializer.cxx
+++ b/sax/source/tools/fastserializer.cxx
@@ -34,6 +34,10 @@
#include <string.h>
+#if DEBUG
+#include <cstdio>
+#endif
+
using ::rtl::OString;
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
@@ -321,6 +325,28 @@ namespace sax_fastparser {
maMarkStack.push( ForMerge() );
}
+#if DEBUG
+ void FastSaxSerializer::printMarkStack( )
+ {
+ ::std::stack< ForMerge > aCopy( maMarkStack );
+ int nSize = aCopy.size();
+ int i = 0;
+ while ( !aCopy.empty() )
+ {
+ fprintf( stderr, "%d\n", nSize - i );
+
+ ForMerge aMarks = aCopy.top( );
+ aMarks.print();
+
+
+ fprintf( stderr, "\n" );
+
+ aCopy.pop( );
+ i++;
+ }
+ }
+#endif
+
void FastSaxSerializer::mergeTopMarks( sax_fastparser::MergeMarksEnum eMergeType )
{
if ( maMarkStack.empty() )
@@ -360,6 +386,25 @@ namespace sax_fastparser {
return maData;
}
+#if DEBUG
+ void FastSaxSerializer::ForMerge::print( )
+ {
+ fprintf( stderr, "Data: " );
+ for ( sal_Int32 i=0, len=maData.getLength(); i < len; i++ )
+ {
+ fprintf( stderr, "%c", maData[i] );
+ }
+
+ fprintf( stderr, "\nPostponed: " );
+ for ( sal_Int32 i=0, len=maPostponed.getLength(); i < len; i++ )
+ {
+ fprintf( stderr, "%c", maPostponed[i] );
+ }
+
+ fprintf( stderr, "\n" );
+ }
+#endif
+
void FastSaxSerializer::ForMerge::prepend( const Int8Sequence &rWhat )
{
merge( maData, rWhat, false );
diff --git a/sax/source/tools/fastserializer.hxx b/sax/source/tools/fastserializer.hxx
index a616f69244..0132306f66 100644
--- a/sax/source/tools/fastserializer.hxx
+++ b/sax/source/tools/fastserializer.hxx
@@ -134,6 +134,9 @@ private:
ForMerge() : maData(), maPostponed() {}
Int8Sequence& getData();
+#if DEBUG
+ void print();
+#endif
void prepend( const Int8Sequence &rWhat );
void append( const Int8Sequence &rWhat );
@@ -143,6 +146,10 @@ private:
static void merge( Int8Sequence &rTop, const Int8Sequence &rMerge, bool bAppend );
};
+#if DEBUG
+ void printMarkStack( );
+#endif
+
::std::stack< ForMerge > maMarkStack;
void writeFastAttributeList( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs );
diff --git a/svtools/inc/rtfkeywd.hxx b/svtools/inc/rtfkeywd.hxx
index 766f41b0c6..7fd5f418f7 100644
--- a/svtools/inc/rtfkeywd.hxx
+++ b/svtools/inc/rtfkeywd.hxx
@@ -39,6 +39,7 @@
#define OOO_STRING_SVTOOLS_RTF_ALT "\\alt"
#define OOO_STRING_SVTOOLS_RTF_ANNOTATION "\\annotation"
#define OOO_STRING_SVTOOLS_RTF_ANSI "\\ansi"
+#define OOO_STRING_SVTOOLS_RTF_ATNDATE "\\atndate"
#define OOO_STRING_SVTOOLS_RTF_ATNID "\\atnid"
#define OOO_STRING_SVTOOLS_RTF_AUTHOR "\\author"
#define OOO_STRING_SVTOOLS_RTF_B "\\b"
@@ -976,12 +977,15 @@
#define OOO_STRING_SVTOOLS_RTF_SHPBXCOLUMN "\\shpbxcolumn"
#define OOO_STRING_SVTOOLS_RTF_SHPBXMARGIN "\\shpbxmargin"
#define OOO_STRING_SVTOOLS_RTF_SHPBXPAGE "\\shpbxpage"
+#define OOO_STRING_SVTOOLS_RTF_SHPBXIGNORE "\\shpbxignore"
#define OOO_STRING_SVTOOLS_RTF_SHPBYMARGIN "\\shpbymargin"
#define OOO_STRING_SVTOOLS_RTF_SHPBYPAGE "\\shpbypage"
#define OOO_STRING_SVTOOLS_RTF_SHPBYPARA "\\shpbypara"
+#define OOO_STRING_SVTOOLS_RTF_SHPBYIGNORE "\\shpbyignore"
#define OOO_STRING_SVTOOLS_RTF_SHPFBLWTXT "\\shpfblwtxt"
#define OOO_STRING_SVTOOLS_RTF_SHPFHDR "\\shpfhdr"
#define OOO_STRING_SVTOOLS_RTF_SHPGRP "\\shpgrp"
+#define OOO_STRING_SVTOOLS_RTF_SHPINST "\\shpinst"
#define OOO_STRING_SVTOOLS_RTF_SHPLEFT "\\shpleft"
#define OOO_STRING_SVTOOLS_RTF_SHPLID "\\shplid"
#define OOO_STRING_SVTOOLS_RTF_SHPLOCKANCHOR "\\shplockanchor"
@@ -993,6 +997,7 @@
#define OOO_STRING_SVTOOLS_RTF_SHPWRK "\\shpwrk"
#define OOO_STRING_SVTOOLS_RTF_SHPWR "\\shpwr"
#define OOO_STRING_SVTOOLS_RTF_SHPZ "\\shpz"
+#define OOO_STRING_SVTOOLS_RTF_SP "\\sp"
#define OOO_STRING_SVTOOLS_RTF_SPRSBSP "\\sprsbsp"
#define OOO_STRING_SVTOOLS_RTF_SPRSLNSP "\\sprslnsp"
#define OOO_STRING_SVTOOLS_RTF_SPRSTSM "\\sprstsm"
@@ -1138,4 +1143,11 @@
#define OOO_STRING_SVTOOLS_RTF_OLHWAVE "\\olhwave"
#define OOO_STRING_SVTOOLS_RTF_OLOLDBWAVE "\\ololdbwave"
+// Support for nested tables
+#define OOO_STRING_SVTOOLS_RTF_ITAP "\\itap"
+#define OOO_STRING_SVTOOLS_RTF_NESTCELL "\\nestcell"
+#define OOO_STRING_SVTOOLS_RTF_NESTTABLEPROPRS "\\nesttableprops"
+#define OOO_STRING_SVTOOLS_RTF_NESTROW "\\nestrow"
+#define OOO_STRING_SVTOOLS_RTF_NONESTTABLES "\\nonesttables"
+
#endif // _RTFKEYWD_HXX