summaryrefslogtreecommitdiff
path: root/oox/source/drawingml/table/tablecontext.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'oox/source/drawingml/table/tablecontext.cxx')
-rw-r--r--oox/source/drawingml/table/tablecontext.cxx38
1 files changed, 14 insertions, 24 deletions
diff --git a/oox/source/drawingml/table/tablecontext.cxx b/oox/source/drawingml/table/tablecontext.cxx
index 87900526ac1a..f83e2877b2b6 100644
--- a/oox/source/drawingml/table/tablecontext.cxx
+++ b/oox/source/drawingml/table/tablecontext.cxx
@@ -41,58 +41,48 @@ TableContext::~TableContext()
{
}
-uno::Reference< xml::sax::XFastContextHandler > SAL_CALL
-TableContext::createFastChildContext( ::sal_Int32 aElementToken, const uno::Reference< xml::sax::XFastAttributeList >& xAttribs )
- throw ( xml::sax::SAXException, uno::RuntimeException)
+ContextHandlerRef
+TableContext::onCreateContext( ::sal_Int32 aElementToken, const AttributeList& rAttribs )
{
- uno::Reference< xml::sax::XFastContextHandler > xRet;
-
switch( aElementToken )
{
case A_TOKEN( tblPr ): // CT_TableProperties
{
- AttributeList aAttribs( xAttribs );
- mrTableProperties.isRtl() = aAttribs.getBool( XML_rtl, sal_False );
- mrTableProperties.isFirstRow() = aAttribs.getBool( XML_firstRow, sal_False );
- mrTableProperties.isFirstCol() = aAttribs.getBool( XML_firstCol, sal_False );
- mrTableProperties.isLastRow() = aAttribs.getBool( XML_lastRow, sal_False );
- mrTableProperties.isLastCol() = aAttribs.getBool( XML_lastCol, sal_False );
- mrTableProperties.isBandRow() = aAttribs.getBool( XML_bandRow, sal_False );
- mrTableProperties.isBandCol() = aAttribs.getBool( XML_bandCol, sal_False );
+ mrTableProperties.isRtl() = rAttribs.getBool( XML_rtl, sal_False );
+ mrTableProperties.isFirstRow() = rAttribs.getBool( XML_firstRow, sal_False );
+ mrTableProperties.isFirstCol() = rAttribs.getBool( XML_firstCol, sal_False );
+ mrTableProperties.isLastRow() = rAttribs.getBool( XML_lastRow, sal_False );
+ mrTableProperties.isLastCol() = rAttribs.getBool( XML_lastCol, sal_False );
+ mrTableProperties.isBandRow() = rAttribs.getBool( XML_bandRow, sal_False );
+ mrTableProperties.isBandCol() = rAttribs.getBool( XML_bandCol, sal_False );
}
break;
case A_TOKEN( tableStyle ): // CT_TableStyle
{
boost::shared_ptr< TableStyle >& rTableStyle = mrTableProperties.getTableStyle();
rTableStyle.reset( new TableStyle() );
- xRet = new TableStyleContext( *this, xAttribs, *rTableStyle );
+ return new TableStyleContext( *this, rAttribs.getFastAttributeList(), *rTableStyle );
}
- break;
case A_TOKEN( tableStyleId ): // ST_Guid
- xRet.set( new oox::drawingml::GuidContext( *this, mrTableProperties.getStyleId() ) );
- break;
+ return new oox::drawingml::GuidContext( *this, mrTableProperties.getStyleId() );
case A_TOKEN( tblGrid ): // CT_TableGrid
break;
case A_TOKEN( gridCol ): // CT_TableCol
{
std::vector< sal_Int32 >& rvTableGrid( mrTableProperties.getTableGrid() );
- rvTableGrid.push_back( xAttribs->getOptionalValue( XML_w ).toInt32() );
+ rvTableGrid.push_back( rAttribs.getString( XML_w ).get().toInt32() );
}
break;
case A_TOKEN( tr ): // CT_TableRow
{
std::vector< TableRow >& rvTableRows( mrTableProperties.getTableRows() );
rvTableRows.resize( rvTableRows.size() + 1 );
- xRet.set( new TableRowContext( *this, xAttribs, rvTableRows.back() ) );
+ return new TableRowContext( *this, rAttribs.getFastAttributeList(), rvTableRows.back() );
}
- break;
}
- if( !xRet.is() )
- xRet.set( this );
-
- return xRet;
+ return this;
}
} } }