Kaydet (Commit) 24f51d31 authored tarafından Markus Mohrhard's avatar Markus Mohrhard Kaydeden (comit) Markus Mohrhard

text position for legend improvements

Change-Id: I06d8baf8cfe59999cd6b417fc6e70c1bd6eede27
üst a5e48409
...@@ -332,13 +332,18 @@ class DummyText : public DummyXShape ...@@ -332,13 +332,18 @@ class DummyText : public DummyXShape
{ {
public: public:
DummyText(const OUString& rText, const tNameSequence& rNames, DummyText(const OUString& rText, const tNameSequence& rNames,
const tAnySequence& rValues, const uno::Any& rTrans ); const tAnySequence& rValues, const uno::Any& rTrans, com::sun::star::uno::Reference<
com::sun::star::drawing::XShapes > xTarget);
virtual void render() SAL_OVERRIDE; virtual void render() SAL_OVERRIDE;
virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition ) throw(::com::sun::star::uno::RuntimeException);
private: private:
void setTransformatAsProperty(const com::sun::star::drawing::HomogenMatrix3& rMatrix);
OUString maText; OUString maText;
uno::Any maTrans; uno::Any maTrans;
BitmapEx maBitmap; BitmapEx maBitmap;
......
...@@ -714,7 +714,7 @@ private: ...@@ -714,7 +714,7 @@ private:
} }
DummyText::DummyText(const OUString& rText, const tNameSequence& rNames, DummyText::DummyText(const OUString& rText, const tNameSequence& rNames,
const tAnySequence& rValues, const uno::Any& rTrans ): const tAnySequence& rValues, const uno::Any& rTrans, uno::Reference< drawing::XShapes > xTarget ):
maText(rText), maText(rText),
maTrans(rTrans) maTrans(rTrans)
{ {
...@@ -744,12 +744,25 @@ DummyText::DummyText(const OUString& rText, const tNameSequence& rNames, ...@@ -744,12 +744,25 @@ DummyText::DummyText(const OUString& rText, const tNameSequence& rNames,
setPosition(awt::Point(aTrans.Line1.Column3, aTrans.Line2.Column3)); setPosition(awt::Point(aTrans.Line1.Column3, aTrans.Line2.Column3));
aTrans.Line1.Column1 = 20 * bmpWidth; aTrans.Line1.Column1 = 20 * bmpWidth;
aTrans.Line2.Column2 = 20 * bmpHeight; aTrans.Line2.Column2 = 20 * bmpHeight;
uno::Any aNewTrans; setTransformatAsProperty(aTrans);
aNewTrans <<= aTrans;
setPropertyValue("Transformation", aNewTrans);
} }
else else
{
setSize(awt::Size(20*bmpWidth, 20*bmpHeight)); setSize(awt::Size(20*bmpWidth, 20*bmpHeight));
uno::Reference< drawing::XShape > xTargetShape(xTarget, uno::UNO_QUERY);
drawing::HomogenMatrix3 aTrans;
aTrans.Line1.Column1 = 20 * bmpWidth;
aTrans.Line2.Column2 = 20 * bmpHeight;
aTrans.Line3.Column3 = 1;
if(xTargetShape.is())
{
const awt::Point rPoint = xTargetShape->getPosition();
setPosition(rPoint);
aTrans.Line1.Column3 = rPoint.X;
aTrans.Line2.Column3 = rPoint.Y;
}
setTransformatAsProperty(aTrans);
}
} }
void DummyText::render() void DummyText::render()
...@@ -788,6 +801,34 @@ void DummyText::setPropertyValue( const OUString& rName, const uno::Any& rValue) ...@@ -788,6 +801,34 @@ void DummyText::setPropertyValue( const OUString& rName, const uno::Any& rValue)
DummyXShape::setPropertyValue(rName, rValue); DummyXShape::setPropertyValue(rName, rValue);
} }
void DummyText::setPosition(const awt::Point& rPosition )
throw(uno::RuntimeException)
{
DummyXShape::setPosition(rPosition);
if(maTrans.hasValue())
return;
std::map<OUString, uno::Any>::const_iterator itr =
maProperties.find("Transformation");
if(itr != maProperties.end())
{
if(itr->second.hasValue())
{
drawing::HomogenMatrix3 aTrans = itr->second.get<drawing::HomogenMatrix3>();
aTrans.Line1.Column3 = rPosition.X;
aTrans.Line2.Column3 = rPosition.Y;
setTransformatAsProperty(aTrans);
}
}
}
void DummyText::setTransformatAsProperty(const drawing::HomogenMatrix3& rMatrix)
{
uno::Any aNewTrans;
aNewTrans <<= rMatrix;
setPropertyValue("Transformation", aNewTrans);
}
DummyFormattedText::DummyFormattedText(uno::Sequence< uno::Reference< DummyFormattedText::DummyFormattedText(uno::Sequence< uno::Reference<
chart2::XFormattedString > >& rFormattedString): chart2::XFormattedString > >& rFormattedString):
maFormattedString(rFormattedString) maFormattedString(rFormattedString)
......
...@@ -401,7 +401,7 @@ uno::Reference< drawing::XShape > ...@@ -401,7 +401,7 @@ uno::Reference< drawing::XShape >
, const uno::Any& rATransformation ) , const uno::Any& rATransformation )
{ {
dummy::DummyText* pText = new dummy::DummyText( rText, rPropNames, rPropValues, dummy::DummyText* pText = new dummy::DummyText( rText, rPropNames, rPropValues,
rATransformation ); rATransformation, xTarget );
xTarget->add(pText); xTarget->add(pText);
return pText; return pText;
} }
......
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