Kaydet (Commit) 6c5c5584 authored tarafından Armin Le Grand's avatar Armin Le Grand Kaydeden (comit) Caolán McNamara

Resolves: #i121917# Corrected access to text object

(cherry picked from commit 2c9c9923)

Conflicts:
	sw/source/core/draw/dcontact.cxx

Change-Id: Ia214127ca540c4f4036a0006e7c227649fb39134
üst 297b41eb
......@@ -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())
{
......
......@@ -2332,8 +2332,16 @@ basegfx::B2DPolyPolygon SwDrawVirtObj::TakeContour() const
SdrHdl* SwDrawVirtObj::GetHdl(sal_uInt32 nHdlNum) const
{
SdrHdl* pHdl = rRefObj.GetHdl(nHdlNum);
Point aP(pHdl->GetPos() + GetOffset());
pHdl->SetPos(aP);
if(pHdl)
{
Point aP(pHdl->GetPos() + GetOffset());
pHdl->SetPos(aP);
}
else
{
OSL_ENSURE(false, "Got no SdrHdl(!)");
}
return pHdl;
}
......@@ -2342,8 +2350,14 @@ SdrHdl* SwDrawVirtObj::GetPlusHdl(const SdrHdl& rHdl, sal_uInt16 nPlNum) const
{
SdrHdl* pHdl = rRefObj.GetPlusHdl(rHdl, nPlNum);
if (pHdl)
if(pHdl)
{
pHdl->SetPos(pHdl->GetPos() + GetOffset());
}
else
{
OSL_ENSURE(false, "Got no SdrHdl(!)");
}
return pHdl;
}
......
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