[Libreoffice-commits] core.git: include/svl svl/source

Kohei Yoshida kohei.yoshida at collabora.com
Mon Dec 8 13:35:51 PST 2014


 include/svl/style.hxx      |   16 ------
 svl/source/items/style.cxx |  103 +++++++++++++++++++++++++--------------------
 2 files changed, 59 insertions(+), 60 deletions(-)

New commits:
commit 6163291b25d2dac74ac353c3879fdc520bee747e
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Mon Dec 8 15:24:45 2014 -0500

    Move IndexedStyleSheets to the Imp(l) class.
    
    And remove #include <vector> which wasn't really used.
    
    Change-Id: I05bbc7848c753795f859f80725be6332d8e5ce46

diff --git a/include/svl/style.hxx b/include/svl/style.hxx
index 78c1bc4..34ba57b 100644
--- a/include/svl/style.hxx
+++ b/include/svl/style.hxx
@@ -24,7 +24,6 @@
 #include <com/sun/star/lang/XUnoTunnel.hpp>
 
 #include <rtl/ref.hxx>
-#include <vector>
 #include <comphelper/weak.hxx>
 #include <cppuhelper/implbase2.hxx>
 #include <svl/svldllapi.h>
@@ -273,15 +272,6 @@ public:
      * Not an actual public function. Do not call it from non-subclasses.
      */
     SfxStyleSheetBase&          Add( const SfxStyleSheetBase& );
-
-private:
-    /** This member holds the indexed style sheets.
-     *
-     * @internal
-     * This member is private and not protected in order to have more control which style sheets are added
-     * where. Ideally, all calls which add/remove/change style sheets are done in the base class.
-     */
-    boost::shared_ptr<svl::IndexedStyleSheets> mIndexedStyleSheets;
 };
 
 
@@ -302,11 +292,7 @@ public:
     virtual bool        SetParent( const OUString& ) SAL_OVERRIDE;
 
 protected:
-    SfxStyleSheet() // do not use! needed by MSVC at compile time to satisfy ImplInheritanceHelper2
-        : SfxStyleSheetBase(OUString("dummy"), NULL, SFX_STYLE_FAMILY_ALL, 0)
-    {
-        assert(false);
-    }
+    SfxStyleSheet(); // do not use! needed by MSVC at compile time to satisfy ImplInheritanceHelper2
     virtual             ~SfxStyleSheet();
 };
 
diff --git a/svl/source/items/style.cxx b/svl/source/items/style.cxx
index 0f460c5..9d78b6c 100644
--- a/svl/source/items/style.cxx
+++ b/svl/source/items/style.cxx
@@ -17,6 +17,8 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <svl/style.hxx>
+
 #include <com/sun/star/lang/XComponent.hpp>
 
 #include <tools/tenccvt.hxx>
@@ -29,7 +31,6 @@
 #include <svl/itempool.hxx>
 #include <svl/IndexedStyleSheets.hxx>
 #include <svl/itemiter.hxx>
-#include <svl/style.hxx>
 #include <unotools/syslocale.hxx>
 #include <algorithm>
 #include <comphelper/servicehelper.hxx>
@@ -80,10 +81,21 @@ SfxStyleSheetHint::SfxStyleSheetHint
 {}
 
 
-class SfxStyleSheetBasePool_Impl
+class SfxStyleSheetBasePool_Impl : boost::noncopyable
 {
 public:
     SfxStyleSheetIteratorPtr pIter;
+
+    /** This member holds the indexed style sheets.
+     *
+     * @internal
+     * This member is private and not protected in order to have more control which style sheets are added
+     * where. Ideally, all calls which add/remove/change style sheets are done in the base class.
+     */
+    boost::shared_ptr<svl::IndexedStyleSheets> mpIndexedStyleSheets;
+
+    SfxStyleSheetBasePool_Impl() :
+        mpIndexedStyleSheets(new svl::IndexedStyleSheets) {}
 };
 
 
@@ -433,16 +445,16 @@ sal_uInt16 SfxStyleSheetIterator::Count()
     sal_uInt16 n = 0;
     if( IsTrivialSearch())
     {
-        n = (sal_uInt16) pBasePool->mIndexedStyleSheets->GetNumberOfStyleSheets();
+        n = (sal_uInt16) pBasePool->pImp->mpIndexedStyleSheets->GetNumberOfStyleSheets();
     }
     else if(nMask == SFXSTYLEBIT_ALL)
     {
-        n = static_cast<sal_uInt16>(pBasePool->mIndexedStyleSheets->GetStyleSheetPositionsByFamily(nSearchFamily).size());
+        n = static_cast<sal_uInt16>(pBasePool->pImp->mpIndexedStyleSheets->GetStyleSheetPositionsByFamily(nSearchFamily).size());
     }
     else
     {
         DoesStyleMatchStyleSheetPredicate predicate(this);
-        n = pBasePool->mIndexedStyleSheets->GetNumberOfStyleSheetsWithPredicate(predicate);
+        n = pBasePool->pImp->mpIndexedStyleSheets->GetNumberOfStyleSheetsWithPredicate(predicate);
     }
     return n;
 }
@@ -452,14 +464,14 @@ SfxStyleSheetBase* SfxStyleSheetIterator::operator[](sal_uInt16 nIdx)
     SfxStyleSheetBase* retval = NULL;
     if( IsTrivialSearch())
     {
-        retval = pBasePool->mIndexedStyleSheets->GetStyleSheetByPosition(nIdx).get();
+        retval = pBasePool->pImp->mpIndexedStyleSheets->GetStyleSheetByPosition(nIdx).get();
         nAktPosition = nIdx;
     }
     else if(nMask == SFXSTYLEBIT_ALL)
     {
         rtl::Reference< SfxStyleSheetBase > ref =
-        pBasePool->mIndexedStyleSheets->GetStyleSheetByPosition(
-                pBasePool->mIndexedStyleSheets->GetStyleSheetPositionsByFamily(nSearchFamily).at(nIdx))
+        pBasePool->pImp->mpIndexedStyleSheets->GetStyleSheetByPosition(
+                pBasePool->pImp->mpIndexedStyleSheets->GetStyleSheetPositionsByFamily(nSearchFamily).at(nIdx))
                 ;
         retval = ref.get();
         nAktPosition = nIdx;
@@ -468,10 +480,10 @@ SfxStyleSheetBase* SfxStyleSheetIterator::operator[](sal_uInt16 nIdx)
     {
         DoesStyleMatchStyleSheetPredicate predicate(this);
         rtl::Reference< SfxStyleSheetBase > ref =
-                pBasePool->mIndexedStyleSheets->GetNthStyleSheetThatMatchesPredicate(nIdx, predicate);
+                pBasePool->pImp->mpIndexedStyleSheets->GetNthStyleSheetThatMatchesPredicate(nIdx, predicate);
         if (ref.get() != NULL)
         {
-            nAktPosition = pBasePool->mIndexedStyleSheets->FindStyleSheetPosition(*ref);
+            nAktPosition = pBasePool->pImp->mpIndexedStyleSheets->FindStyleSheetPosition(*ref);
             retval = ref.get();
         }
     }
@@ -501,34 +513,35 @@ SfxStyleSheetBase* SfxStyleSheetIterator::Next()
 
     if ( IsTrivialSearch() )
     {
-        unsigned nStyleSheets = pBasePool->mIndexedStyleSheets->GetNumberOfStyleSheets();
+        unsigned nStyleSheets = pBasePool->pImp->mpIndexedStyleSheets->GetNumberOfStyleSheets();
         unsigned newPosition = nAktPosition +1;
         if (nStyleSheets > newPosition)
         {
             nAktPosition = newPosition;
-            retval = pBasePool->mIndexedStyleSheets->GetStyleSheetByPosition(nAktPosition).get();
+            retval = pBasePool->pImp->mpIndexedStyleSheets->GetStyleSheetByPosition(nAktPosition).get();
         }
     }
     else if(nMask == SFXSTYLEBIT_ALL)
     {
         unsigned newPosition = nAktPosition +1;
-        const std::vector<unsigned>& familyVector = pBasePool->mIndexedStyleSheets->GetStyleSheetPositionsByFamily(nSearchFamily);
+        const std::vector<unsigned>& familyVector =
+            pBasePool->pImp->mpIndexedStyleSheets->GetStyleSheetPositionsByFamily(nSearchFamily);
         if (familyVector.size() > newPosition)
         {
             nAktPosition = newPosition;
             unsigned stylePosition = familyVector.at(newPosition);
-            retval = pBasePool->mIndexedStyleSheets->GetStyleSheetByPosition(stylePosition).get();
+            retval = pBasePool->pImp->mpIndexedStyleSheets->GetStyleSheetByPosition(stylePosition).get();
         }
     }
     else
     {
         DoesStyleMatchStyleSheetPredicate predicate(this);
         rtl::Reference< SfxStyleSheetBase > ref =
-                pBasePool->mIndexedStyleSheets->GetNthStyleSheetThatMatchesPredicate(
+                pBasePool->pImp->mpIndexedStyleSheets->GetNthStyleSheetThatMatchesPredicate(
                         0, predicate, nAktPosition+1);
         retval = ref.get();
         if (retval != NULL) {
-            nAktPosition = pBasePool->mIndexedStyleSheets->FindStyleSheetPosition(*ref);
+            nAktPosition = pBasePool->pImp->mpIndexedStyleSheets->FindStyleSheetPosition(*ref);
         }
     }
     pAktStyle = retval;
@@ -540,14 +553,14 @@ SfxStyleSheetBase* SfxStyleSheetIterator::Find(const OUString& rStr)
     DoesStyleMatchStyleSheetPredicate predicate(this);
 
     std::vector<unsigned> positions =
-            pBasePool->mIndexedStyleSheets->FindPositionsByNameAndPredicate(rStr, predicate,
+            pBasePool->pImp->mpIndexedStyleSheets->FindPositionsByNameAndPredicate(rStr, predicate,
                     svl::IndexedStyleSheets::RETURN_FIRST);
     if (positions.empty()) {
         return NULL;
     }
 
     unsigned pos = positions.front();
-    SfxStyleSheetBase* pStyle = pBasePool->mIndexedStyleSheets->GetStyleSheetByPosition(pos).get();
+    SfxStyleSheetBase* pStyle = pBasePool->pImp->mpIndexedStyleSheets->GetStyleSheetByPosition(pos).get();
     nAktPosition = pos;
     pAktStyle = pStyle;
     return pAktStyle;
@@ -583,34 +596,31 @@ SfxStyleSheetIterator& SfxStyleSheetBasePool::GetIterator_Impl()
     return *pImp->pIter;
 }
 
-SfxStyleSheetBasePool::SfxStyleSheetBasePool( SfxItemPool& r )
-    : aAppName(r.GetName())
-    , rPool(r)
-    , nSearchFamily(SFX_STYLE_FAMILY_PARA)
-    , nMask(SFXSTYLEBIT_ALL)
-    , mIndexedStyleSheets(new svl::IndexedStyleSheets)
+SfxStyleSheetBasePool::SfxStyleSheetBasePool( SfxItemPool& r ) :
+    pImp(new SfxStyleSheetBasePool_Impl),
+    aAppName(r.GetName()),
+    rPool(r),
+    nSearchFamily(SFX_STYLE_FAMILY_PARA),
+    nMask(SFXSTYLEBIT_ALL)
 {
 #ifdef DBG_UTIL
     aDbgStyleSheetReferences.mnPools++;
 #endif
-
-    pImp = new SfxStyleSheetBasePool_Impl;
 }
 
-SfxStyleSheetBasePool::SfxStyleSheetBasePool( const SfxStyleSheetBasePool& r )
-    : SfxBroadcaster( r )
-    , comphelper::OWeakTypeObject()
-    , aAppName(r.aAppName)
-    , rPool(r.rPool)
-    , nSearchFamily(r.nSearchFamily)
-    , nMask( r.nMask )
-    , mIndexedStyleSheets(new svl::IndexedStyleSheets)
+SfxStyleSheetBasePool::SfxStyleSheetBasePool( const SfxStyleSheetBasePool& r ) :
+    SfxBroadcaster( r ),
+    comphelper::OWeakTypeObject(),
+    pImp(new SfxStyleSheetBasePool_Impl),
+    aAppName(r.aAppName),
+    rPool(r.rPool),
+    nSearchFamily(r.nSearchFamily),
+    nMask( r.nMask )
 {
 #ifdef DBG_UTIL
     aDbgStyleSheetReferences.mnPools++;
 #endif
 
-    pImp = new SfxStyleSheetBasePool_Impl;
     *this += r;
 }
 
@@ -696,7 +706,7 @@ SfxStyleSheetBase& SfxStyleSheetBasePool::Add( const SfxStyleSheetBase& rSheet )
         Remove( pOld );
     }
     rtl::Reference< SfxStyleSheetBase > xNew( Create( rSheet ) );
-    mIndexedStyleSheets->AddStyleSheet(xNew);
+    pImp->mpIndexedStyleSheets->AddStyleSheet(xNew);
     Broadcast( SfxStyleSheetHint( SFX_STYLESHEET_CHANGED, *xNew.get() ) );
     return *xNew.get();
 }
