summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/svx/svdmodel.hxx8
-rw-r--r--svx/source/svdraw/svddrgmt.cxx57
-rw-r--r--svx/source/svdraw/svdmodel.cxx81
-rw-r--r--svx/source/svdraw/svdobj.cxx17
-rw-r--r--svx/source/svdraw/svdomeas.cxx10
-rw-r--r--svx/source/svdraw/svdopath.cxx77
6 files changed, 84 insertions, 166 deletions
diff --git a/include/svx/svdmodel.hxx b/include/svx/svdmodel.hxx
index b30493328d24..91df6466d5be 100644
--- a/include/svx/svdmodel.hxx
+++ b/include/svx/svdmodel.hxx
@@ -352,10 +352,10 @@ public:
// Setting both simultaneously performs a little better
void SetUIUnit(FieldUnit eUnit, const Fraction& rScale);
- static void TakeUnitStr(FieldUnit eUnit, OUString& rStr);
- void TakeMetricStr(long nVal, OUString& rStr, bool bNoUnitChars = false, sal_Int32 nNumDigits = -1) const;
- static void TakeAngleStr(long nAngle, OUString& rStr);
- static void TakePercentStr(const Fraction& rVal, OUString& rStr);
+ static OUString GetUnitString(FieldUnit eUnit);
+ OUString GetMetricString(long nVal, bool bNoUnitChars = false, sal_Int32 nNumDigits = -1) const;
+ static OUString GetAngleString(long nAngle);
+ static OUString GetPercentString(const Fraction& rVal);
// RecalcPageNums is ordinarily only called by the Page.
bool IsPagNumsDirty() const { return bPagNumsDirty; };
diff --git a/svx/source/svdraw/svddrgmt.cxx b/svx/source/svdraw/svddrgmt.cxx
index 3ba7c41b8b6b..4a93aa1fd2fd 100644
--- a/svx/source/svdraw/svddrgmt.cxx
+++ b/svx/source/svdraw/svddrgmt.cxx
@@ -1482,14 +1482,12 @@ SdrDragMove::SdrDragMove(SdrDragView& rNewView)
void SdrDragMove::TakeSdrDragComment(OUString& rStr) const
{
- OUString aStr;
-
ImpTakeDescriptionStr(STR_DragMethMove, rStr);
- rStr += " (x=";
- getSdrDragView().GetModel()->TakeMetricStr(DragStat().GetDX(), aStr);
- rStr += aStr + " y=";
- getSdrDragView().GetModel()->TakeMetricStr(DragStat().GetDY(), aStr);
- rStr += aStr + ")";
+ rStr += " (x="
+ + getSdrDragView().GetModel()->GetMetricString(DragStat().GetDX())
+ + " y="
+ + getSdrDragView().GetModel()->GetMetricString(DragStat().GetDY())
+ + ")";
if(getSdrDragView().IsDragWithCopy())
{
@@ -1753,8 +1751,6 @@ void SdrDragResize::TakeSdrDragComment(OUString& rStr) const
if(bX || bY)
{
- OUString aStr;
-
rStr += " (";
bool bEqual(aXFact == aYFact);
@@ -1763,8 +1759,7 @@ void SdrDragResize::TakeSdrDragComment(OUString& rStr) const
if(!bEqual)
rStr += "x=";
- SdrModel::TakePercentStr(aXFact, aStr);
- rStr += aStr;
+ rStr += SdrModel::GetPercentString(aXFact);
}
if(bY && !bEqual)
@@ -1772,9 +1767,7 @@ void SdrDragResize::TakeSdrDragComment(OUString& rStr) const
if(bX)
rStr += " ";
- rStr += "y=";
- SdrModel::TakePercentStr(aYFact, aStr);
- rStr += aStr;
+ rStr += "y=" + SdrModel::GetPercentString(aYFact);
}
rStr += ")";
@@ -2085,9 +2078,7 @@ void SdrDragRotate::TakeSdrDragComment(OUString& rStr) const
nTmpAngle -= 36000;
}
- OUString aStr;
- SdrModel::TakeAngleStr(nTmpAngle, aStr);
- rStr += aStr + ")";
+ rStr += SdrModel::GetAngleString(nTmpAngle) + ")";
if(getSdrDragView().IsDragWithCopy())
rStr += ImpGetResStr(STR_EditWithCopy);
@@ -2228,9 +2219,7 @@ void SdrDragShear::TakeSdrDragComment(OUString& rStr) const
nTmpAngle = NormAngle180(nTmpAngle);
- OUString aStr;
- SdrModel::TakeAngleStr(nTmpAngle, aStr);
- rStr += aStr + ")";
+ rStr += SdrModel::GetAngleString(nTmpAngle) + ")";
if(getSdrDragView().IsDragWithCopy())
rStr += ImpGetResStr(STR_EditWithCopy);
@@ -2804,9 +2793,7 @@ void SdrDragCrook::TakeSdrDragComment(OUString& rStr) const
nVal *= 2;
nVal = std::abs(nVal);
- OUString aStr;
- SdrModel::TakeAngleStr(nVal, aStr);
- rStr += aStr + ")";
+ rStr += SdrModel::GetAngleString(nVal) + ")";
}
if(getSdrDragView().IsDragWithCopy())
@@ -3414,13 +3401,11 @@ void SdrDragDistort::TakeSdrDragComment(OUString& rStr) const
{
ImpTakeDescriptionStr(STR_DragMethDistort, rStr);
- OUString aStr;
-
- rStr += " (x=";
- getSdrDragView().GetModel()->TakeMetricStr(DragStat().GetDX(), aStr);
- rStr += aStr + " y=";
- getSdrDragView().GetModel()->TakeMetricStr(DragStat().GetDY(), aStr);
- rStr += aStr + ")";
+ rStr += " (x="
+ + getSdrDragView().GetModel()->GetMetricString(DragStat().GetDX())
+ + " y="
+ + getSdrDragView().GetModel()->GetMetricString(DragStat().GetDY())
+ + ")";
if(getSdrDragView().IsDragWithCopy())
rStr += ImpGetResStr(STR_EditWithCopy);
@@ -3564,13 +3549,11 @@ void SdrDragCrop::TakeSdrDragComment(OUString& rStr) const
{
ImpTakeDescriptionStr(STR_DragMethCrop, rStr);
- OUString aStr;
-
- rStr += " (x=";
- getSdrDragView().GetModel()->TakeMetricStr(DragStat().GetDX(), aStr);
- rStr += aStr + " y=";
- getSdrDragView().GetModel()->TakeMetricStr(DragStat().GetDY(), aStr);
- rStr += aStr + ")";
+ rStr += " (x="
+ + getSdrDragView().GetModel()->GetMetricString(DragStat().GetDX())
+ + " y="
+ + getSdrDragView().GetModel()->GetMetricString(DragStat().GetDY())
+ + ")";
if(getSdrDragView().IsDragWithCopy())
rStr += ImpGetResStr(STR_EditWithCopy);
diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx
index 2ae0fe62856f..03330c13720c 100644
--- a/svx/source/svdraw/svdmodel.cxx
+++ b/svx/source/svdraw/svdmodel.cxx
@@ -1005,7 +1005,7 @@ void SdrModel::ImpSetUIUnit()
// end preparations, set member values
aUIUnitFact = Fraction(sal_Int32(nMul), sal_Int32(nDiv));
- TakeUnitStr(eUIUnit, aUIUnitStr);
+ aUIUnitStr = GetUnitString(eUIUnit);
}
void SdrModel::SetScaleUnit(MapUnit eMap, const Fraction& rFrac)
@@ -1072,81 +1072,42 @@ void SdrModel::SetUIUnit(FieldUnit eUnit, const Fraction& rScale)
}
}
-void SdrModel::TakeUnitStr(FieldUnit eUnit, OUString& rStr)
+OUString SdrModel::GetUnitString(FieldUnit eUnit)
{
switch(eUnit)
{
default:
case FUNIT_NONE :
case FUNIT_CUSTOM :
- {
- rStr.clear();
- break;
- }
+ return OUString();
case FUNIT_100TH_MM:
- {
- rStr = "/100mm";
- break;
- }
+ return OUString{"/100mm"};
case FUNIT_MM :
- {
- rStr = "mm";
- break;
- }
+ return OUString{"mm"};
case FUNIT_CM :
- {
- rStr = "cm";
- break;
- }
+ return OUString{"cm"};
case FUNIT_M :
- {
- rStr = "m";
- break;
- }
+ return OUString{"m"};
case FUNIT_KM :
- {
- rStr ="km";
- break;
- }
+ return OUString{"km"};
case FUNIT_TWIP :
- {
- rStr = "twip";
- break;
- }
+ return OUString{"twip"};
case FUNIT_POINT :
- {
- rStr = "pt";
- break;
- }
+ return OUString{"pt"};
case FUNIT_PICA :
- {
- rStr = "pica";
- break;
- }
+ return OUString{"pica"};
case FUNIT_INCH :
- {
- rStr = "\"";
- break;
- }
+ return OUString{"\""};
case FUNIT_FOOT :
- {
- rStr = "ft";
- break;
- }
+ return OUString{"ft"};
case FUNIT_MILE :
- {
- rStr = "mile(s)";
- break;
- }
+ return OUString{"mile(s)"};
case FUNIT_PERCENT:
- {
- rStr = "%";
- break;
- }
+ return OUString{"%"};
}
}
-void SdrModel::TakeMetricStr(long nVal, OUString& rStr, bool bNoUnitChars, sal_Int32 nNumDigits) const
+OUString SdrModel::GetMetricString(long nVal, bool bNoUnitChars, sal_Int32 nNumDigits) const
{
// #i22167#
// change to double precision usage to not lose decimal places
@@ -1265,10 +1226,10 @@ void SdrModel::TakeMetricStr(long nVal, OUString& rStr, bool bNoUnitChars, sal_I
if(!bNoUnitChars)
aBuf.append(aUIUnitStr);
- rStr = aBuf.makeStringAndClear();
+ return aBuf.makeStringAndClear();
}
-void SdrModel::TakeAngleStr(long nAngle, OUString& rStr)
+OUString SdrModel::GetAngleString(long nAngle)
{
bool bNeg = nAngle < 0;
@@ -1295,10 +1256,10 @@ void SdrModel::TakeAngleStr(long nAngle, OUString& rStr)
aBuf.append(DEGREE_CHAR);
- rStr = aBuf.makeStringAndClear();
+ return aBuf.makeStringAndClear();
}
-void SdrModel::TakePercentStr(const Fraction& rVal, OUString& rStr)
+OUString SdrModel::GetPercentString(const Fraction& rVal)
{
sal_Int32 nMul(rVal.GetNumerator());
sal_Int32 nDiv(rVal.GetDenominator());
@@ -1321,7 +1282,7 @@ void SdrModel::TakePercentStr(const Fraction& rVal, OUString& rStr)
if (bNeg)
nPct = -nPct;
- rStr = OUString::number(nPct) + "%";
+ return OUString::number(nPct) + "%";
}
void SdrModel::SetChanged(bool bFlg)
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index 32a73f6a5fe6..2f36f79853fa 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -1042,20 +1042,17 @@ void SdrObject::ImpForcePlusData()
OUString SdrObject::GetAngleStr(long nAngle) const
{
- OUString aStr;
- if (pModel!=nullptr) {
- SdrModel::TakeAngleStr(nAngle,aStr);
- }
- return aStr;
+ if (pModel!=nullptr)
+ return SdrModel::GetAngleString(nAngle);
+
+ return OUString();
}
OUString SdrObject::GetMetrStr(long nVal) const
{
- OUString aStr;
- if (pModel!=nullptr) {
- pModel->TakeMetricStr(nVal,aStr);
- }
- return aStr;
+ if (pModel!=nullptr)
+ return pModel->GetMetricString(nVal);
+ return OUString();
}
basegfx::B2DPolyPolygon SdrObject::TakeXorPoly() const
diff --git a/svx/source/svdraw/svdomeas.cxx b/svx/source/svdraw/svdomeas.cxx
index 78b77fc5509b..fa6cc17cac2f 100644
--- a/svx/source/svdraw/svdomeas.cxx
+++ b/svx/source/svdraw/svdomeas.cxx
@@ -121,14 +121,14 @@ OUString SdrMeasureObj::TakeRepresentation(SdrMeasureFieldKind eMeasureFieldKind
nLen = BigMulDiv(nLen, aFact.GetNumerator(), aFact.GetDenominator());
}
- OUString aTmp;
- pModel->TakeMetricStr(nLen, aTmp, true, nNumDigits);
- aStr = aTmp;
-
if(!aFact.IsValid())
{
aStr = "?";
}
+ else
+ {
+ aStr = pModel->GetMetricString(nLen, true, nNumDigits);
+ }
SvtSysLocale aSysLocale;
const LocaleDataWrapper& rLocaleDataWrapper = aSysLocale.GetLocaleData();
@@ -175,7 +175,7 @@ OUString SdrMeasureObj::TakeRepresentation(SdrMeasureFieldKind eMeasureFieldKind
eMeasureUnit = eModUIUnit;
if(bShowUnit)
- SdrModel::TakeUnitStr(eMeasureUnit, aStr);
+ aStr = SdrModel::GetUnitString(eMeasureUnit);
}
}
diff --git a/svx/source/svdraw/svdopath.cxx b/svx/source/svdraw/svdopath.cxx
index b71e20f92a94..b883abdf1d00 100644
--- a/svx/source/svdraw/svdopath.cxx
+++ b/svx/source/svdraw/svdopath.cxx
@@ -937,36 +937,26 @@ OUString ImpPathForDragAndCreate::getSpecialDragComment(const SdrDragStat& rDrag
aNow -= aPrev;
aStr += " (";
- OUString aMetr;
-
if(pU->bCircle)
{
- SdrModel::TakeAngleStr(std::abs(pU->nCircRelAngle), aMetr);
- aStr += aMetr;
- aStr += " r=";
- mrSdrPathObject.GetModel()->TakeMetricStr(pU->nCircRadius, aMetr, true);
- aStr += aMetr;
+ aStr += SdrModel::GetAngleString(std::abs(pU->nCircRelAngle))
+ + " r="
+ + mrSdrPathObject.GetModel()->GetMetricString(pU->nCircRadius, true);
}
- aStr += "dx=";
- mrSdrPathObject.GetModel()->TakeMetricStr(aNow.X(), aMetr, true);
- aStr += aMetr;
-
- aStr += " dy=";
- mrSdrPathObject.GetModel()->TakeMetricStr(aNow.Y(), aMetr, true);
- aStr += aMetr;
+ aStr += "dx="
+ + mrSdrPathObject.GetModel()->GetMetricString(aNow.X(), true)
+ + " dy="
+ + mrSdrPathObject.GetModel()->GetMetricString(aNow.Y(), true);
if(!IsFreeHand(meObjectKind))
{
sal_Int32 nLen(GetLen(aNow));
- aStr += " l=";
- mrSdrPathObject.GetModel()->TakeMetricStr(nLen, aMetr, true);
- aStr += aMetr;
-
sal_Int32 nAngle(GetAngle(aNow));
- aStr += " ";
- SdrModel::TakeAngleStr(nAngle, aMetr);
- aStr += aMetr;
+ aStr += " l="
+ + mrSdrPathObject.GetModel()->GetMetricString(nLen, true)
+ + " "
+ + SdrModel::GetAngleString(nAngle);
}
aStr += ")";
@@ -1016,18 +1006,14 @@ OUString ImpPathForDragAndCreate::getSpecialDragComment(const SdrDragStat& rDrag
// dx=0.00 dy=0.00 -- both sides bezier
// dx=0.00 dy=0.00 l=0.00 0.00\302\260 -- one bezier/lever on one side, a start, or an ending
// dx=0.00 dy=0.00 l=0.00 0.00\302\260 / l=0.00 0.00\302\260 -- in between
- OUString aMetr;
Point aBeg(rDrag.GetStart());
Point aNow(rDrag.GetNow());
aStr.clear();
- aStr += "dx=";
- mrSdrPathObject.GetModel()->TakeMetricStr(aNow.X() - aBeg.X(), aMetr, true);
- aStr += aMetr;
-
- aStr += " dy=";
- mrSdrPathObject.GetModel()->TakeMetricStr(aNow.Y() - aBeg.Y(), aMetr, true);
- aStr += aMetr;
+ aStr += "dx="
+ + mrSdrPathObject.GetModel()->GetMetricString(aNow.X() - aBeg.X(), true)
+ + " dy="
+ + mrSdrPathObject.GetModel()->GetMetricString(aNow.Y() - aBeg.Y(), true);
if(!pDragData->IsMultiPointDrag())
{
@@ -1052,14 +1038,11 @@ OUString ImpPathForDragAndCreate::getSpecialDragComment(const SdrDragStat& rDrag
aNow -= rXPoly[nRef];
sal_Int32 nLen(GetLen(aNow));
- aStr += " l=";
- mrSdrPathObject.GetModel()->TakeMetricStr(nLen, aMetr, true);
- aStr += aMetr;
-
sal_Int32 nAngle(GetAngle(aNow));
- aStr += " ";
- SdrModel::TakeAngleStr(nAngle, aMetr);
- aStr += aMetr;
+ aStr += " l="
+ + mrSdrPathObject.GetModel()->GetMetricString(nLen, true)
+ + " "
+ + SdrModel::GetAngleString(nAngle);
}
else if(nPointCount > 1)
{
@@ -1098,14 +1081,11 @@ OUString ImpPathForDragAndCreate::getSpecialDragComment(const SdrDragStat& rDrag
aPt -= rXPoly[nPt1];
sal_Int32 nLen(GetLen(aPt));
- aStr += " l=";
- mrSdrPathObject.GetModel()->TakeMetricStr(nLen, aMetr, true);
- aStr += aMetr;
-
sal_Int32 nAngle(GetAngle(aPt));
- aStr += " ";
- SdrModel::TakeAngleStr(nAngle, aMetr);
- aStr += aMetr;
+ aStr += " l="
+ + mrSdrPathObject.GetModel()->GetMetricString(nLen, true)
+ + " "
+ + SdrModel::GetAngleString(nAngle);
}
if(bPt2)
@@ -1119,14 +1099,11 @@ OUString ImpPathForDragAndCreate::getSpecialDragComment(const SdrDragStat& rDrag
aPt -= rXPoly[nPt2];
sal_Int32 nLen(GetLen(aPt));
- aStr += "l=";
- mrSdrPathObject.GetModel()->TakeMetricStr(nLen, aMetr, true);
- aStr += aMetr;
-
sal_Int32 nAngle(GetAngle(aPt));
- aStr += " ";
- SdrModel::TakeAngleStr(nAngle, aMetr);
- aStr += aMetr;
+ aStr += "l="
+ + mrSdrPathObject.GetModel()->GetMetricString(nLen, true)
+ + " "
+ + SdrModel::GetAngleString(nAngle);
}
}
}