Kaydet (Commit) 6401ca33 authored tarafından Daisuke Nishino's avatar Daisuke Nishino Kaydeden (comit) Caolán McNamara

Get rid of SvStringsSort

üst 0a590fc4
...@@ -57,11 +57,6 @@ SV_DECL_PTRARR_DEL_VISIBILITY( SvStringsDtor, StringPtr, 1, 1, SVL_DLLPUBLIC ) ...@@ -57,11 +57,6 @@ SV_DECL_PTRARR_DEL_VISIBILITY( SvStringsDtor, StringPtr, 1, 1, SVL_DLLPUBLIC )
#define _SVSTDARR_STRINGSDTOR_DECL #define _SVSTDARR_STRINGSDTOR_DECL
#endif #endif
#ifndef _SVSTDARR_STRINGSSORT_DECL
SV_DECL_PTRARR_SORT_VISIBILITY( SvStringsSort, StringPtr, 1, 1, SVL_DLLPUBLIC )
#define _SVSTDARR_STRINGSSORT_DECL
#endif
#ifndef _SVSTDARR_STRINGSSORTDTOR_DECL #ifndef _SVSTDARR_STRINGSSORTDTOR_DECL
SV_DECL_PTRARR_SORT_DEL_VISIBILITY( SvStringsSortDtor, StringPtr, 1, 1, SVL_DLLPUBLIC ) SV_DECL_PTRARR_SORT_DEL_VISIBILITY( SvStringsSortDtor, StringPtr, 1, 1, SVL_DLLPUBLIC )
#define _SVSTDARR_STRINGSSORTDTOR_DECL #define _SVSTDARR_STRINGSSORTDTOR_DECL
......
...@@ -63,7 +63,6 @@ sal_uInt16 SvPtrarr::GetPos( const VoidPtr& aElement ) const ...@@ -63,7 +63,6 @@ sal_uInt16 SvPtrarr::GetPos( const VoidPtr& aElement ) const
SV_IMPL_PTRARR( SvStrings, StringPtr ) SV_IMPL_PTRARR( SvStrings, StringPtr )
SV_IMPL_PTRARR( SvStringsDtor, StringPtr ) SV_IMPL_PTRARR( SvStringsDtor, StringPtr )
SV_IMPL_OP_PTRARR_SORT( SvStringsSort, StringPtr )
SV_IMPL_OP_PTRARR_SORT( SvStringsSortDtor, StringPtr ) SV_IMPL_OP_PTRARR_SORT( SvStringsSortDtor, StringPtr )
// ---------------- strings ------------------------------------- // ---------------- strings -------------------------------------
......
...@@ -34,6 +34,8 @@ ...@@ -34,6 +34,8 @@
#include <svl/inettype.hxx> #include <svl/inettype.hxx>
#include <svl/svl.hrc> #include <svl/svl.hrc>
#include <boost/ptr_container/ptr_map.hpp>
#include "getstringresource.hxx" #include "getstringresource.hxx"
#ifndef _SVSTDARR_STRINGSSORT_DECL #ifndef _SVSTDARR_STRINGSSORT_DECL
...@@ -62,30 +64,33 @@ struct TypeIDMapEntry ...@@ -62,30 +64,33 @@ struct TypeIDMapEntry
}; };
//============================================================================ //============================================================================
struct TypeNameMapEntry: public UniString struct TypeNameMapEntry
{ {
UniString m_aExtension; UniString m_aExtension;
INetContentType m_eTypeID; INetContentType m_eTypeID;
TypeNameMapEntry(const UniString & rType): TypeNameMapEntry():
UniString(rType), m_eTypeID(CONTENT_TYPE_UNKNOWN) {} m_eTypeID(CONTENT_TYPE_UNKNOWN) {}
}; };
//============================================================================ //============================================================================
struct ExtensionMapEntry: public UniString struct ExtensionMapEntry
{ {
INetContentType m_eTypeID; INetContentType m_eTypeID;
ExtensionMapEntry(const UniString & rExt): ExtensionMapEntry():
UniString(rExt), m_eTypeID(CONTENT_TYPE_UNKNOWN) {} m_eTypeID(CONTENT_TYPE_UNKNOWN) {}
}; };
//============================================================================ //============================================================================
class Registration class Registration
{ {
typedef boost::ptr_map<UniString, TypeNameMapEntry> TypeNameMap;
typedef boost::ptr_map<UniString, ExtensionMapEntry> ExtensionMap;
Table m_aTypeIDMap; // map TypeID to TypeName, Presentation Table m_aTypeIDMap; // map TypeID to TypeName, Presentation
SvStringsSort m_aTypeNameMap; // map TypeName to TypeID, Extension TypeNameMap m_aTypeNameMap; // map TypeName to TypeID, Extension
SvStringsSort m_aExtensionMap; // map Extension to TypeID ExtensionMap m_aExtensionMap; // map Extension to TypeID
sal_uInt32 m_nNextDynamicID; sal_uInt32 m_nNextDynamicID;
public: public:
...@@ -527,15 +532,6 @@ Registration::~Registration() ...@@ -527,15 +532,6 @@ Registration::~Registration()
delete static_cast< TypeIDMapEntry * >(m_aTypeIDMap.GetObject(i)); delete static_cast< TypeIDMapEntry * >(m_aTypeIDMap.GetObject(i));
} }
m_aTypeIDMap.Clear(); m_aTypeIDMap.Clear();
{for (sal_uInt16 i = 0; i < m_aTypeNameMap.Count(); ++i)
delete static_cast< TypeNameMapEntry * >(m_aTypeNameMap.GetObject(i));
}
m_aTypeNameMap.Remove(sal_uInt16(0), m_aTypeNameMap.Count());
{for (sal_uInt16 i = 0; i < m_aExtensionMap.Count(); ++i)
delete
static_cast< ExtensionMapEntry * >(m_aExtensionMap.GetObject(i));
}
m_aExtensionMap.Remove(sal_uInt16(0), m_aExtensionMap.Count());
} }
//============================================================================ //============================================================================
...@@ -545,12 +541,10 @@ TypeNameMapEntry * Registration::getExtensionEntry(UniString const & ...@@ -545,12 +541,10 @@ TypeNameMapEntry * Registration::getExtensionEntry(UniString const &
{ {
UniString aTheTypeName = rTypeName; UniString aTheTypeName = rTypeName;
aTheTypeName.ToLowerAscii(); aTheTypeName.ToLowerAscii();
sal_uInt16 nPos;
Registration &rRegistration = theRegistration::get(); Registration &rRegistration = theRegistration::get();
if (rRegistration.m_aTypeNameMap.Seek_Entry(&aTheTypeName, &nPos)) typename TypeNameMap::iterator it = rRegistration.m_aTypeNameMap.find(aTheTypeName);
return static_cast< TypeNameMapEntry * >(rRegistration. if (it != rRegistration.m_aTypeNameMap.end())
m_aTypeNameMap. return it->second;
GetObject(nPos));
return 0; return 0;
} }
...@@ -581,18 +575,17 @@ INetContentType Registration::RegisterContentType(UniString const & rTypeName, ...@@ -581,18 +575,17 @@ INetContentType Registration::RegisterContentType(UniString const & rTypeName,
pTypeIDMapEntry->m_aSystemFileType = *pSystemFileType; pTypeIDMapEntry->m_aSystemFileType = *pSystemFileType;
rRegistration.m_aTypeIDMap.Insert(eTypeID, pTypeIDMapEntry); rRegistration.m_aTypeIDMap.Insert(eTypeID, pTypeIDMapEntry);
TypeNameMapEntry * pTypeNameMapEntry = new TypeNameMapEntry(aTheTypeName); std::auto_ptr<TypeNameMapEntry> pTypeNameMapEntry(new TypeNameMapEntry());
if (pExtension) if (pExtension)
pTypeNameMapEntry->m_aExtension = *pExtension; pTypeNameMapEntry->m_aExtension = *pExtension;
pTypeNameMapEntry->m_eTypeID = eTypeID; pTypeNameMapEntry->m_eTypeID = eTypeID;
rRegistration.m_aTypeNameMap.Insert(pTypeNameMapEntry); rRegistration.m_aTypeNameMap.insert(aTheTypeName, pTypeNameMapEntry);
if (pExtension) if (pExtension)
{ {
ExtensionMapEntry * pExtensionMapEntry std::auto_ptr<ExtensionMapEntry> pExtensionMapEntry(new ExtensionMapEntry());
= new ExtensionMapEntry(*pExtension);
pExtensionMapEntry->m_eTypeID = eTypeID; pExtensionMapEntry->m_eTypeID = eTypeID;
rRegistration.m_aExtensionMap.Insert(pExtensionMapEntry); rRegistration.m_aExtensionMap.insert(*pExtension, pExtensionMapEntry);
} }
return eTypeID; return eTypeID;
...@@ -606,13 +599,10 @@ INetContentType Registration::GetContentType(UniString const & rTypeName) ...@@ -606,13 +599,10 @@ INetContentType Registration::GetContentType(UniString const & rTypeName)
UniString aTheTypeName = rTypeName; UniString aTheTypeName = rTypeName;
aTheTypeName.ToLowerAscii(); aTheTypeName.ToLowerAscii();
sal_uInt16 nPos; typename TypeNameMap::iterator it = rRegistration.m_aTypeNameMap.find(aTheTypeName);
return rRegistration.m_aTypeNameMap.Seek_Entry(&aTheTypeName, &nPos) ? return it != rRegistration.m_aTypeNameMap.end()
static_cast< TypeNameMapEntry * >(rRegistration. ? it->second->m_eTypeID
m_aTypeNameMap. : CONTENT_TYPE_UNKNOWN;
GetObject(nPos))->
m_eTypeID :
CONTENT_TYPE_UNKNOWN;
} }
//============================================================================ //============================================================================
...@@ -646,16 +636,10 @@ INetContentType Registration::GetContentType4Extension(UniString const & ...@@ -646,16 +636,10 @@ INetContentType Registration::GetContentType4Extension(UniString const &
{ {
Registration &rRegistration = theRegistration::get(); Registration &rRegistration = theRegistration::get();
sal_uInt16 nPos; typename ExtensionMap::iterator it = rRegistration.m_aExtensionMap.find(rExtension);
return rRegistration. return it != rRegistration.m_aExtensionMap.end()
m_aExtensionMap. ? it->second->m_eTypeID
Seek_Entry(const_cast< UniString * >(&rExtension), : CONTENT_TYPE_UNKNOWN;
&nPos) ?
static_cast< ExtensionMapEntry * >(rRegistration.
m_aExtensionMap.
GetObject(nPos))->
m_eTypeID :
CONTENT_TYPE_UNKNOWN;
} }
//============================================================================ //============================================================================
......
...@@ -109,7 +109,6 @@ class SdrUndoAction; ...@@ -109,7 +109,6 @@ class SdrUndoAction;
class VirtualDevice; class VirtualDevice;
class SfxPrinter; class SfxPrinter;
class SvNumberFormatter; class SvNumberFormatter;
class SvStringsSort;
class SvxMacro; class SvxMacro;
class SvxMacroTableDtor; class SvxMacroTableDtor;
class SwAutoCompleteWord; class SwAutoCompleteWord;
...@@ -1408,7 +1407,7 @@ public: ...@@ -1408,7 +1407,7 @@ public:
void SetDefaultTOXBase(const SwTOXBase& rBase); void SetDefaultTOXBase(const SwTOXBase& rBase);
// Key for management of index. // Key for management of index.
sal_uInt16 GetTOIKeys( SwTOIKeyType eTyp, SvStringsSort& rArr ) const; sal_uInt16 GetTOIKeys( SwTOIKeyType eTyp, std::vector<String>& rArr ) const;
// Sort table text. // Sort table text.
sal_Bool SortTbl(const SwSelBoxes& rBoxes, const SwSortOptions&); sal_Bool SortTbl(const SwSelBoxes& rBoxes, const SwSortOptions&);
......
...@@ -66,7 +66,6 @@ class SwNewDBMgr; ...@@ -66,7 +66,6 @@ class SwNewDBMgr;
struct SwDocStat; struct SwDocStat;
class SvStringsDtor; class SvStringsDtor;
class SvStringsSort;
class SwAutoCompleteWord; class SwAutoCompleteWord;
class SwFmtRefMark; class SwFmtRefMark;
...@@ -416,7 +415,7 @@ public: ...@@ -416,7 +415,7 @@ public:
void ApplyAutoMark(); void ApplyAutoMark();
// Key for managing index. // Key for managing index.
sal_uInt16 GetTOIKeys( SwTOIKeyType eTyp, SvStringsSort& rArr ) const; sal_uInt16 GetTOIKeys( SwTOIKeyType eTyp, std::vector<String>& rArr ) const;
void SetOutlineNumRule(const SwNumRule&); void SetOutlineNumRule(const SwNumRule&);
const SwNumRule* GetOutlineNumRule() const; const SwNumRule* GetOutlineNumRule() const;
......
...@@ -104,10 +104,9 @@ typedef LinkStruct* LinkStructPtr; ...@@ -104,10 +104,9 @@ typedef LinkStruct* LinkStructPtr;
SV_DECL_PTRARR(LinkStructArr, LinkStructPtr, 0, 5 ) SV_DECL_PTRARR(LinkStructArr, LinkStructPtr, 0, 5 )
SV_IMPL_PTRARR(LinkStructArr, LinkStructPtr) SV_IMPL_PTRARR(LinkStructArr, LinkStructPtr)
sal_uInt16 SwDoc::GetTOIKeys( SwTOIKeyType eTyp, SvStringsSort& rArr ) const sal_uInt16 SwDoc::GetTOIKeys( SwTOIKeyType eTyp, std::vector<String>& rArr ) const
{ {
if( rArr.Count() ) rArr.clear();
rArr.Remove( sal_uInt16(0), rArr.Count() );
// dann mal ueber den Pool und alle Primary oder Secondary heraussuchen // dann mal ueber den Pool und alle Primary oder Secondary heraussuchen
const SwTxtTOXMark* pMark; const SwTxtTOXMark* pMark;
...@@ -129,10 +128,10 @@ sal_uInt16 SwDoc::GetTOIKeys( SwTOIKeyType eTyp, SvStringsSort& rArr ) const ...@@ -129,10 +128,10 @@ sal_uInt16 SwDoc::GetTOIKeys( SwTOIKeyType eTyp, SvStringsSort& rArr ) const
pStr = &((SwTOXMark*)pItem)->GetSecondaryKey(); pStr = &((SwTOXMark*)pItem)->GetSecondaryKey();
if( pStr->Len() ) if( pStr->Len() )
rArr.Insert( (StringPtr)pStr ); rArr.push_back( *pStr );
} }
return rArr.Count(); return rArr.size();
} }
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
......
...@@ -62,7 +62,6 @@ ...@@ -62,7 +62,6 @@
#include <statstr.hrc> #include <statstr.hrc>
#include <bookmrk.hxx> #include <bookmrk.hxx>
using namespace ::com::sun::star; using namespace ::com::sun::star;
using namespace ::com::sun::star::i18n; using namespace ::com::sun::star::i18n;
using namespace ::com::sun::star::lang; using namespace ::com::sun::star::lang;
...@@ -254,7 +253,7 @@ const SwTOXType* SwEditShell::GetTOXType(TOXTypes eTyp, sal_uInt16 nId) const ...@@ -254,7 +253,7 @@ const SwTOXType* SwEditShell::GetTOXType(TOXTypes eTyp, sal_uInt16 nId) const
Beschreibung: Schluessel fuer Stichwortverzeichnisse verwalten Beschreibung: Schluessel fuer Stichwortverzeichnisse verwalten
--------------------------------------------------------------------*/ --------------------------------------------------------------------*/
sal_uInt16 SwEditShell::GetTOIKeys( SwTOIKeyType eTyp, SvStringsSort& rArr ) const sal_uInt16 SwEditShell::GetTOIKeys( SwTOIKeyType eTyp, std::vector<String>& rArr ) const
{ {
return GetDoc()->GetTOIKeys( eTyp, rArr ); return GetDoc()->GetTOIKeys( eTyp, rArr );
} }
......
...@@ -253,15 +253,19 @@ void SwIndexMarkDlg::InitControls() ...@@ -253,15 +253,19 @@ void SwIndexMarkDlg::InitControls()
aTypeDCB.InsertEntry( pSh->GetTOXType(TOX_USER, i)->GetTypeName() ); aTypeDCB.InsertEntry( pSh->GetTOXType(TOX_USER, i)->GetTypeName() );
// read keywords primary // read keywords primary
SvStringsSort aArr; std::vector<String> aArr;
nCount = pSh->GetTOIKeys( TOI_PRIMARY, aArr ); nCount = pSh->GetTOIKeys( TOI_PRIMARY, aArr );
for(i=0; i < nCount; ++i) std::sort(aArr.begin(), aArr.end());
aKeyDCB.InsertEntry( *aArr[ i ] ); for(typename std::vector<String>::iterator it = aArr.begin(); it != aArr.end(); ++it) {
aKeyDCB.InsertEntry( *it );
}
// read keywords secondary // read keywords secondary
nCount = pSh->GetTOIKeys( TOI_SECONDARY, aArr ); nCount = pSh->GetTOIKeys( TOI_SECONDARY, aArr );
for(i=0; i < nCount; ++i) std::sort(aArr.begin(), aArr.end());
aKey2DCB.InsertEntry( *aArr[ i ] ); for(typename std::vector<String>::iterator it = aArr.begin(); it != aArr.end(); ++it) {
aKey2DCB.InsertEntry( *it );
}
UpdateLanguageDependenciesForPhoneticReading(); UpdateLanguageDependenciesForPhoneticReading();
......
...@@ -738,11 +738,6 @@ SvStringsISort::Insert(SvStringsISort const*, unsigned short, unsigned short) ...@@ -738,11 +738,6 @@ SvStringsISort::Insert(SvStringsISort const*, unsigned short, unsigned short)
SvStringsISort::Remove(String* const&, unsigned short) SvStringsISort::Remove(String* const&, unsigned short)
SvStringsISort::Remove(unsigned short, unsigned short) SvStringsISort::Remove(unsigned short, unsigned short)
SvStringsISortDtor::Insert(String* const*, unsigned short) SvStringsISortDtor::Insert(String* const*, unsigned short)
SvStringsSort::DeleteAndDestroy(unsigned short, unsigned short)
SvStringsSort::Insert(String* const&, unsigned short&)
SvStringsSort::Insert(String* const*, unsigned short)
SvStringsSort::Insert(SvStringsSort const*, unsigned short, unsigned short)
SvStringsSort::Remove(String* const&, unsigned short)
SvStringsSortDtor::Insert(String* const&, unsigned short&) SvStringsSortDtor::Insert(String* const&, unsigned short&)
SvStringsSortDtor::Insert(String* const*, unsigned short) SvStringsSortDtor::Insert(String* const*, unsigned short)
SvStringsSortDtor::Insert(SvStringsSortDtor const*, unsigned short, unsigned short) SvStringsSortDtor::Insert(SvStringsSortDtor const*, unsigned short, unsigned short)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment