summaryrefslogtreecommitdiff
path: root/chart2/source/view/main/ChartView.cxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-09-19 11:23:14 -0400
committerKohei Yoshida <kohei.yoshida@collabora.com>2014-09-19 13:46:08 -0400
commitb26b1f79b70fb0f7ee049033039925854259f227 (patch)
treeabc4bbf8c99e1e428511b3a52e1f827c45c451f5 /chart2/source/view/main/ChartView.cxx
parent6d0592b40ec8c6f7e36b58a21efc78927ceaa012 (diff)
Reduce scope by early bailout.
Change-Id: Icd344caf6e52ef568361078455d4e8d5cf0d40a8
Diffstat (limited to 'chart2/source/view/main/ChartView.cxx')
-rw-r--r--chart2/source/view/main/ChartView.cxx144
1 files changed, 74 insertions, 70 deletions
diff --git a/chart2/source/view/main/ChartView.cxx b/chart2/source/view/main/ChartView.cxx
index 93a9b8727269..9e7519094076 100644
--- a/chart2/source/view/main/ChartView.cxx
+++ b/chart2/source/view/main/ChartView.cxx
@@ -2232,82 +2232,86 @@ boost::shared_ptr<VTitle> lcl_createTitle( TitleHelper::eTitleType eType
}
uno::Reference< XTitle > xTitle( TitleHelper::getTitle( eType, rModel ) );
- OUString aCompleteString( TitleHelper::getCompleteString( xTitle ) );
- if( !aCompleteString.isEmpty() )
- {
- //create title
- apVTitle.reset(new VTitle(xTitle));
- OUString aCID( ObjectIdentifier::createClassifiedIdentifierForObject( xTitle, rModel ) );
- apVTitle->init(xPageShapes,xShapeFactory,aCID);
- apVTitle->createShapes( awt::Point(0,0), rPageSize );
- awt::Size aTitleUnrotatedSize = apVTitle->getUnrotatedSize();
- awt::Size aTitleSize = apVTitle->getFinalSize();
-
- //position
- rbAutoPosition=true;
- awt::Point aNewPosition(0,0);
- chart2::RelativePosition aRelativePosition;
- uno::Reference< beans::XPropertySet > xProp(xTitle, uno::UNO_QUERY);
- if( xProp.is() && (xProp->getPropertyValue( "RelativePosition" )>>=aRelativePosition) )
- {
- rbAutoPosition = false;
+ OUString aCompleteString = TitleHelper::getCompleteString(xTitle);
+ if (aCompleteString.isEmpty())
+ return apVTitle;
+
+ //create title
+ apVTitle.reset(new VTitle(xTitle));
+ OUString aCID = ObjectIdentifier::createClassifiedIdentifierForObject(xTitle, rModel);
+ apVTitle->init(xPageShapes, xShapeFactory, aCID);
+ apVTitle->createShapes(awt::Point(0,0), rPageSize);
+ awt::Size aTitleUnrotatedSize = apVTitle->getUnrotatedSize();
+ awt::Size aTitleSize = apVTitle->getFinalSize();
+
+ //position
+ rbAutoPosition = true;
+ awt::Point aNewPosition(0,0);
+ chart2::RelativePosition aRelativePosition;
+ uno::Reference<beans::XPropertySet> xProp(xTitle, uno::UNO_QUERY);
+ if (xProp.is() && (xProp->getPropertyValue("RelativePosition") >>= aRelativePosition))
+ {
+ rbAutoPosition = false;
- //@todo decide whether x is primary or secondary
- double fX = aRelativePosition.Primary*rPageSize.Width;
- double fY = aRelativePosition.Secondary*rPageSize.Height;
+ //@todo decide whether x is primary or secondary
+ double fX = aRelativePosition.Primary*rPageSize.Width;
+ double fY = aRelativePosition.Secondary*rPageSize.Height;
- double fAnglePi = apVTitle->getRotationAnglePi();
- aNewPosition = RelativePositionHelper::getCenterOfAnchoredObject(
- awt::Point(static_cast<sal_Int32>(fX),static_cast<sal_Int32>(fY))
- , aTitleUnrotatedSize, aRelativePosition.Anchor, fAnglePi );
- }
- else //auto position
+ double fAnglePi = apVTitle->getRotationAnglePi();
+ aNewPosition = RelativePositionHelper::getCenterOfAnchoredObject(
+ awt::Point(static_cast<sal_Int32>(fX),static_cast<sal_Int32>(fY))
+ , aTitleUnrotatedSize, aRelativePosition.Anchor, fAnglePi );
+ }
+ else //auto position
+ {
+ switch( eAlignment )
{
- switch( eAlignment )
- {
- case ALIGN_TOP:
- aNewPosition = awt::Point( rRemainingSpace.X + rRemainingSpace.Width/2
- , rRemainingSpace.Y + aTitleSize.Height/2 + nYDistance );
- break;
- case ALIGN_BOTTOM:
- aNewPosition = awt::Point( rRemainingSpace.X + rRemainingSpace.Width/2
- , rRemainingSpace.Y + rRemainingSpace.Height - aTitleSize.Height/2 - nYDistance );
- break;
- case ALIGN_LEFT:
- aNewPosition = awt::Point( rRemainingSpace.X + aTitleSize.Width/2 + nXDistance
- , rRemainingSpace.Y + rRemainingSpace.Height/2 );
- break;
- case ALIGN_RIGHT:
- aNewPosition = awt::Point( rRemainingSpace.X + rRemainingSpace.Width - aTitleSize.Width/2 - nXDistance
- , rRemainingSpace.Y + rRemainingSpace.Height/2 );
- break;
- default:
- break;
+ case ALIGN_TOP:
+ aNewPosition = awt::Point( rRemainingSpace.X + rRemainingSpace.Width/2
+ , rRemainingSpace.Y + aTitleSize.Height/2 + nYDistance );
+ break;
+ case ALIGN_BOTTOM:
+ aNewPosition = awt::Point( rRemainingSpace.X + rRemainingSpace.Width/2
+ , rRemainingSpace.Y + rRemainingSpace.Height - aTitleSize.Height/2 - nYDistance );
+ break;
+ case ALIGN_LEFT:
+ aNewPosition = awt::Point( rRemainingSpace.X + aTitleSize.Width/2 + nXDistance
+ , rRemainingSpace.Y + rRemainingSpace.Height/2 );
+ break;
+ case ALIGN_RIGHT:
+ aNewPosition = awt::Point( rRemainingSpace.X + rRemainingSpace.Width - aTitleSize.Width/2 - nXDistance
+ , rRemainingSpace.Y + rRemainingSpace.Height/2 );
+ break;
+ default:
+ break;
- }
}
- apVTitle->changePosition( aNewPosition );
+ }
+ apVTitle->changePosition( aNewPosition );
- //remaining space
- switch( eAlignment )
- {
- case ALIGN_TOP:
- rRemainingSpace.Y += ( aTitleSize.Height + nYDistance );
- rRemainingSpace.Height -= ( aTitleSize.Height + nYDistance );
- break;
- case ALIGN_BOTTOM:
- rRemainingSpace.Height -= ( aTitleSize.Height + nYDistance );
- break;
- case ALIGN_LEFT:
- rRemainingSpace.X += ( aTitleSize.Width + nXDistance );
- rRemainingSpace.Width -= ( aTitleSize.Width + nXDistance );
- break;
- case ALIGN_RIGHT:
- rRemainingSpace.Width -= ( aTitleSize.Width + nXDistance );
- break;
- default:
- break;
- }
+ //remaining space
+ switch( eAlignment )
+ {
+ case ALIGN_TOP:
+ // Push the remaining space down from top.
+ rRemainingSpace.Y += ( aTitleSize.Height + nYDistance );
+ rRemainingSpace.Height -= ( aTitleSize.Height + nYDistance );
+ break;
+ case ALIGN_BOTTOM:
+ // Push the remaining space up from bottom.
+ rRemainingSpace.Height -= ( aTitleSize.Height + nYDistance );
+ break;
+ case ALIGN_LEFT:
+ // Push the remaining space to the right from left edge.
+ rRemainingSpace.X += ( aTitleSize.Width + nXDistance );
+ rRemainingSpace.Width -= ( aTitleSize.Width + nXDistance );
+ break;
+ case ALIGN_RIGHT:
+ // Push the remaining space to the left from right edge.
+ rRemainingSpace.Width -= ( aTitleSize.Width + nXDistance );
+ break;
+ default:
+ break;
}
return apVTitle;