summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper/DomainMapperTableManager.cxx
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2009-10-28 15:40:57 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2009-10-28 15:40:57 +0000
commit0211e8bc457a12570988f4aee7dea42c2fc6d56f (patch)
tree222a07982b8f2345681c26cd675b359ae4b47f41 /writerfilter/source/dmapper/DomainMapperTableManager.cxx
parent39f317ff5b64c9a00484921c5dda290ef33b03d1 (diff)
CWS-TOOLING: integrate CWS writerfilter32bugfixes01
2009-10-16 10:25:35 +0200 os r276956 : warning fixed 2009-10-16 10:18:35 +0200 os r276954 : using namespace std removed from headers 2009-10-16 10:18:19 +0200 os r276953 : using namespace std removed from headers 2009-10-16 10:17:35 +0200 os r276952 : using namespace std removed from headers 2009-10-14 12:14:16 +0200 cedricbosdo r276890 : Fixed warnings 2009-10-09 08:36:35 +0200 cedricbosdo r276796 : Rebased to OOO320_m1 2009-10-05 11:32:53 +0200 cedricbosdo r276668 : * Fixed namespace_preprocess for windows build * Removed some unused variable * Set a default value for GetCurrentToken 2009-09-07 13:05:30 +0200 os r275892 : #i104155# support for empty URLs if called from writerfilter re-introduced 2009-09-04 14:36:14 +0200 cedricbosdo r275803 : CWS-TOOLING: rebase CWS writerfilter32bugfixes01 to trunk@275331 (milestone: DEV300:m56) 2009-05-15 17:36:28 +0200 cedricbosdo r271958 : Added file to test docx numbering import fixes 2009-05-15 17:28:27 +0200 cedricbosdo r271955 : * Implemented a VML import basis. * Fixed some docx numbering import bugs * Implemented docx outline style import 2009-03-16 11:42:06 +0100 hbrinkm r269515 : moved clog inside #ifdef 2009-03-13 18:30:14 +0100 cedricbosdo r269493 : Fixed a dummy paragraph ending problem 2009-03-13 13:57:58 +0100 cedricbosdo r269477 : Added the missing headers 2009-03-13 12:03:25 +0100 cedricbosdo r269466 : Fixed i#93786 and i#100176 2009-03-12 11:39:10 +0100 cedricbosdo r269377 : Fixed a crash in the redlines patch 2009-03-12 10:11:48 +0100 cedricbosdo r269362 : Fixes for the docx import 2009-03-12 10:10:37 +0100 cedricbosdo r269361 : docx import fixes for: + tables styles + pictures positionning + redlines Started to implement the docx settings.xml import
Diffstat (limited to 'writerfilter/source/dmapper/DomainMapperTableManager.cxx')
-rw-r--r--writerfilter/source/dmapper/DomainMapperTableManager.cxx299
1 files changed, 98 insertions, 201 deletions
diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx
index 36af6fac0809..34c8092eb2e5 100644
--- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx
+++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx
@@ -56,14 +56,18 @@ DomainMapperTableManager::DomainMapperTableManager(bool bOOXML) :
m_nCellBorderIndex(0),
m_nHeaderRepeat(0),
m_nTableWidth(0),
- m_bOOXML( bOOXML )
+ m_bOOXML( bOOXML ),
+ m_pTablePropsHandler( new TablePropertiesHandler( bOOXML ) )
{
+ m_pTablePropsHandler->SetTableManager( this );
}
/*-- 23.04.2007 14:57:49---------------------------------------------------
-----------------------------------------------------------------------*/
DomainMapperTableManager::~DomainMapperTableManager()
{
+ if ( m_pTablePropsHandler )
+ delete m_pTablePropsHandler, m_pTablePropsHandler = NULL;
}
/*-- 23.04.2007 15:25:37---------------------------------------------------
@@ -73,39 +77,17 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm)
bool bRet = DomainMapperTableManager_Base_t::sprm(rSprm);
if( !bRet )
{
+ bRet = m_pTablePropsHandler->sprm( rSprm );
+ }
+
+ if ( !bRet )
+ {
bRet = true;
sal_uInt32 nSprmId = rSprm.getId();
Value::Pointer_t pValue = rSprm.getValue();
sal_Int32 nIntValue = ((pValue.get() != NULL) ? pValue->getInt() : 0);
- /* WRITERFILTERSTATUS: table: table_sprmdata */
- switch( nSprmId )
+ switch ( nSprmId )
{
- /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 2 */
- case NS_ooxml::LN_CT_TrPrBase_jc: //90706
- /* WRITERFILTERSTATUS: done: 1, planned: 0.5, spent: 0.5 */
- case NS_ooxml::LN_CT_TblPrBase_jc:
- /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 2 */
- case 0x5400: // sprmTJc
- {
- //table justification 0: left, 1: center, 2: right
- sal_Int16 nOrient = ConversionHelper::convertTableJustification( nIntValue );
- TablePropertyMapPtr pTableMap( new TablePropertyMap );
- pTableMap->setValue( TablePropertyMap::HORI_ORIENT, nOrient );
- insertTableProps( pTableMap );
- }
- break;
- /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */
- case 0x9601: // sprmTDxaLeft
- break;
- /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
- case 0x9602: // sprmTDxaGapHalf
- {
- //m_nGapHalf = ConversionHelper::convertTwipToMM100( nIntValue );
- TablePropertyMapPtr pPropMap( new TablePropertyMap );
- pPropMap->setValue( TablePropertyMap::GAP_HALF, ConversionHelper::convertTwipToMM100( nIntValue ) );
- insertTableProps(pPropMap);
- }
- break;
/* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
case 0xf661: //sprmTTRLeft left table indent
/* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
@@ -136,32 +118,6 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm)
}
}
break;
- /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 2 */
- case NS_ooxml::LN_CT_TrPrBase_trHeight: //90703
- {
- //contains unit and value
- writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();
- if( pProperties.get())
- { //contains attributes x2902 (LN_unit) and x17e2 (LN_trleft)
- MeasureHandlerPtr pMeasureHandler( new MeasureHandler );
- pProperties->resolve(*pMeasureHandler);
- TablePropertyMapPtr pPropMap( new TablePropertyMap );
- pPropMap->Insert( PROP_SIZE_TYPE, false, uno::makeAny( pMeasureHandler->GetRowHeightSizeType() ));
- pPropMap->Insert( PROP_HEIGHT, false, uno::makeAny(pMeasureHandler->getMeasureValue() ));
- insertRowProps(pPropMap);
- }
- }
- break;
- /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
- case 0x3403: // sprmTFCantSplit
- case NS_sprm::LN_TCantSplit: // 0x3644
- {
- //row can't break across pages if nIntValue == 1
- TablePropertyMapPtr pPropMap( new TablePropertyMap );
- pPropMap->Insert( PROP_IS_SPLIT_ALLOWED, false, uno::makeAny(sal_Bool( nIntValue == 1 ? sal_False : sal_True ) ));
- insertRowProps(pPropMap);
- }
- break;
/* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
case 0x3404:// sprmTTableHeader
case NS_ooxml::LN_CT_TrPrBase_tblHeader: //90704
@@ -178,23 +134,6 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm)
m_nHeaderRepeat = -1;
break;
/* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
- case 0x9407: // sprmTDyaRowHeight
- {
- // table row height - negative values indicate 'exact height' - positive 'at least'
- TablePropertyMapPtr pPropMap( new TablePropertyMap );
- bool bMinHeight = true;
- sal_Int16 nHeight = static_cast<sal_Int16>( nIntValue );
- if( nHeight < 0 )
- {
- bMinHeight = false;
- nHeight *= -1;
- }
- pPropMap->Insert( PROP_SIZE_TYPE, false, uno::makeAny(bMinHeight ? text::SizeType::MIN : text::SizeType::FIX ));
- pPropMap->Insert( PROP_HEIGHT, false, uno::makeAny(ConversionHelper::convertTwipToMM100( nHeight )));
- insertRowProps(pPropMap);
- }
- break;
- /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
case 0xd608: // TDefTable
{
writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();
@@ -226,22 +165,6 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm)
}
break;
/* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
- case NS_ooxml::LN_CT_TcPrBase_vAlign://90694
- {
- sal_Int16 nVertOrient = text::VertOrientation::NONE;
- switch( nIntValue ) //0 - top 1 - center 3 - bottom
- {
- case 1: nVertOrient = text::VertOrientation::CENTER; break;
- case 3: nVertOrient = text::VertOrientation::BOTTOM; break;
- default:;
- };
- TablePropertyMapPtr pCellPropMap( new TablePropertyMap() );
- pCellPropMap->Insert( PROP_VERT_ORIENT, false, uno::makeAny( nVertOrient ) );
- //todo: in ooxml import the value of m_ncell is wrong
- cellProps( pCellPropMap );
- }
- break;
- /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
case 0xD605: // sprmTTableBorders
{
writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();
@@ -256,70 +179,6 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm)
}
}
break;
- /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
- case NS_ooxml::LN_CT_TblPrBase_tblBorders: //table borders, might be defined in table style
- {
- writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();
- if( pProperties.get())
- {
- BorderHandlerPtr pBorderHandler( new BorderHandler(m_bOOXML) );
- pProperties->resolve(*pBorderHandler);
- TablePropertyMapPtr pTablePropMap( new TablePropertyMap );
- pTablePropMap->insert( pBorderHandler->getProperties() );
- insertTableProps( pTablePropMap );
- }
- }
- break;
- /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
- case NS_ooxml::LN_CT_TcPrBase_tcBorders ://cell borders
- //contains CT_TcBorders_left, right, top, bottom
- {
- writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();
- if( pProperties.get())
- {
- //in OOXML there's one set of borders at each cell (if there is any)
- TDefTableHandlerPtr pTDefTableHandler( new TDefTableHandler( m_bOOXML ));
- pProperties->resolve( *pTDefTableHandler );
- TablePropertyMapPtr pCellPropMap( new TablePropertyMap );
- pTDefTableHandler->fillCellProperties( 0, pCellPropMap );
- cellProps( pCellPropMap );
- }
- }
- 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 */
- case 0xd61b : // sprmTCellLeftColor
- /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
- case 0xd61c : // sprmTCellBottomColor
- /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
- case 0xd61d : // sprmTCellRightColor
- /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
- case NS_ooxml::LN_CT_TcPrBase_shd:
- {
- // each color sprm contains as much colors as cells are in a row
- //LN_CT_TcPrBase_shd: cell shading contains: LN_CT_Shd_val, LN_CT_Shd_fill, LN_CT_Shd_color
- writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();
- if( pProperties.get())
- {
- CellColorHandlerPtr pCellColorHandler( new CellColorHandler );
- pProperties->resolve( *pCellColorHandler );
- cellProps( pCellColorHandler->getProperties());
- }
- }
- break;
/* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */
case 0xd632 : //sprmTNewSpacing
/* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */
@@ -356,7 +215,6 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm)
case 0xf618 : //unknown
bRet = false;
break;
-//OOXML table properties
/* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
case NS_ooxml::LN_CT_TblPrBase_tblStyle: //table style name
{
@@ -368,32 +226,8 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm)
break;
/* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
case NS_ooxml::LN_CT_TblGridBase_gridCol:
-
- if(!m_nRow)
- {
- m_aTableGrid.push_back( ConversionHelper::convertTwipToMM100( nIntValue ) );
- }
- break;
- /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */
- case NS_ooxml::LN_CT_TblPrBase_tblCellMar: //cell margins
{
- //contains LN_CT_TblCellMar_top, LN_CT_TblCellMar_left, LN_CT_TblCellMar_bottom, LN_CT_TblCellMar_right
- writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();
- if( pProperties.get())
- {
- CellMarginHandlerPtr pCellMarginHandler( new CellMarginHandler );
- pProperties->resolve( *pCellMarginHandler );
- TablePropertyMapPtr pMarginProps( new TablePropertyMap );
- if( pCellMarginHandler->m_bTopMarginValid )
- pMarginProps->setValue( TablePropertyMap::CELL_MAR_TOP, pCellMarginHandler->m_nTopMargin );
- if( pCellMarginHandler->m_bBottomMarginValid )
- pMarginProps->setValue( TablePropertyMap::CELL_MAR_BOTTOM, pCellMarginHandler->m_nBottomMargin );
- if( pCellMarginHandler->m_bLeftMarginValid )
- pMarginProps->setValue( TablePropertyMap::CELL_MAR_LEFT, pCellMarginHandler->m_nLeftMargin );
- if( pCellMarginHandler->m_bRightMarginValid )
- pMarginProps->setValue( TablePropertyMap::CELL_MAR_RIGHT, pCellMarginHandler->m_nRightMargin );
- insertTableProps(pMarginProps);
- }
+ getCurrentGrid()->push_back( ConversionHelper::convertTwipToMM100( nIntValue ) );
}
break;
/* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
@@ -408,25 +242,84 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm)
/* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */
case NS_ooxml::LN_CT_TcPrBase_gridSpan: //number of grid positions spanned by this cell
{
+#if DEBUG
+ clog << "GridSpan: " << nIntValue << endl;
+#endif
//the cell width is determined by its position in the table grid
//it takes 'gridSpan' grid elements
- if( m_aGridSpans.size() < m_nCell)
+ IntVectorPtr pCurrentSpans = getCurrentSpans( );
+ if( pCurrentSpans->size() < m_nCell)
{
//fill missing elements with '1'
- m_aGridSpans.insert( m_aGridSpans.end(), m_nCell - m_aGridSpans.size(), 1 );
+ pCurrentSpans->insert( pCurrentSpans->end(), m_nCell - pCurrentSpans->size(), 1 );
}
- m_aGridSpans.push_back( nIntValue );
+ pCurrentSpans->push_back( nIntValue );
}
break;
/* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */
- case NS_ooxml::LN_CT_TblPrBase_tblLook: break; //todo: table look specifier
+ case NS_ooxml::LN_CT_TblPrBase_tblLook:
+ break; //todo: table look specifier
/* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */
- case NS_ooxml::LN_CT_TcPrBase_tcW: break; //fixed column width is not supported
- default: bRet = false;
+ case NS_ooxml::LN_CT_TcPrBase_tcW:
+ break; //fixed column width is not supported
+ case NS_ooxml::LN_CT_TrPrBase_cnfStyle:
+ {
+ TablePropertyMapPtr pProps( new TablePropertyMap );
+ pProps->Insert( PROP_CNF_STYLE, true, uno::makeAny( pValue->getString( ) ) );
+ insertRowProps( pProps );
+ }
+ break;
+ case NS_ooxml::LN_CT_PPrBase_cnfStyle:
+ // TODO cnfStyle on a paragraph
+ break;
+ case NS_ooxml::LN_CT_TcPrBase_cnfStyle:
+ {
+ TablePropertyMapPtr pProps( new TablePropertyMap );
+ pProps->Insert( PROP_CNF_STYLE, true, uno::makeAny( pValue->getString( ) ) );
+ cellProps( pProps );
+ }
+ break;
+ case NS_ooxml::LN_tblStart:
+ {
+ startLevel( );
+ }
+ break;
+ default:
+ bRet = false;
}
}
return bRet;
}
+
+boost::shared_ptr< vector<sal_Int32> > DomainMapperTableManager::getCurrentGrid( )
+{
+ return m_aTableGrid.back( );
+}
+
+boost::shared_ptr< vector< sal_Int32 > > DomainMapperTableManager::getCurrentSpans( )
+{
+ return m_aGridSpans.back( );
+}
+
+void DomainMapperTableManager::startLevel( )
+{
+ DomainMapperTableManager_Base_t::startLevel( );
+
+ IntVectorPtr pNewGrid( new vector<sal_Int32> );
+ IntVectorPtr pNewSpans( new vector<sal_Int32> );
+ m_aTableGrid.push_back( pNewGrid );
+ m_aGridSpans.push_back( pNewSpans );
+ m_nTableWidth = 0;
+}
+
+void DomainMapperTableManager::endLevel( )
+{
+ m_aTableGrid.pop_back( );
+ m_aGridSpans.pop_back( );
+
+ DomainMapperTableManager_Base_t::endLevel( );
+}
+
/*-- 02.05.2007 14:36:26---------------------------------------------------
-----------------------------------------------------------------------*/
@@ -439,10 +332,11 @@ void DomainMapperTableManager::endOfCellAction()
-----------------------------------------------------------------------*/
void DomainMapperTableManager::endOfRowAction()
{
- if(!m_nRow && !m_nTableWidth && m_aTableGrid.size())
+ IntVectorPtr pTableGrid = getCurrentGrid( );
+ if(!m_nTableWidth && pTableGrid->size())
{
- ::std::vector<sal_Int32>::const_iterator aCellIter = m_aTableGrid.begin();
- while( aCellIter != m_aTableGrid.end() )
+ ::std::vector<sal_Int32>::const_iterator aCellIter = pTableGrid->begin();
+ while( aCellIter != pTableGrid->end() )
m_nTableWidth += *aCellIter++;
if( m_nTableWidth > 0)
{
@@ -452,18 +346,20 @@ void DomainMapperTableManager::endOfRowAction()
insertTableProps(pPropMap);
}
}
- if( m_aGridSpans.size() < m_nCell)
+
+ IntVectorPtr pCurrentSpans = getCurrentSpans( );
+ if( pCurrentSpans->size() < m_nCell)
{
//fill missing elements with '1'
- m_aGridSpans.insert( m_aGridSpans.end(), m_nCell - m_aGridSpans.size(), 1 );
+ pCurrentSpans->insert( pCurrentSpans->end( ), m_nCell - pCurrentSpans->size(), 1 );
}
//calculate number of used grids - it has to match the size of m_aTableGrid
size_t nGrids = 0;
- ::std::vector<sal_Int32>::const_iterator aGridSpanIter = m_aGridSpans.begin();
- for( ; aGridSpanIter != m_aGridSpans.end(); ++aGridSpanIter)
+ ::std::vector<sal_Int32>::const_iterator aGridSpanIter = pCurrentSpans->begin();
+ for( ; aGridSpanIter != pCurrentSpans->end(); ++aGridSpanIter)
nGrids += *aGridSpanIter;
- if( m_aTableGrid.size() == nGrids )
+ if( pTableGrid->size() == nGrids )
{
//determine table width
double nFullWidth = m_nTableWidth;
@@ -473,13 +369,15 @@ void DomainMapperTableManager::endOfRowAction()
text::TableColumnSeparator* pSeparators = aSeparators.getArray();
sal_Int16 nLastRelPos = 0;
sal_uInt32 nBorderGridIndex = 0;
+
+ ::std::vector< sal_Int32 >::const_iterator aSpansIter = pCurrentSpans->begin( );
for( sal_uInt32 nBorder = 0; nBorder < m_nCell - 1; ++nBorder )
{
- sal_Int32 nGridCount = m_aGridSpans[nBorder];
+ sal_Int32 nGridCount = *aSpansIter;
double fGridWidth = 0.;
do
{
- fGridWidth += m_aTableGrid[nBorderGridIndex++];
+ fGridWidth += (*pTableGrid.get())[nBorderGridIndex++];
}while( --nGridCount );
sal_Int16 nRelPos =
@@ -488,6 +386,7 @@ void DomainMapperTableManager::endOfRowAction()
pSeparators[nBorder].Position = nRelPos + nLastRelPos;
pSeparators[nBorder].IsVisible = sal_True;
nLastRelPos = nLastRelPos + nRelPos;
+ aSpansIter++;
}
TablePropertyMapPtr pPropMap( new TablePropertyMap );
pPropMap->Insert( PROP_TABLE_COLUMN_SEPARATORS, false, uno::makeAny( aSeparators ) );
@@ -497,7 +396,7 @@ void DomainMapperTableManager::endOfRowAction()
++m_nRow;
m_nCell = 0;
m_nCellBorderIndex = 0;
- m_aGridSpans.clear();
+ pCurrentSpans->clear();
}
/*-- 18.06.2007 10:34:37---------------------------------------------------
@@ -505,8 +404,6 @@ void DomainMapperTableManager::endOfRowAction()
void DomainMapperTableManager::clearData()
{
m_nRow = m_nCell = m_nCellBorderIndex = m_nHeaderRepeat = m_nTableWidth = 0;
- m_aTableGrid.clear();
- m_aGridSpans.clear();
m_sTableStyleName = ::rtl::OUString();
m_pTableStyleTextProperies.reset();
}
@@ -521,10 +418,10 @@ void lcl_CopyTextProperties(PropertyMapPtr pToFill,
//fill base style properties first, recursively
if( pStyleSheetEntry->sBaseStyleIdentifier.getLength())
{
- const StyleSheetEntry* pParentStyleSheet =
+ const StyleSheetEntryPtr pParentStyleSheet =
pStyleSheetTable->FindStyleSheetByISTD(pStyleSheetEntry->sBaseStyleIdentifier);
OSL_ENSURE( pParentStyleSheet, "table style not found" );
- lcl_CopyTextProperties( pToFill, pParentStyleSheet, pStyleSheetTable);
+ lcl_CopyTextProperties( pToFill, pParentStyleSheet.get( ), pStyleSheetTable);
}
PropertyMap::const_iterator aPropIter = pStyleSheetEntry->pProperties->begin();
@@ -541,10 +438,10 @@ void DomainMapperTableManager::CopyTextProperties(PropertyMapPtr pContext, Style
if( !m_pTableStyleTextProperies.get())
{
m_pTableStyleTextProperies.reset( new PropertyMap );
- const StyleSheetEntry* pStyleSheetEntry = pStyleSheetTable->FindStyleSheetByISTD(
+ const StyleSheetEntryPtr pStyleSheetEntry = pStyleSheetTable->FindStyleSheetByISTD(
m_sTableStyleName);
OSL_ENSURE( pStyleSheetEntry, "table style not found" );
- lcl_CopyTextProperties(m_pTableStyleTextProperies, pStyleSheetEntry, pStyleSheetTable);
+ lcl_CopyTextProperties(m_pTableStyleTextProperies, pStyleSheetEntry.get( ), pStyleSheetTable);
}
pContext->insert( m_pTableStyleTextProperies );
}