@@ -731,7 +741,7 @@ SfxStyleSheetBasePool& SfxStyleSheetBasePool::operator+=( const SfxStyleSheetBas
     if( &r != this )
     {
         AddStyleSheetCallback callback(this);
-        mIndexedStyleSheets->ApplyToAllStyleSheets(callback);
+        pImp->mpIndexedStyleSheets->ApplyToAllStyleSheets(callback);
     }
     return *this;
 }
@@ -770,7 +780,7 @@ void SfxStyleSheetBasePool::Remove( SfxStyleSheetBase* p )
     {
         // Reference to keep p alive until after Broadcast call!
         rtl::Reference<SfxStyleSheetBase> xP(p);
-        bool bWasRemoved = mIndexedStyleSheets->RemoveStyleSheet(xP);
+        bool bWasRemoved = pImp->mpIndexedStyleSheets->RemoveStyleSheet(xP);
         if( bWasRemoved )
         {
             // Adapt all styles which have this style as parant
@@ -844,7 +854,7 @@ struct StyleSheetDisposerFunctor SAL_FINAL : public svl::StyleSheetDisposer
 void SfxStyleSheetBasePool::Clear()
 {
     StyleSheetDisposerFunctor cleanup(this);
-    mIndexedStyleSheets->Clear(cleanup);
+    pImp->mpIndexedStyleSheets->Clear(cleanup);
 }
 
 void SfxStyleSheetBasePool::ChangeParent(const OUString& rOld,
@@ -874,8 +884,11 @@ void SfxStyleSheetBase::Store( SvStream& )
 {
 }
 
-
-
+SfxStyleSheet::SfxStyleSheet() // do not use! needed by MSVC at compile time to satisfy ImplInheritanceHelper2
+    : SfxStyleSheetBase(OUString("dummy"), NULL, SFX_STYLE_FAMILY_ALL, 0)
+{
+    assert(false);
+}
 
 SfxStyleSheet::SfxStyleSheet(const OUString &rName,
                              const SfxStyleSheetBasePool& r_Pool,
@@ -990,7 +1003,7 @@ SfxUnoStyleSheet* SfxUnoStyleSheet::getUnoStyleSheet( const ::com::sun::star::un
 void
 SfxStyleSheetBasePool::StoreStyleSheet(rtl::Reference< SfxStyleSheetBase > xStyle)
 {
-    mIndexedStyleSheets->AddStyleSheet(xStyle);
+    pImp->mpIndexedStyleSheets->AddStyleSheet(xStyle);
 }
 
 namespace
@@ -1006,19 +1019,19 @@ const ::com::sun::star::uno::Sequence< ::sal_Int8 >& SfxUnoStyleSheet::getIdenti
 void
 SfxStyleSheetBasePool::Reindex()
 {
-    mIndexedStyleSheets->Reindex();
+    pImp->mpIndexedStyleSheets->Reindex();
 }
 
 const svl::IndexedStyleSheets&
 SfxStyleSheetBasePool::GetIndexedStyleSheets() const
 {
-    return *mIndexedStyleSheets;
+    return *pImp->mpIndexedStyleSheets;
 }
 
 rtl::Reference<SfxStyleSheetBase>
 SfxStyleSheetBasePool::GetStyleSheetByPositionInIndex(unsigned pos)
 {
-    return mIndexedStyleSheets->GetStyleSheetByPosition(pos);
+    return pImp->mpIndexedStyleSheets->GetStyleSheetByPosition(pos);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list