Kaydet (Commit) 30b646a4 authored tarafından Artur Dorda's avatar Artur Dorda Kaydeden (comit) Markus Mohrhard

Added Equations & Handles properties

Change-Id: I7912399d2864c964483bbbbc0a6afac3bfa64f66
üst 1579148e
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
*/ */
#include <libxml/xmlwriter.h> #include <libxml/xmlwriter.h>
#include <drawinglayer/drawinglayerdllapi.h> #include <drawinglayer/drawinglayerdllapi.h>
#include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp> #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
...@@ -38,6 +39,7 @@ ...@@ -38,6 +39,7 @@
#include <com/sun/star/awt/Rectangle.hpp> #include <com/sun/star/awt/Rectangle.hpp>
#include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp> #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
#include <com/sun/star/beans/PropertyValue.hpp> #include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/beans/PropertyValues.hpp>
#ifndef EnhancedShapeDumper_hxx #ifndef EnhancedShapeDumper_hxx
#define EnhancedShapeDumper_hxx #define EnhancedShapeDumper_hxx
...@@ -94,6 +96,8 @@ public: ...@@ -94,6 +96,8 @@ public:
void dumpExtrusionAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aExtrusion); void dumpExtrusionAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aExtrusion);
void dumpPathAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aPath); void dumpPathAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aPath);
void dumpTextPathAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aTextPath); void dumpTextPathAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aTextPath);
void dumpEquationsAsElement(com::sun::star::uno::Sequence< rtl::OUString > aEquations);
void dumpHandlesAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValues > aHandles);
private: private:
xmlTextWriterPtr xmlWriter; xmlTextWriterPtr xmlWriter;
......
...@@ -451,6 +451,18 @@ void EnhancedShapeDumper::dumpEnhancedCustomShapeGeometryService(uno::Reference< ...@@ -451,6 +451,18 @@ void EnhancedShapeDumper::dumpEnhancedCustomShapeGeometryService(uno::Reference<
if(anotherAny >>= aTextPath) if(anotherAny >>= aTextPath)
dumpTextPathAsElement(aTextPath); dumpTextPathAsElement(aTextPath);
} }
{
uno::Any anotherAny = xPropSet->getPropertyValue("Equations");
uno::Sequence< rtl::OUString > aEquations;
if(anotherAny >>= aEquations)
dumpEquationsAsElement(aEquations);
}
{
uno::Any anotherAny = xPropSet->getPropertyValue("Handles");
uno::Sequence< beans::PropertyValues > aHandles;
if(anotherAny >>= aHandles)
dumpHandlesAsElement(aHandles);
}
} }
void EnhancedShapeDumper::dumpTypeAsAttribute(rtl::OUString sType) void EnhancedShapeDumper::dumpTypeAsAttribute(rtl::OUString sType)
{ {
...@@ -587,3 +599,36 @@ void EnhancedShapeDumper::dumpTextPathAsElement(uno::Sequence< beans::PropertyVa ...@@ -587,3 +599,36 @@ void EnhancedShapeDumper::dumpTextPathAsElement(uno::Sequence< beans::PropertyVa
xmlTextWriterEndElement( xmlWriter ); xmlTextWriterEndElement( xmlWriter );
} }
void EnhancedShapeDumper::dumpEquationsAsElement(uno::Sequence< rtl::OUString > aEquations)
{
xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Equations" ));
sal_Int32 nLength = aEquations.getLength();
for (sal_Int32 i = 0; i < nLength; ++i)
{
xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("name"), "%s",
rtl::OUStringToOString(aEquations[i], RTL_TEXTENCODING_UTF8).getStr());
}
xmlTextWriterEndElement( xmlWriter );
}
// PropertyValues specifies a sequence of PropertyValue instances.
// so in this case it's a Sequence of a Sequence of a PropertyValue instances.
// Welcome to Sequenception again.
void EnhancedShapeDumper::dumpHandlesAsElement(uno::Sequence< beans::PropertyValues > aHandles)
{
xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Handles" ));
sal_Int32 nSequenceLength = aHandles.getLength();
for (sal_Int32 i = 0; i < nSequenceLength; ++i)
{
xmlTextWriterStartElement(xmlWriter, BAD_CAST( "PropertyValues" ));
uno::Sequence< beans::PropertyValue > propertyValueSequence = aHandles[i];
sal_Int32 nLength = propertyValueSequence.getLength();
for (sal_Int32 j = 0; j < nLength; ++j)
{
dumpPropertyValueAsElement(propertyValueSequence[j]);
}
xmlTextWriterEndElement( xmlWriter );
}
xmlTextWriterEndElement( xmlWriter );
}
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