diff options
author | Noel Grandin <noel@peralex.com> | 2012-08-02 13:32:13 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-08-02 22:49:30 +0200 |
commit | d0f5ff78740df2540873c4091786672b63063491 (patch) | |
tree | 7b09d4ee34bc9a3a18913c21b8be9e3abc33839f /sw | |
parent | b4d5eebfdd095a75966f2fa0997817d3441a3b80 (diff) |
STL'ify DECLARE_CONTAINER_SORT(SwXMLTableColumnsSortByWidth_Impl)
Change-Id: Icd480f74dacb41d869fb511a0d2630d8b3711343
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/filter/xml/xmltble.cxx | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/sw/source/filter/xml/xmltble.cxx b/sw/source/filter/xml/xmltble.cxx index db5ff9c31d03..eb3c518147bb 100644 --- a/sw/source/filter/xml/xmltble.cxx +++ b/sw/source/filter/xml/xmltble.cxx @@ -95,14 +95,16 @@ public: sal_uInt32 GetRelWidth() const { return nRelWidth; } }; -sal_Int32 SwXMLTableColumnCmpWidth_Impl( const SwXMLTableColumn_Impl& r1, - const SwXMLTableColumn_Impl& r2 ) +struct SwXMLTableColumnCmpWidth_Impl { - sal_Int32 n = (sal_Int32)r1.GetWidthOpt() - (sal_Int32)r2.GetWidthOpt(); - if( !n ) - n = (sal_Int32)r1.GetRelWidth() - (sal_Int32)r2.GetRelWidth(); - return n; -} + bool operator()( SwXMLTableColumn_Impl* const& lhs, SwXMLTableColumn_Impl* const& rhs ) const + { + sal_Int32 n = (sal_Int32)lhs->GetWidthOpt() - (sal_Int32)rhs->GetWidthOpt(); + if( !n ) + n = (sal_Int32)lhs->GetRelWidth() - (sal_Int32)rhs->GetRelWidth(); + return n < 0; + } +}; // --------------------------------------------------------------------- @@ -111,10 +113,7 @@ public: ~SwXMLTableColumns_Impl() { DeleteAndDestroyAll(); } }; -DECLARE_CONTAINER_SORT( SwXMLTableColumnsSortByWidth_Impl, - SwXMLTableColumn_Impl ) -IMPL_CONTAINER_SORT( SwXMLTableColumnsSortByWidth_Impl, SwXMLTableColumn_Impl, - SwXMLTableColumnCmpWidth_Impl ) +class SwXMLTableColumnsSortByWidth_Impl : public o3tl::sorted_vector<SwXMLTableColumn_Impl*, SwXMLTableColumnCmpWidth_Impl> {}; class SwXMLTableLines_Impl { @@ -630,11 +629,10 @@ void SwXMLExport::ExportTableLinesAutoStyles( const SwTableLines& rLines, pColumn->SetWidthOpt( nColAbsWidth, sal_False ); } - sal_uLong nExpPos = 0; - if( rExpCols.Seek_Entry( pColumn, &nExpPos ) ) + SwXMLTableColumnsSortByWidth_Impl::const_iterator it = rExpCols.find( pColumn ); + if( it != rExpCols.end() ) { - pColumn->SetStyleName( - rExpCols.GetObject(nExpPos)->GetStyleName() ); + pColumn->SetStyleName( (*it)->GetStyleName() ); } else { @@ -653,7 +651,7 @@ void SwXMLExport::ExportTableLinesAutoStyles( const SwTableLines& rLines, pColumn->SetStyleName( sBuffer.makeStringAndClear() ); ExportTableColumnStyle( *pColumn ); - rExpCols.Insert( pColumn ); + rExpCols.insert( pColumn ); } } } @@ -773,7 +771,7 @@ void SwXMLExport::ExportTableAutoStyles( const SwTableNode& rTblNd ) ExportTableFmt( *pTblFmt, nAbsWidth ); OUString sName( pTblFmt->GetName() ); - SwXMLTableColumnsSortByWidth_Impl aExpCols( 10, 10 ); + SwXMLTableColumnsSortByWidth_Impl aExpCols; SwXMLTableFrmFmtsSort_Impl aExpRows( 10, 10 ); SwXMLTableFrmFmtsSort_Impl aExpCells( 10, 10 ); SwXMLTableInfo_Impl aTblInfo( &rTbl ); |