Add method to normalize strings in EditTextObject.

Change-Id: I1adb57279db0afeb8387599ec11984380e5a2e4a
This commit is contained in:
Kohei Yoshida
2013-10-01 21:51:50 -04:00
parent 878439cc92
commit 279ae51161
3 changed files with 44 additions and 0 deletions

View File

@@ -44,6 +44,7 @@
#include <vcl/graph.hxx>
#include <svl/intitem.hxx>
#include "svl/stringpool.hxx"
#include <unotools/fontcvt.hxx>
#include <tools/tenccvt.hxx>
@@ -148,6 +149,11 @@ ContentInfo::~ContentInfo()
aAttribs.clear();
}
void ContentInfo::NormalizeString( svl::StringPool& rPool )
{
aText = OUString(rPool.intern(aText));
}
const WrongList* ContentInfo::GetWrongList() const
{
return mpWrongs.get();
@@ -316,6 +322,11 @@ editeng::FieldUpdater EditTextObject::GetFieldUpdater()
return mpImpl->GetFieldUpdater();
}
void EditTextObject::NormalizeString( svl::StringPool& rPool )
{
mpImpl->NormalizeString(rPool);
}
const SfxItemPool* EditTextObject::GetPool() const
{
return mpImpl->GetPool();
@@ -602,6 +613,16 @@ void EditTextObjectImpl::SetUserType( sal_uInt16 n )
nUserType = n;
}
void EditTextObjectImpl::NormalizeString( svl::StringPool& rPool )
{
ContentInfosType::iterator it = aContents.begin(), itEnd = aContents.end();
for (; it != itEnd; ++it)
{
ContentInfo& rInfo = *it;
rInfo.NormalizeString(rPool);
}
}
bool EditTextObjectImpl::IsVertical() const
{
return bVertical;

View File

@@ -35,6 +35,12 @@ struct Section;
}
namespace svl {
class StringPool;
}
class XEditAttribute
{
private:
@@ -136,6 +142,8 @@ private:
public:
~ContentInfo();
void NormalizeString( svl::StringPool& rPool );
const XEditAttributesType& GetAttribs() const { return aAttribs; }
XEditAttributesType& GetAttribs() { return aAttribs; }
@@ -198,6 +206,8 @@ public:
sal_uInt16 GetUserType() const;
void SetUserType( sal_uInt16 n );
void NormalizeString( svl::StringPool& rPool );
bool IsVertical() const;
void SetVertical( bool b );

View File

@@ -49,6 +49,12 @@ struct Section;
}
namespace svl {
class StringPool;
}
class EditTextObjectImpl;
class EDITENG_DLLPUBLIC EditTextObject : public SfxItemPoolUser
@@ -72,6 +78,13 @@ public:
EditTextObject( const EditTextObject& r );
virtual ~EditTextObject();
/**
* Set paragraph strings to the shared string pool.
*
* @param rPool shared string pool.
*/
void NormalizeString( svl::StringPool& rPool );
const SfxItemPool* GetPool() const;
sal_uInt16 GetUserType() const; // For OutlinerMode, it can however not save in compatible format
void SetUserType( sal_uInt16 n );