23 #include <osl/file.hxx>
24 #include <osl/thread.h>
48 virtual void Closed()
override;
49 virtual ::sfx2::SvBaseLink::UpdateResult
DataChanged(
50 const OUString& rMimeType,
const css::uno::Any & rValue )
override;
59 if (pData!=
nullptr) pData->
pLink=
nullptr;
67 const OUString& ,
const css::uno::Any & )
69 bool bForceReload =
false;
102 eCharSet(RTL_TEXTENCODING_DONTKNOW)
117 pData->
pLink=
nullptr;
118 return std::unique_ptr<SdrObjUserData>(pData);
124 rtl_TextEncoding eCharSet = osl_getThreadTextEncoding();
127 if (pData!=
nullptr) {
142 for (sal_uInt16 nNum=nCount; nNum>0;) {
167 css::uno::Any aAny( aCnt.getPropertyValue(
"DateModified") );
168 css::util::DateTime aDateTime;
171 ::utl::typeConvert( aDateTime, aFileDT );
203 if( aFileURL.
GetProtocol() == INetProtocol::NotValid )
205 OUString aFileURLStr;
207 if( osl::FileBase::getFileURLFromSystemPath( rFileName, aFileURLStr ) == osl::FileBase::E_None )
223 pIStm->ReadBytes(cRTF, 5);
225 bool bRTF = cRTF[0] ==
'{' && cRTF[1] ==
'\\' && cRTF[2] ==
'r' && cRTF[3] ==
't' && cRTF[4] ==
'f';
229 if( !pIStm->GetError() )
242 for (sal_uInt16 nNum=nCount; nNum>0;) {
258 if (pLinkManager!=
nullptr && pData!=
nullptr && pData->
pLink==
nullptr) {
270 if (pLinkManager!=
nullptr && pData!=
nullptr && pData->
pLink!=
nullptr) {
273 pData->
pLink=
nullptr;
User data of a drawing object, e.g.
bool LoadText(const OUString &rFileName, rtl_TextEncoding eCharSet)
ImpSdrObjTextLink(SdrTextObj *pObj1)
virtual ::sfx2::SvBaseLink::UpdateResult DataChanged(const OUString &rMimeType, const css::uno::Any &rValue) override
std::unique_ptr< ContentProperties > pData
void InsertFileLink(sfx2::SvBaseLink &, SvBaseLinkObjectType nFileType, std::u16string_view rFileNm, const OUString *pFilterNm=nullptr, const OUString *pRange=nullptr)
SVX_DLLPRIVATE void ImpDeregisterLink()
ImpSdrObjTextLinkUserData()
#define SDRUSERDATA_OBJTEXTLINK
static std::unique_ptr< SvStream > CreateStream(const OUString &rFileName, StreamMode eOpenMode, css::uno::Reference< css::awt::XWindow > xParentWin=nullptr)
void SetTextLink(const OUString &rFileName, const OUString &rFilterName)
SVX_DLLPRIVATE ImpSdrObjTextLinkUserData * GetLinkUserData() const
#define DBG_ASSERT(sCon, aError)
void Remove(SvBaseLink const *pLink)
virtual void Closed() override
friend class ImpSdrObjTextLinkUserData
void SetText(const OUString &rStr)
void DeleteUserData(sal_uInt16 nNum)
SdrModel & getSdrModelFromSdrObject() const
tools::SvRef< ImpSdrObjTextLink > pLink
rtl_TextEncoding GetSOLoadTextEncoding(rtl_TextEncoding eEncoding)
SVX_DLLPRIVATE void ImpRegisterLink()
void AppendUserData(std::unique_ptr< SdrObjUserData > pData)
OUString GetMainURL(DecodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
static bool GetDisplayNames(const SvBaseLink *, OUString *pType, OUString *pFile=nullptr, OUString *pLink=nullptr, OUString *pFilter=nullptr)
rtl_TextEncoding eCharSet
bool ReloadLinkedText(bool bForceLoad)
INetProtocol GetProtocol() const
SdrObjUserData * GetUserData(sal_uInt16 nNum) const
virtual ~ImpSdrObjTextLinkUserData() override
friend class ImpSdrObjTextLink
Reference< XComponentContext > getProcessComponentContext()
sal_uInt16 GetUserDataCount() const
virtual std::unique_ptr< SdrObjUserData > Clone(SdrObject *pObj1) const override
virtual void SetChanged()
SdrInventor GetInventor() const
bool SetSmartURL(OUString const &rTheAbsURIRef, EncodeMechanism eMechanism=EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8, FSysStyle eStyle=FSysStyle::Detect)