diff options
Diffstat (limited to 'svx/source/sdr/contact')
-rw-r--r-- | svx/source/sdr/contact/viewcontact.cxx | 23 | ||||
-rw-r--r-- | svx/source/sdr/contact/viewobjectcontact.cxx | 11 |
2 files changed, 34 insertions, 0 deletions
diff --git a/svx/source/sdr/contact/viewcontact.cxx b/svx/source/sdr/contact/viewcontact.cxx index 99106d0d6ed0..fcc9a6975380 100644 --- a/svx/source/sdr/contact/viewcontact.cxx +++ b/svx/source/sdr/contact/viewcontact.cxx @@ -203,6 +203,29 @@ void ViewContact::ActionChanged() } } +// IASS: helper for IASS invalidates +void ViewContact::ActionChangedIfDifferentPageView(SdrPageView& rSdrPageView) +{ + const sal_uInt32 nCount(maViewObjectContactVector.size()); + + for (sal_uInt32 a(0); a < nCount; a++) + { + ViewObjectContact* pCandidate = maViewObjectContactVector[a]; + DBG_ASSERT(pCandidate, + "ViewContact::GetViewObjectContact() invalid ViewObjectContactList (!)"); + + if (pCandidate) + { + pCandidate->ActionChangedIfDifferentPageView(rSdrPageView); + } + } +} + +bool ViewContact::hasMultipleViewObjectContacts() const +{ + return maViewObjectContactVector.size() > 1; +} + // access to SdrObject and/or SdrPage. May return 0L like the default // implementations do. Override as needed. SdrObject* ViewContact::TryToGetSdrObject() const { return nullptr; } diff --git a/svx/source/sdr/contact/viewobjectcontact.cxx b/svx/source/sdr/contact/viewobjectcontact.cxx index 2e3ebfd8d3f9..03d6eb4bd10c 100644 --- a/svx/source/sdr/contact/viewobjectcontact.cxx +++ b/svx/source/sdr/contact/viewobjectcontact.cxx @@ -250,6 +250,17 @@ void ViewObjectContact::ActionChanged() GetObjectContact().setLazyInvalidate(*this); } +// IASS: helper for IASS invalidates +void ViewObjectContact::ActionChangedIfDifferentPageView(SdrPageView& rSdrPageView) +{ + SdrPageView* pSdrPageView(GetObjectContact().TryToGetSdrPageView()); + + // if there is no SdrPageView or different from given one, force + // invalidate/repaint + if (nullptr == pSdrPageView || pSdrPageView != &rSdrPageView) + ActionChanged(); +} + void ViewObjectContact::triggerLazyInvalidate() { if(!mbLazyInvalidate) |