summaryrefslogtreecommitdiff
path: root/svx/source/sdr/contact
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/sdr/contact')
-rw-r--r--svx/source/sdr/contact/viewcontact.cxx23
-rw-r--r--svx/source/sdr/contact/viewobjectcontact.cxx11
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)