summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorArmin Le Grand <alg@apache.org>2013-06-18 13:10:42 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-06-19 12:18:47 +0100
commitbc69be88fa43901504126740bc8810f4e31e17a5 (patch)
tree7b34ee18281586a7b309a542a8ad1dd2c661bd2c /svx
parent6af376566b55c504335ccfae0fd82d6d2a0c75dd (diff)
Resolves: #i121917# Corrected access to text object
(cherry picked from commit 2c9c9923fdf042c41cebaf9a15def7caac86032d) Conflicts: sw/source/core/draw/dcontact.cxx Change-Id: Ia214127ca540c4f4036a0006e7c227649fb39134 (cherry picked from commit 6c5c5584eb1adb64fee3aaf76196115ba3812e2c)
Diffstat (limited to 'svx')
-rw-r--r--svx/source/sidebar/possize/PosSizePropertyPanel.cxx57
1 files changed, 31 insertions, 26 deletions
diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
index 5854e36840d4..20879f1b3d0e 100644
--- a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
+++ b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
@@ -150,6 +150,34 @@ void PosSizePropertyPanel::ShowMenu (void)
+namespace
+{
+ bool hasText(const SdrView& rSdrView)
+ {
+ const SdrMarkList& rMarkList = rSdrView.GetMarkedObjectList();
+
+ if(1 == rMarkList.GetMarkCount())
+ {
+ const SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
+ const SdrObjKind eKind((SdrObjKind)pObj->GetObjIdentifier());
+
+ if((pObj->GetObjInventor() == SdrInventor) && (OBJ_TEXT == eKind || OBJ_TITLETEXT == eKind || OBJ_OUTLINETEXT == eKind))
+ {
+ const SdrTextObj* pSdrTextObj = dynamic_cast< const SdrTextObj* >(pObj);
+
+ if(pSdrTextObj && pSdrTextObj->HasText())
+ {
+ return true;
+ }
+ }
+ }
+
+ return false;
+ }
+} // end of anonymous namespace
+
+
+
void PosSizePropertyPanel::Initialize()
{
mpFtPosX->SetBackground(Wallpaper());
@@ -222,18 +250,7 @@ void PosSizePropertyPanel::Initialize()
if ( mpView != NULL )
{
maUIScale = mpView->GetModel()->GetUIScale();
-
- const SdrMarkList& rMarkList = mpView->GetMarkedObjectList();
- if(1 == rMarkList.GetMarkCount())
- {
- const SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
- const SdrObjKind eKind((SdrObjKind)pObj->GetObjIdentifier());
-
- if((pObj->GetObjInventor() == SdrInventor) && (OBJ_TEXT == eKind || OBJ_TITLETEXT == eKind || OBJ_OUTLINETEXT == eKind) && ((SdrTextObj*)pObj)->HasText())
- {
- mbAdjustEnabled = true;
- }
- }
+ mbAdjustEnabled = hasText(*mpView);
}
mePoolUnit = maTransfWidthControl.GetCoreMetric();
@@ -701,20 +718,7 @@ void PosSizePropertyPanel::NotifyItemUpdate(
if ( mpView == NULL )
return;
- const SdrMarkList& rMarkList = mpView->GetMarkedObjectList();
-
- if(1 == rMarkList.GetMarkCount())
- {
- const SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
- const SdrObjKind eKind((SdrObjKind)pObj->GetObjIdentifier());
-
- if((pObj->GetObjInventor() == SdrInventor) && (OBJ_TEXT == eKind || OBJ_TITLETEXT == eKind || OBJ_OUTLINETEXT == eKind) && ((SdrTextObj*)pObj)->HasText())
- mbAdjustEnabled = true;
- else
- mbAdjustEnabled = false;
- }
- else
- mbAdjustEnabled = false;
+ mbAdjustEnabled = hasText(*mpView);
// Pool unit and dialog unit may have changed, make sure that we
// have the current values.
@@ -938,6 +942,7 @@ void PosSizePropertyPanel::NotifyItemUpdate(
}
const sal_Int32 nCombinedContext(maContext.GetCombinedContext_DI());
+ const SdrMarkList& rMarkList = mpView->GetMarkedObjectList();
switch (rMarkList.GetMarkCount())
{