Kaydet (Commit) 2dc20121 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Change the signature of DataChanged in the base class.

This change allows the caller to see if DataChanged operation was
successful or not.
üst e0483315
......@@ -133,8 +133,13 @@ public:
void SetLinkSourceName( const String & rName );
String GetLinkSourceName() const;
virtual void DataChanged( const String & rMimeType,
const ::com::sun::star::uno::Any & rValue );
enum UpdateResult {
SUCCESS = 0,
ERROR_GENERAL = 1
};
virtual UpdateResult DataChanged(
const String & rMimeType, const ::com::sun::star::uno::Any & rValue );
void SetUpdateMode( sal_uInt16 );
sal_uInt16 GetUpdateMode() const;
......
......@@ -330,12 +330,13 @@ sal_Bool SvBaseLink::Update()
if( xObj->GetData( aData, sMimeType ) )
{
DataChanged( sMimeType, aData );
UpdateResult eRes = DataChanged(sMimeType, aData);
bool bSuccess = eRes == SUCCESS;
//for manual Updates there is no need to hold the ServerObject
if( OBJECT_CLIENT_DDE == nObjType &&
LINKUPDATE_ONCALL == GetUpdateMode() && xObj.Is() )
xObj->RemoveAllDataAdvise( this );
return sal_True;
return bSuccess;
}
if( xObj.Is() )
{
......@@ -439,7 +440,7 @@ void SvBaseLink::Disconnect()
}
}
void SvBaseLink::DataChanged( const String &, const ::com::sun::star::uno::Any & )
SvBaseLink::UpdateResult SvBaseLink::DataChanged( const String &, const ::com::sun::star::uno::Any & )
{
switch( nObjType )
{
......@@ -448,6 +449,7 @@ void SvBaseLink::DataChanged( const String &, const ::com::sun::star::uno::Any &
pImplData->DDEType.pItem->Notify();
break;
}
return SUCCESS;
}
void SvBaseLink::Edit( Window* pParent, const Link& rEndEditHdl )
......
......@@ -131,8 +131,9 @@ public:
virtual ~SdrGraphicLink();
virtual void Closed();
virtual void DataChanged( const String& rMimeType,
const ::com::sun::star::uno::Any & rValue );
virtual ::sfx2::SvBaseLink::UpdateResult DataChanged(
const String& rMimeType, const ::com::sun::star::uno::Any & rValue );
void DataChanged( const Graphic& rGraphic );
sal_Bool Connect() { return 0 != GetRealObject(); }
......@@ -242,8 +243,8 @@ void SdrGraphicLink::RemoveGraphicUpdater()
// -----------------------------------------------------------------------------
void SdrGraphicLink::DataChanged( const String& rMimeType,
const ::com::sun::star::uno::Any & rValue )
::sfx2::SvBaseLink::UpdateResult SdrGraphicLink::DataChanged(
const String& rMimeType, const ::com::sun::star::uno::Any & rValue )
{
SdrModel* pModel = pGrafObj ? pGrafObj->GetModel() : 0;
sfx2::LinkManager* pLinkManager= pModel ? pModel->GetLinkManager() : 0;
......@@ -264,6 +265,7 @@ void SdrGraphicLink::DataChanged( const String& rMimeType,
pGrafObj->BroadcastObjectChange();
}
}
return SUCCESS;
}
// -----------------------------------------------------------------------------
......
......@@ -612,8 +612,8 @@ public:
virtual ~SdrEmbedObjectLink();
virtual void Closed();
virtual void DataChanged( const String& rMimeType,
const ::com::sun::star::uno::Any & rValue );
virtual ::sfx2::SvBaseLink::UpdateResult DataChanged(
const String& rMimeType, const ::com::sun::star::uno::Any & rValue );
sal_Bool Connect() { return GetRealObject() != NULL; }
};
......@@ -635,8 +635,8 @@ SdrEmbedObjectLink::~SdrEmbedObjectLink()
// -----------------------------------------------------------------------------
void SdrEmbedObjectLink::DataChanged( const String& /*rMimeType*/,
const ::com::sun::star::uno::Any & /*rValue*/ )
::sfx2::SvBaseLink::UpdateResult SdrEmbedObjectLink::DataChanged(
const String& /*rMimeType*/, const ::com::sun::star::uno::Any & /*rValue*/ )
{
if ( !pObj->UpdateLinkURL_Impl() )
{
......@@ -666,6 +666,8 @@ void SdrEmbedObjectLink::DataChanged( const String& /*rMimeType*/,
pObj->GetNewReplacement();
pObj->SetChanged();
return SUCCESS;
}
// -----------------------------------------------------------------------------
......
......@@ -75,8 +75,8 @@ public:
virtual ~ImpSdrObjTextLink();
virtual void Closed();
virtual void DataChanged( const String& rMimeType,
const ::com::sun::star::uno::Any & rValue );
virtual ::sfx2::SvBaseLink::UpdateResult DataChanged(
const String& rMimeType, const ::com::sun::star::uno::Any & rValue );
sal_Bool Connect() { return 0 != SvBaseLink::GetRealObject(); }
};
......@@ -98,8 +98,8 @@ void ImpSdrObjTextLink::Closed()
}
void ImpSdrObjTextLink::DataChanged( const String& /*rMimeType*/,
const ::com::sun::star::uno::Any & /*rValue */)
::sfx2::SvBaseLink::UpdateResult ImpSdrObjTextLink::DataChanged(
const String& /*rMimeType*/, const ::com::sun::star::uno::Any & /*rValue */)
{
bool bForceReload = false;
SdrModel* pModel = pSdrObj ? pSdrObj->GetModel() : 0;
......@@ -125,6 +125,8 @@ void ImpSdrObjTextLink::DataChanged( const String& /*rMimeType*/,
}
if (pSdrObj )
pSdrObj->ReloadLinkedText( bForceReload );
return SUCCESS;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
......
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