summaryrefslogtreecommitdiff
path: root/svx/source/svdraw/svdomeas.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/svdraw/svdomeas.cxx')
-rw-r--r--svx/source/svdraw/svdomeas.cxx129
1 files changed, 57 insertions, 72 deletions
diff --git a/svx/source/svdraw/svdomeas.cxx b/svx/source/svdraw/svdomeas.cxx
index a446be3d0efe..5e61a923a51e 100644
--- a/svx/source/svdraw/svdomeas.cxx
+++ b/svx/source/svdraw/svdomeas.cxx
@@ -860,47 +860,55 @@ SdrHdl* SdrMeasureObj::GetHdl(sal_uInt32 nHdlNum) const
return pHdl;
}
-FASTBOOL SdrMeasureObj::HasSpecialDrag() const
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+bool SdrMeasureObj::hasSpecialDrag() const
{
- return TRUE;
+ return true;
}
-FASTBOOL SdrMeasureObj::BegDrag(SdrDragStat& rDrag) const
+bool SdrMeasureObj::beginSpecialDrag(SdrDragStat& rDrag) const
{
- const SdrHdl* pHdl=rDrag.GetHdl();
- if (pHdl!=NULL) {
- sal_uInt32 nHdlNum(pHdl->GetObjHdlNum());
- if (nHdlNum!=2L && nHdlNum!=3L) {
- rDrag.SetEndDragChangesAttributes(TRUE);
+ const SdrHdl* pHdl = rDrag.GetHdl();
+
+ if(pHdl)
+ {
+ const sal_uInt32 nHdlNum(pHdl->GetObjHdlNum());
+
+ if(nHdlNum != 2 && nHdlNum != 3)
+ {
+ rDrag.SetEndDragChangesAttributes(true);
}
- ImpMeasureRec* pMR=new ImpMeasureRec; // #48544#
- ImpTakeAttr(*pMR);
- rDrag.SetUser(pMR);
- }
- return pHdl!=NULL;
-}
-FASTBOOL SdrMeasureObj::MovDrag(SdrDragStat& rDrag) const
-{
- ImpMeasureRec* pMR=(ImpMeasureRec*)rDrag.GetUser();
- if (pMR!=NULL) { // #48544#
- ImpTakeAttr(*pMR);
- ImpEvalDrag(*pMR,rDrag);
+ return true;
}
- return TRUE;
+
+ return false;
}
-FASTBOOL SdrMeasureObj::EndDrag(SdrDragStat& rDrag)
+bool SdrMeasureObj::applySpecialDrag(SdrDragStat& rDrag)
{
- Rectangle aBoundRect0; if (pUserCall!=NULL) aBoundRect0=GetLastBoundRect();
- ImpMeasureRec* pMR=(ImpMeasureRec*)rDrag.GetUser(); // #48544#
- ImpMeasureRec aRec0;
- ImpTakeAttr(aRec0);
- const SdrHdl* pHdl=rDrag.GetHdl();
- sal_uInt32 nHdlNum(pHdl->GetObjHdlNum());
- switch (nHdlNum) {
- case 2: aPt1=pMR->aPt1; SetTextDirty(); break;
- case 3: aPt2=pMR->aPt2; SetTextDirty(); break;
+ ImpMeasureRec aMeasureRec;
+ const SdrHdl* pHdl = rDrag.GetHdl();
+ const sal_uInt32 nHdlNum(pHdl->GetObjHdlNum());
+
+ ImpTakeAttr(aMeasureRec);
+ ImpEvalDrag(aMeasureRec, rDrag);
+
+ switch (nHdlNum)
+ {
+ case 2:
+ {
+ aPt1 = aMeasureRec.aPt1;
+ SetTextDirty();
+ break;
+ }
+ case 3:
+ {
+ aPt2 = aMeasureRec.aPt2;
+ SetTextDirty();
+ break;
+ }
default:
{
switch(nHdlNum)
@@ -908,14 +916,17 @@ FASTBOOL SdrMeasureObj::EndDrag(SdrDragStat& rDrag)
case 0:
case 1:
{
- if(pMR->nHelpline1Len!=aRec0.nHelpline1Len)
+ ImpMeasureRec aOrigMeasureRec;
+ ImpTakeAttr(aOrigMeasureRec);
+
+ if(aMeasureRec.nHelpline1Len != aOrigMeasureRec.nHelpline1Len)
{
- SetObjectItem(SdrMeasureHelpline1LenItem(pMR->nHelpline1Len));
+ SetObjectItem(SdrMeasureHelpline1LenItem(aMeasureRec.nHelpline1Len));
}
- if(pMR->nHelpline2Len!=aRec0.nHelpline2Len)
+ if(aMeasureRec.nHelpline2Len != aOrigMeasureRec.nHelpline2Len)
{
- SetObjectItem(SdrMeasureHelpline2LenItem(pMR->nHelpline2Len));
+ SetObjectItem(SdrMeasureHelpline2LenItem(aMeasureRec.nHelpline2Len));
}
break;
@@ -924,43 +935,30 @@ FASTBOOL SdrMeasureObj::EndDrag(SdrDragStat& rDrag)
case 4:
case 5:
{
- if (pMR->nLineDist!=aRec0.nLineDist)
+ ImpMeasureRec aOrigMeasureRec;
+ ImpTakeAttr(aOrigMeasureRec);
+
+ if(aMeasureRec.nLineDist != aOrigMeasureRec.nLineDist)
{
- SetObjectItem(SdrMeasureLineDistItem(pMR->nLineDist));
+ SetObjectItem(SdrMeasureLineDistItem(aMeasureRec.nLineDist));
}
- if(pMR->bBelowRefEdge!=aRec0.bBelowRefEdge)
+ if(aMeasureRec.bBelowRefEdge != aOrigMeasureRec.bBelowRefEdge)
{
- SetObjectItem(SdrMeasureBelowRefEdgeItem(pMR->bBelowRefEdge));
+ SetObjectItem(SdrMeasureBelowRefEdgeItem(aMeasureRec.bBelowRefEdge));
}
}
}
}
} // switch
- SetRectsDirty();
- // Here is a SetCHanged() missing, object gets changed.
+ SetRectsDirty();
SetChanged();
- BroadcastObjectChange();
-
- if (pMR!=NULL) {
- delete pMR; // #48544#
- rDrag.SetUser(NULL);
- }
- SendUserCall(SDRUSERCALL_RESIZE,aBoundRect0);
- return TRUE;
-}
-void SdrMeasureObj::BrkDrag(SdrDragStat& rDrag) const
-{
- ImpMeasureRec* pMR=(ImpMeasureRec*)rDrag.GetUser();
- if (pMR!=NULL) {
- delete pMR; // #48544#
- rDrag.SetUser(NULL);
- }
+ return true;
}
-XubString SdrMeasureObj::GetDragComment(const SdrDragStat& /*rDrag*/, FASTBOOL /*bUndoDragComment*/, FASTBOOL /*bCreateComment*/) const
+String SdrMeasureObj::getSpecialDragComment(const SdrDragStat& /*rDrag*/) const
{
XubString aStr;
return aStr;
@@ -1034,20 +1032,7 @@ void SdrMeasureObj::ImpEvalDrag(ImpMeasureRec& rRec, const SdrDragStat& rDrag) c
} // switch
}
-basegfx::B2DPolyPolygon SdrMeasureObj::TakeDragPoly(const SdrDragStat& rDrag) const
-{
- basegfx::B2DPolyPolygon aRetval;
- ImpMeasureRec* pMR = (ImpMeasureRec*)rDrag.GetUser(); // #48544#
-
- if(pMR)
- {
- ImpMeasurePoly aMPol;
- ImpCalcGeometrics(*pMR, aMPol);
- aRetval.append(ImpCalcXPoly(aMPol));
- }
-
- return aRetval;
-}
+////////////////////////////////////////////////////////////////////////////////////////////////////
FASTBOOL SdrMeasureObj::BegCreate(SdrDragStat& rStat)
{