summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2009-01-20 14:04:00 +0000
committerVladimir Glazounov <vg@openoffice.org>2009-01-20 14:04:00 +0000
commit146bf404fa85e92c400c307081ed9ed4b146a928 (patch)
tree249aecc54d82976ea7aa73f796dd42bce4724efe /writerfilter
parentcd6745b48f398ebfa45c810135bc00ef8b1763e9 (diff)
CWS-TOOLING: integrate CWS os124
2009-01-13 07:55:10 +0100 os r266195 : build error fixed 2009-01-12 17:56:41 +0100 os r266176 : CWS-TOOLING: rebase CWS os124 to trunk@265758 (milestone: DEV300:m38) 2008-12-29 15:24:28 +0100 os r265819 : #i97456# build error with PCH fixed 2008-12-29 15:12:28 +0100 os r265818 : #i97388# minimum values set for char width and text size 2008-12-29 10:22:09 +0100 os r265815 : #i94820# date fields imported with the correct type 2008-12-23 14:51:15 +0100 os r265783 : #ii97295# force shell update before inserting frmame or picture on click to field 2008-12-23 13:31:42 +0100 os r265779 : #i92817# annotation workaround added 2008-12-23 11:44:05 +0100 os r265776 : #i92817# import of annotation added 2008-12-23 11:42:22 +0100 os r265775 : #i92817# draw model needs to be created before creation of an Outliner 2008-12-23 08:49:13 +0100 os r265770 : #i97436#loading of documents in the wizard should only enable the second wizard page 2008-12-22 11:40:26 +0100 os r265750 : collect and set TableBorder property - currently not correctly processed in Writer 2008-12-18 16:31:38 +0100 os r265704 : #i97397# table/cell/paragraph background improved# 2008-12-10 14:36:00 +0100 os r265188 : #i30490# minimum decreased for fixed line spacing 2008-12-10 14:33:05 +0100 os r265186 : #i30490# minimum decreased for fixed line spacing
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/BorderHandler.cxx3
-rw-r--r--writerfilter/source/dmapper/CellColorHandler.cxx109
-rw-r--r--writerfilter/source/dmapper/CellColorHandler.hxx1
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx6
-rw-r--r--writerfilter/source/dmapper/DomainMapperTableHandler.cxx90
-rw-r--r--writerfilter/source/dmapper/DomainMapperTableManager.cxx14
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx35
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.hxx6
-rw-r--r--writerfilter/source/dmapper/PropertyIds.cxx2
-rw-r--r--writerfilter/source/dmapper/PropertyIds.hxx1
-rw-r--r--writerfilter/source/dmapper/PropertyMap.hxx1
11 files changed, 247 insertions, 21 deletions
diff --git a/writerfilter/source/dmapper/BorderHandler.cxx b/writerfilter/source/dmapper/BorderHandler.cxx
index 06680eeaab1c..106f20440031 100644
--- a/writerfilter/source/dmapper/BorderHandler.cxx
+++ b/writerfilter/source/dmapper/BorderHandler.cxx
@@ -158,7 +158,7 @@ PropertyMapPtr BorderHandler::getProperties()
};
PropertyMapPtr pPropertyMap(new PropertyMap);
// don't fill in default properties
- if( m_nCurrentBorderPosition )
+ if( m_bOOXML || m_nCurrentBorderPosition )
{
for( sal_Int32 nProp = 0; nProp < BORDER_COUNT; ++nProp)
pPropertyMap->Insert( aPropNames[nProp], false, uno::makeAny( m_aBorderLines[nProp] ) );
@@ -174,5 +174,6 @@ table::BorderLine BorderHandler::getBorderLine()
ConversionHelper::MakeBorderLine( m_nLineWidth, m_nLineType, m_nLineColor, aBorderLine, m_bOOXML );
return aBorderLine;
}
+
} //namespace dmapper
} //namespace writerfilter
diff --git a/writerfilter/source/dmapper/CellColorHandler.cxx b/writerfilter/source/dmapper/CellColorHandler.cxx
index c5ed7c75719f..508893888255 100644
--- a/writerfilter/source/dmapper/CellColorHandler.cxx
+++ b/writerfilter/source/dmapper/CellColorHandler.cxx
@@ -33,6 +33,8 @@
#include <ConversionHelper.hxx>
#include <ooxml/resourceids.hxx>
+#define OOXML_COLOR_AUTO 0x0a //todo: AutoColor needs symbol
+
namespace writerfilter {
namespace dmapper {
@@ -47,7 +49,6 @@ CellColorHandler::CellColorHandler() :
m_nShadowType( 0 ),
m_nColor( 0xffffffff ),
m_nFillColor( 0xffffffff ),
- m_bOOXMLColor( false ),
m_bParagraph( false )
{
}
@@ -84,15 +85,18 @@ void CellColorHandler::attribute(Id rName, Value & rVal)
//might be clear, pct5...90, some hatch types
//TODO: The values need symbolic names!
m_nShadowType = nIntValue; //clear == 0, solid: 1, pct5: 2, pct50:8, pct95: x3c, horzStripe:0x0e, thinVertStripe: 0x15
- m_bOOXMLColor = m_nShadowType != 0;
}
break;
/* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
case NS_ooxml::LN_CT_Shd_fill:
+ if( nIntValue == OOXML_COLOR_AUTO )
+ nIntValue = 0xffffff; //fill color auto means white
m_nFillColor = nIntValue;
break;
/* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
case NS_ooxml::LN_CT_Shd_color:
+ if( nIntValue == OOXML_COLOR_AUTO )
+ nIntValue = 0; //shading color auto means black
//color of the shading
m_nColor = nIntValue;
break;
@@ -123,11 +127,106 @@ void CellColorHandler::sprm(Sprm & rSprm)
TablePropertyMapPtr CellColorHandler::getProperties()
{
TablePropertyMapPtr pPropertyMap(new TablePropertyMap);
- if( m_bOOXMLColor )
+//code from binary word filter
+ static const sal_Int32 eMSGrayScale[] =
+ {
+ // Nul-Brush
+ 0, // 0
+ // Solid-Brush
+ 1000, // 1
+ // percent values
+ 50, // 2
+ 100, // 3
+ 200, // 4
+ 250, // 5
+ 300, // 6
+ 400, // 7
+ 500, // 8
+ 600, // 9
+ 700, // 10
+ 750, // 11
+ 800, // 12
+ 900, // 13
+ 333, // 14 Dark Horizontal
+ 333, // 15 Dark Vertical
+ 333, // 16 Dark Forward Diagonal
+ 333, // 17 Dark Backward Diagonal
+ 333, // 18 Dark Cross
+ 333, // 19 Dark Diagonal Cross
+ 333, // 20 Horizontal
+ 333, // 21 Vertical
+ 333, // 22 Forward Diagonal
+ 333, // 23 Backward Diagonal
+ 333, // 24 Cross
+ 333, // 25 Diagonal Cross
+ // some undefined values
+ 500, // 26
+ 500, // 27
+ 500, // 28
+ 500, // 29
+ 500, // 30
+ 500, // 31
+ 500, // 32
+ 500, // 33
+ 500, // 34
+ // different shading types
+ 25, // 35
+ 75, // 36
+ 125, // 37
+ 150, // 38
+ 175, // 39
+ 225, // 40
+ 275, // 41
+ 325, // 42
+ 350, // 43
+ 375, // 44
+ 425, // 45
+ 450, // 46
+ 475, // 47
+ 525, // 48
+ 550, // 49
+ 575, // 50
+ 625, // 51
+ 650, // 52
+ 675, // 53
+ 725, // 54
+ 775, // 55
+ 825, // 56
+ 850, // 57
+ 875, // 58
+ 925, // 59
+ 950, // 60
+ 975, // 61
+ // und zu guter Letzt:
+ 970
+ };// 62
+ if( m_nShadowType >= (sal_Int32)(sizeof( eMSGrayScale ) / sizeof ( eMSGrayScale[ 0 ] )) )
+ m_nShadowType = 0;
+
+ sal_Int32 nWW8BrushStyle = eMSGrayScale[m_nShadowType];
+ sal_Int32 nApplyColor = 0;
+ if( !nWW8BrushStyle )
+ {
+ // Null-Brush
+ nApplyColor = m_nFillColor;
+ }
+ else
{
- pPropertyMap->Insert( m_bParagraph ? PROP_PARA_BACK_COLOR : PROP_BACK_COLOR, false,
- uno::makeAny( m_nShadowType ? m_nColor : m_nFillColor ));
+ sal_Int32 nFore = m_nColor;
+ sal_Int32 nBack = m_nFillColor;
+
+ sal_uInt32 nRed = ((nFore & 0xff0000)>>0x10) * nWW8BrushStyle;
+ sal_uInt32 nGreen = ((nFore & 0xff00)>>0x8) * nWW8BrushStyle;
+ sal_uInt32 nBlue = (nFore & 0xff) * nWW8BrushStyle;
+ nRed += ((nBack & 0xff0000)>>0x10) * (1000L - nWW8BrushStyle);
+ nGreen += ((nBack & 0xff00)>>0x8)* (1000L - nWW8BrushStyle);
+ nBlue += (nBack & 0xff) * (1000L - nWW8BrushStyle);
+
+ nApplyColor = ( (nRed/1000) << 0x10 ) + ((nGreen/1000) << 8) + nBlue/1000;
}
+
+ pPropertyMap->Insert( m_bParagraph ? PROP_PARA_BACK_COLOR : PROP_BACK_COLOR, false,
+ uno::makeAny( nApplyColor ));
return pPropertyMap;
}
} //namespace dmapper
diff --git a/writerfilter/source/dmapper/CellColorHandler.hxx b/writerfilter/source/dmapper/CellColorHandler.hxx
index 5041db817ad5..8fca77c51bc7 100644
--- a/writerfilter/source/dmapper/CellColorHandler.hxx
+++ b/writerfilter/source/dmapper/CellColorHandler.hxx
@@ -46,7 +46,6 @@ public:
sal_Int32 m_nShadowType;
sal_Int32 m_nColor;
sal_Int32 m_nFillColor;
- bool m_bOOXMLColor;
bool m_bParagraph;
private:
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index 491d4ba60d4f..b806706ef12a 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -4555,6 +4555,9 @@ void DomainMapper::substream(Id rName, ::writerfilter::Reference<Stream>::Pointe
case NS_rtf::LN_endnote:
m_pImpl->PushFootOrEndnote( NS_rtf::LN_footnote == rName );
break;
+ case NS_rtf::LN_annotation :
+ m_pImpl->PushAnnotation();
+ break;
}
ref->resolve(*this);
switch( rName )
@@ -4571,6 +4574,9 @@ void DomainMapper::substream(Id rName, ::writerfilter::Reference<Stream>::Pointe
case NS_rtf::LN_endnote:
m_pImpl->PopFootOrEndnote();
break;
+ case NS_rtf::LN_annotation :
+ m_pImpl->PopAnnotation();
+ break;
}
m_pImpl->getTableManager().endLevel();
diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
index c39cc8e12dce..4ae6af8c4e67 100644
--- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
+++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
@@ -31,8 +31,9 @@
#include <DomainMapper_Impl.hxx>
#include <StyleSheetTable.hxx>
#include <com/sun/star/table/TableBorderDistances.hpp>
+#include <com/sun/star/table/TableBorder.hpp>
#include <com/sun/star/text/HoriOrientation.hpp>
-#ifdef DEBUG
+#if OSL_DEBUG_LEVEL > 1
#include <iostream>
#endif
@@ -94,7 +95,7 @@ void DomainMapperTableHandler::startTable(unsigned int nRows,
m_pTableSeq = TableSequencePointer_t(new TableSequence_t(nRows));
m_nRowIndex = 0;
-#ifdef DEBUG
+#if OSL_DEBUG_LEVEL > 1
char sBuffer[256];
snprintf(sBuffer, sizeof(sBuffer), "%d", nRows);
clog << "<table rows=\"" << sBuffer << "\">" << endl;
@@ -122,7 +123,7 @@ PropertyMapPtr lcl_SearchParentStyleSheetAndMergeProperties(const StyleSheetEntr
}
void DomainMapperTableHandler::endTable()
{
-#ifdef DEBUG
+#if OSL_DEBUG_LEVEL > 1
{
clog << "</table>" << endl;
sal_uInt32 nCells = 0;
@@ -134,6 +135,20 @@ void DomainMapperTableHandler::endTable()
}
sal_uInt32 nTblPropSize = m_aTableProperties.get() ? m_aTableProperties->size() : 0;
(void)nTblPropSize;
+
+ ::rtl::OUString sNames;
+ if( nTblPropSize )
+ {
+ const beans::PropertyValues aDebugTbl = m_aTableProperties->GetPropertyValues();
+ for( sal_Int32 nDebug = 0; nDebug < nTblPropSize; ++nDebug)
+ {
+ const ::rtl::OUString sName = aDebugTbl[nDebug].Name;
+ sNames += sName;
+ sNames += ::rtl::OUString('-');
+ }
+ m_aTableProperties->Invalidate();
+ sNames += ::rtl::OUString(' ');
+ }
}
#endif
@@ -150,7 +165,7 @@ void DomainMapperTableHandler::endTable()
sal_Int32 nLeftMargin = 0;
sal_Int32 nTableWidth = 0;
- const PropertyMap::iterator aTableStyleIter =
+ PropertyMap::iterator aTableStyleIter =
m_aTableProperties->find( PropertyDefinition( META_PROP_TABLE_STYLE_NAME, false ) );
if(aTableStyleIter != m_aTableProperties->end())
{
@@ -203,6 +218,57 @@ void DomainMapperTableHandler::endTable()
aDistances.RightDistance = static_cast<sal_Int16>( nRightBorderDistance );
m_aTableProperties->Insert( PROP_TABLE_BORDER_DISTANCES, false, uno::makeAny( aDistances ) );
+
+ //table border settings
+ table::TableBorder aTableBorder;
+
+ PropertyMap::iterator aTblBorderIter = m_aTableProperties->find( PropertyDefinition(PROP_TOP_BORDER, false) );
+ if( aTblBorderIter != m_aTableProperties->end() )
+ {
+ aTblBorderIter->second >>= aTableBorder.TopLine;
+ aTableBorder.IsTopLineValid = true;
+ m_aTableProperties->erase( aTblBorderIter );
+ }
+ aTblBorderIter = m_aTableProperties->find( PropertyDefinition(PROP_BOTTOM_BORDER, false) );
+ if( aTblBorderIter != m_aTableProperties->end() )
+ {
+ aTblBorderIter->second >>= aTableBorder.BottomLine;
+ aTableBorder.IsBottomLineValid = true;
+ m_aTableProperties->erase( aTblBorderIter );
+ }
+ aTblBorderIter = m_aTableProperties->find( PropertyDefinition(PROP_LEFT_BORDER, false) );
+ if( aTblBorderIter != m_aTableProperties->end() )
+ {
+ aTblBorderIter->second >>= aTableBorder.LeftLine;
+ aTableBorder.IsLeftLineValid = true;
+ m_aTableProperties->erase( aTblBorderIter );
+ }
+ aTblBorderIter = m_aTableProperties->find( PropertyDefinition(PROP_RIGHT_BORDER, false) );
+ if( aTblBorderIter != m_aTableProperties->end() )
+ {
+ aTblBorderIter->second >>= aTableBorder.RightLine;
+ aTableBorder.IsRightLineValid = true;
+ m_aTableProperties->erase( aTblBorderIter );
+ }
+ aTblBorderIter = m_aTableProperties->find( PropertyDefinition(META_PROP_HORIZONTAL_BORDER, false) );
+ if( aTblBorderIter != m_aTableProperties->end() )
+ {
+ aTblBorderIter->second >>= aTableBorder.HorizontalLine;
+ aTableBorder.IsHorizontalLineValid = true;
+ m_aTableProperties->erase( aTblBorderIter );
+ }
+ aTblBorderIter = m_aTableProperties->find( PropertyDefinition(META_PROP_VERTICAL_BORDER, false) );
+ if( aTblBorderIter != m_aTableProperties->end() )
+ {
+ aTblBorderIter->second >>= aTableBorder.VerticalLine;
+ aTableBorder.IsVerticalLineValid = true;
+ m_aTableProperties->erase( aTblBorderIter );
+ }
+ aTableBorder.Distance = 0;
+ aTableBorder.IsDistanceValid = false;
+
+ m_aTableProperties->Insert( PROP_TABLE_BORDER, false, uno::makeAny( aTableBorder ) );
+
m_aTableProperties->Insert( PROP_LEFT_MARGIN, false, uno::makeAny( nLeftMargin - nGapHalf - nLeftBorderDistance));
m_aTableProperties->getValue( TablePropertyMap::TABLE_WIDTH, nTableWidth );
@@ -327,7 +393,7 @@ void DomainMapperTableHandler::endTable()
++nCell;
++aCellIterator;
}
-#ifdef DEBUG
+#if OSL_DEBUG_LEVEL > 1
//-->debug cell properties
{
::rtl::OUString sNames;
@@ -353,7 +419,7 @@ void DomainMapperTableHandler::endTable()
++nRow;
++aRowOfCellsIterator;
}
-#ifdef DEBUG
+#if OSL_DEBUG_LEVEL > 1
//-->debug cell properties of all rows
{
::rtl::OUString sNames;
@@ -403,7 +469,7 @@ void DomainMapperTableHandler::endTable()
{
try
{
-#ifdef DEBUG
+#if OSL_DEBUG_LEVEL > 1
{
sal_Int32 nCellPropertiesRows = aCellProperties.getLength();
sal_Int32 nCellPropertiesCells = aCellProperties[0].getLength();
@@ -421,7 +487,7 @@ void DomainMapperTableHandler::endTable()
}
catch (lang::IllegalArgumentException e)
{
-#ifdef DEBUG
+#if OSL_DEBUG_LEVEL > 1
clog << "failed to import table!" << endl;
#endif
}
@@ -437,7 +503,7 @@ void DomainMapperTableHandler::startRow(unsigned int nCells,
m_aRowProperties.push_back( pProps );
m_aCellProperties.push_back( PropertyMapVector1() );
-#ifdef DEBUG
+#if OSL_DEBUG_LEVEL > 1
char sBuffer[256];
snprintf(sBuffer, sizeof(sBuffer), "%d", nCells);
@@ -454,7 +520,7 @@ void DomainMapperTableHandler::endRow()
(*m_pTableSeq)[m_nRowIndex] = *m_pRowSeq;
++m_nRowIndex;
m_nCellIndex = 0;
-#ifdef DEBUG
+#if OSL_DEBUG_LEVEL > 1
clog << "</table.row>" << endl;
#endif
}
@@ -465,7 +531,7 @@ void DomainMapperTableHandler::startCell(const Handle_t & start,
sal_uInt32 nRow = m_aRowProperties.size();
m_aCellProperties[nRow - 1].push_back( pProps );
-#ifdef DEBUG
+#if OSL_DEBUG_LEVEL > 1
clog << "<table.cell>";
lcl_printHandle(start);
lcl_printProperties( pProps );
@@ -484,7 +550,7 @@ void DomainMapperTableHandler::startCell(const Handle_t & start,
void DomainMapperTableHandler::endCell(const Handle_t & end)
{
-#ifdef DEBUG
+#if OSL_DEBUG_LEVEL > 1
lcl_printHandle(end);
clog << "</table.cell>" << endl;
#endif
diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx
index 1a2e20b01786..36af6fac0809 100644
--- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx
+++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx
@@ -264,7 +264,7 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm)
{
BorderHandlerPtr pBorderHandler( new BorderHandler(m_bOOXML) );
pProperties->resolve(*pBorderHandler);
- TablePropertyMapPtr pTablePropMap( new TablePropertyMap() );
+ TablePropertyMapPtr pTablePropMap( new TablePropertyMap );
pTablePropMap->insert( pBorderHandler->getProperties() );
insertTableProps( pTablePropMap );
}
@@ -286,6 +286,18 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm)
}
}
break;
+ case NS_ooxml::LN_CT_TblPrBase_shd:
+ {
+ writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();
+ if( pProperties.get())
+ {
+ CellColorHandlerPtr pCellColorHandler( new CellColorHandler);
+ pProperties->resolve( *pCellColorHandler );
+ TablePropertyMapPtr pTablePropMap( new TablePropertyMap );
+ insertTableProps( pCellColorHandler->getProperties() );
+ }
+ }
+ break;
/* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
case 0xd61a : // sprmTCellTopColor
/* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index ee59f6fb11ad..4c0d5c7566be 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1380,6 +1380,27 @@ void DomainMapper_Impl::PushFootOrEndnote( bool bIsFootnote )
OSL_ENSURE( false, "exception in PushFootOrEndnote" );
}
}
+
+/*-- 22.12.2008 13:45:15---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void DomainMapper_Impl::PushAnnotation()
+{
+ try
+ {
+ PropertyMapPtr pTopContext = GetTopContext();
+ m_xAnnotationField = uno::Reference< beans::XPropertySet >( GetTextFactory()->createInstance(
+ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.TextField.Annotation") ) ),
+ uno::UNO_QUERY_THROW );
+ uno::Reference< text::XText > xAnnotationText;
+ m_xAnnotationField->getPropertyValue(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("TextRange"))) >>= xAnnotationText;
+ m_aTextAppendStack.push(uno::Reference< text::XTextAppend >( xAnnotationText, uno::UNO_QUERY_THROW ));
+ }
+ catch( uno::Exception& )
+ {
+ OSL_ENSURE( false, "exception in PushFootOrEndnote" );
+ }
+}
/*-- 24.05.2007 14:22:29---------------------------------------------------
-----------------------------------------------------------------------*/
@@ -1387,6 +1408,17 @@ void DomainMapper_Impl::PopFootOrEndnote()
{
m_aTextAppendStack.pop();
}
+/*-- 22.12.2008 13:45:15---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void DomainMapper_Impl::PopAnnotation()
+{
+ m_aTextAppendStack.pop();
+ uno::Sequence< beans::PropertyValue > aEmptyProperties;
+ appendTextContent( uno::Reference< text::XTextContent >( m_xAnnotationField, uno::UNO_QUERY_THROW ), aEmptyProperties );
+ m_xAnnotationField.clear();
+
+}
/*-- 20.03.2008 09:01:58---------------------------------------------------
-----------------------------------------------------------------------*/
@@ -2636,6 +2668,9 @@ void DomainMapper_Impl::CloseFieldCommand()
xFieldProperties->setPropertyValue(
rPropNameSupplier.GetName(PROP_IS_FIXED),
uno::makeAny( false ));
+ xFieldProperties->setPropertyValue(
+ rPropNameSupplier.GetName(PROP_IS_DATE),
+ uno::makeAny( true ));
SetNumberFormat( pContext->GetCommand(), xFieldProperties );
}
break;
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
index ac5726b7031d..f4dfaf0041e7 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
@@ -320,6 +320,9 @@ private:
//shape import
::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > m_xTemporaryShape;
+ //annotation import
+ uno::Reference< beans::XPropertySet > m_xAnnotationField;
+
void GetCurrentLocale(::com::sun::star::lang::Locale& rLocale);
void SetNumberFormat( const ::rtl::OUString& rCommand,
::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xPropertySet );
@@ -442,6 +445,9 @@ public:
void PushFootOrEndnote( bool bIsFootnote );
void PopFootOrEndnote();
+ void PushAnnotation();
+ void PopAnnotation();
+
//field context starts with a 0x13
void PushFieldContext();
//the current field context waits for the completion of the command
diff --git a/writerfilter/source/dmapper/PropertyIds.cxx b/writerfilter/source/dmapper/PropertyIds.cxx
index 8ab1f165c688..f74cb574ff97 100644
--- a/writerfilter/source/dmapper/PropertyIds.cxx
+++ b/writerfilter/source/dmapper/PropertyIds.cxx
@@ -314,7 +314,7 @@ const rtl::OUString& PropertyNameSupplier::GetName( PropertyIds eId ) const
case PROP_DELETE : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Delete")); break;
case PROP_STREAM_NAME: sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("StreamName")); break;
case PROP_BITMAP : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Bitmap")); break;
-// case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
+ case PROP_IS_DATE : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsDate")); break;
// case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
// case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
// case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
diff --git a/writerfilter/source/dmapper/PropertyIds.hxx b/writerfilter/source/dmapper/PropertyIds.hxx
index 3d99301dd526..c9acac71e280 100644
--- a/writerfilter/source/dmapper/PropertyIds.hxx
+++ b/writerfilter/source/dmapper/PropertyIds.hxx
@@ -277,6 +277,7 @@ enum PropertyIds
/*238*/ ,PROP_DELETE
/*239*/ ,PROP_STREAM_NAME
/*240*/ ,PROP_BITMAP
+/*241*/ ,PROP_IS_DATE
};
struct PropertyNameSupplier_Impl;
class PropertyNameSupplier
diff --git a/writerfilter/source/dmapper/PropertyMap.hxx b/writerfilter/source/dmapper/PropertyMap.hxx
index de0a09b0f79a..2b46d5ddef5b 100644
--- a/writerfilter/source/dmapper/PropertyMap.hxx
+++ b/writerfilter/source/dmapper/PropertyMap.hxx
@@ -41,6 +41,7 @@
#include <boost/shared_ptr.hpp>
#include <map>
#include <vector>
+
namespace com{namespace sun{namespace star{
namespace beans{
struct PropertyValue;