diff options
author | Armin Le Grand <alg@apache.org> | 2013-06-18 13:10:42 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-06-18 16:03:46 +0100 |
commit | 6c5c5584eb1adb64fee3aaf76196115ba3812e2c (patch) | |
tree | 94db692e01038ad5b1c4d9babeadeff752c088ab /svx/source | |
parent | 297b41ebbecbd36b9f3885a7778c117743527df2 (diff) |
Resolves: #i121917# Corrected access to text object
(cherry picked from commit 2c9c9923fdf042c41cebaf9a15def7caac86032d)
Conflicts:
sw/source/core/draw/dcontact.cxx
Change-Id: Ia214127ca540c4f4036a0006e7c227649fb39134
Diffstat (limited to 'svx/source')
-rw-r--r-- | svx/source/sidebar/possize/PosSizePropertyPanel.cxx | 57 |
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()) { |