summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kyoshida@novell.com>2011-07-26 21:18:06 -0400
committerKohei Yoshida <kyoshida@novell.com>2011-07-26 21:24:19 -0400
commit04113a04a20d758d914833fc22d646831478bf1b (patch)
tree887576a3866d390be2c9934107c3e29ec01b7cb9
parente8e733f202e12056a426a2503d173a64c503c620 (diff)
Replace SV_*_PTRARR with boost::ptr_vector.
-rw-r--r--sw/source/filter/html/parcss1.cxx4
-rw-r--r--sw/source/filter/html/parcss1.hxx3
-rw-r--r--sw/source/filter/html/svxcss1.cxx29
-rw-r--r--sw/source/filter/html/svxcss1.hxx13
4 files changed, 16 insertions, 33 deletions
diff --git a/sw/source/filter/html/parcss1.cxx b/sw/source/filter/html/parcss1.cxx
index 5c0955f227..3f3ccde20a 100644
--- a/sw/source/filter/html/parcss1.cxx
+++ b/sw/source/filter/html/parcss1.cxx
@@ -1230,10 +1230,10 @@ sal_Bool CSS1Parser::ParseStyleOption( const String& rIn )
return sal_True;
}
-sal_Bool CSS1Parser::SelectorParsed( const CSS1Selector * /* pSelector */, sal_Bool /*bFirst*/ )
+bool CSS1Parser::SelectorParsed( CSS1Selector* /* pSelector */, bool /*bFirst*/ )
{
// Selektor loeschen
- return sal_True;
+ return true;
}
sal_Bool CSS1Parser::DeclarationParsed( const String& /*rProperty*/,
diff --git a/sw/source/filter/html/parcss1.hxx b/sw/source/filter/html/parcss1.hxx
index 3a6fa46e69..5df550b0f1 100644
--- a/sw/source/filter/html/parcss1.hxx
+++ b/sw/source/filter/html/parcss1.hxx
@@ -270,8 +270,7 @@ protected:
// Deklaration. Wird sal_True zurueckgegeben, wird der Selektor
// geloscht, sonst nicht.
// Die Implementierung dieser Methode gibt nur sal_True zuruck.
- virtual sal_Bool SelectorParsed( const CSS1Selector *pSelector,
- sal_Bool bFirst );
+ virtual bool SelectorParsed( CSS1Selector* pSelector, bool bFirst );
// Diese Methode wird fuer jede geparsete Property aufgerufen. Wird
// sal_True zurueckgegeben wird der Selektor geloscht, sonst nicht.
diff --git a/sw/source/filter/html/svxcss1.cxx b/sw/source/filter/html/svxcss1.cxx
index 2fcf67377b..93b5fad6de 100644
--- a/sw/source/filter/html/svxcss1.cxx
+++ b/sw/source/filter/html/svxcss1.cxx
@@ -71,11 +71,6 @@ typedef void (*FnParseCSS1Prop)( const CSS1Expression *pExpr,
SvxCSS1PropertyInfo& rPropInfo,
const SvxCSS1Parser& rParser );
-SV_IMPL_PTRARR( CSS1Selectors, CSS1Selector* )
-
-
-/* */
-
static CSS1PropertyEnum const aFontSizeTable[] =
{
{ sCSS1_PV_xx_small, 0 },
@@ -720,31 +715,26 @@ sal_Bool SvxCSS1Parser::StyleParsed( const CSS1Selector * /*pSelector*/,
return sal_True;
}
-sal_Bool SvxCSS1Parser::SelectorParsed( const CSS1Selector *pSelector,
- sal_Bool bFirst )
+bool SvxCSS1Parser::SelectorParsed( CSS1Selector *pSelector, bool bFirst )
{
if( bFirst )
{
OSL_ENSURE( pSheetItemSet, "Where is the Item-Set for Style-Sheets?" );
- // Dieses ist der erste Selektor einer Rule, also muessen
- // die bisher geparsten Items auf die Styles verteilt werden
-// pSheetPropInfo->CreateBoxItem( *pSheetItemSet, GetDfltBorderDist() );
- for( sal_uInt16 i=0; i<aSelectors.Count(); i++ )
+ for (size_t i = 0; i < aSelectors.size(); ++i)
{
- StyleParsed( aSelectors[i], *pSheetItemSet, *pSheetPropInfo );
+ StyleParsed( &aSelectors[i], *pSheetItemSet, *pSheetPropInfo );
}
pSheetItemSet->ClearItem();
pSheetPropInfo->Clear();
// und die naechste Rule vorbereiten
- if( aSelectors.Count() )
- aSelectors.DeleteAndDestroy( 0, aSelectors.Count() );
+ aSelectors.clear();
}
- aSelectors.C40_INSERT( CSS1Selector, pSelector, aSelectors.Count() );
+ aSelectors.push_back(pSelector);
- return sal_False; // den Selektor haben wir gespeichert. Loeschen toedlich!
+ return false; // den Selektor haben wir gespeichert. Loeschen toedlich!
}
@@ -840,14 +830,13 @@ sal_Bool SvxCSS1Parser::ParseStyleSheet( const String& rIn )
sal_Bool bSuccess = CSS1Parser::ParseStyleSheet( rIn );
- for( sal_uInt16 i=0; i<aSelectors.Count(); i++ )
+ for (size_t i = 0; i < aSelectors.size(); ++i)
{
- StyleParsed( aSelectors[i], *pSheetItemSet, *pSheetPropInfo );
+ StyleParsed( &aSelectors[i], *pSheetItemSet, *pSheetPropInfo );
}
// und etwas aufrauemen
- if( aSelectors.Count() )
- aSelectors.DeleteAndDestroy( 0, aSelectors.Count() );
+ aSelectors.clear();
pSheetItemSet->ClearItem();
pSheetPropInfo->Clear();
diff --git a/sw/source/filter/html/svxcss1.hxx b/sw/source/filter/html/svxcss1.hxx
index 95d682d806..b34c0ba10c 100644
--- a/sw/source/filter/html/svxcss1.hxx
+++ b/sw/source/filter/html/svxcss1.hxx
@@ -39,6 +39,8 @@
#include <rtl/textenc.h>
#include "parcss1.hxx"
+#include <boost/ptr_container/ptr_vector.hpp>
+
class SfxItemPool;
class SvxBoxItem;
class FontList;
@@ -93,21 +95,14 @@ enum SvxCSS1PageBreak
#define CSS1_SCRIPT_CTL 0x04
#define CSS1_SCRIPT_ALL 0x07
-/* */
-
struct CSS1PropertyEnum
{
const sal_Char *pName; // Wert einer Property
sal_uInt16 nEnum; // und der dazugehoerige Wert eines Enums
};
-
-/* */
-
namespace editeng { class SvxBorderLine; }
-SV_DECL_PTRARR_DEL( CSS1Selectors, CSS1Selector*, 1, 1 )
-
#define SVX_CSS1_BORDERINFO_WIDTH 1
#define SVX_CSS1_BORDERINFO_COLOR 2
#define SVX_CSS1_BORDERINFO_STYLE 4
@@ -227,6 +222,7 @@ inline sal_Bool operator<( const SvxCSS1MapEntry& rE1, const SvxCSS1MapEntry& rE
class SvxCSS1Parser : public CSS1Parser
{
+ typedef ::boost::ptr_vector<CSS1Selector> CSS1Selectors;
CSS1Selectors aSelectors; // Liste der "offenen" Selectoren
SvxCSS1Map aIds;
@@ -277,8 +273,7 @@ protected:
// zuletzt angelegten Styles kopiert.
// Diese Methode sollte in abgleiteten Parsern nicht mehr
// ueberladen werden!
- virtual sal_Bool SelectorParsed( const CSS1Selector *pSelector,
- sal_Bool bFirst );
+ virtual bool SelectorParsed( CSS1Selector *pSelector, bool bFirst );
// Diese Methode wird fuer jede geparste Property aufgerufen
// sie fuegt das Item in den ItemSet 'pItemSet' ein