[Libreoffice-commits] core.git: Branch 'feature/smartart-persistence' - 4 commits - drawinglayer/source include/editeng include/oox include/sal include/svl include/svx offapi/com oox/source qadevOOo/objdsc svx/source

Andres Gomez agomez at igalia.com
Wed Sep 4 17:16:58 PDT 2013


Rebased ref, commits from common ancestor:
commit 932d8ac094ef50f374fe974dd3a48ae16fc0e962
Author: Andres Gomez <agomez at igalia.com>
Date:   Tue Sep 3 11:13:22 2013 +0300

    oox: added XDocuments and interfaces to the Diagram class
    
    Change-Id: I22bb41a5695c7026dbdd4dea8a73cbb49e29acd7

diff --git a/include/oox/drawingml/shape.hxx b/include/oox/drawingml/shape.hxx
index 94c8342..def3df8 100644
--- a/include/oox/drawingml/shape.hxx
+++ b/include/oox/drawingml/shape.hxx
@@ -174,6 +174,9 @@ public:
     void                addExtDrawingRelId( const OUString &rRelId ) { maExtDrawings.push_back( rRelId ); }
     void                setLockedCanvas(bool bLockedCanvas);
     bool                getLockedCanvas();
+    const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> &
+                        getDiagramDoms() { return maDiagramDoms; }
+    void                setDiagramDoms(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> &);
 
 protected:
 
@@ -265,6 +268,8 @@ private:
                                                          // we need separate flag because we don't want
                                                          // to propagate it when applying reference shape
     bool mbLockedCanvas; ///< Is this shape part of a locked canvas?
+
+    com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> maDiagramDoms;
 };
 
 // ============================================================================
diff --git a/oox/source/drawingml/diagram/diagram.cxx b/oox/source/drawingml/diagram/diagram.cxx
index a7bc286..012ff0a 100644
--- a/oox/source/drawingml/diagram/diagram.cxx
+++ b/oox/source/drawingml/diagram/diagram.cxx
@@ -26,6 +26,7 @@
 #include <com/sun/star/xml/dom/XDocument.hpp>
 #include <com/sun/star/xml/sax/XFastSAXSerializable.hpp>
 #include <rtl/ustrbuf.hxx>
+#include <editeng/unoprnms.hxx>
 #include "oox/drawingml/textbody.hxx"
 #include "oox/drawingml/textparagraph.hxx"
 #include "oox/drawingml/textrun.hxx"
@@ -329,6 +330,26 @@ void Diagram::addTo( const ShapePtr & pParentShape )
     ShapeCreationVisitor aCreationVisitor(pParentShape, *this);
     if( mpLayout->getNode() )
         mpLayout->getNode()->accept( aCreationVisitor );
+
+    pParentShape->setDiagramDoms( getDomsAsPropertyValues() );
+}
+
+uno::Sequence<beans::PropertyValue> Diagram::getDomsAsPropertyValues() const
+{
+    sal_Int32 length = maMainDomMap.size();
+
+    uno::Sequence<beans::PropertyValue> aValue(length);
+    beans::PropertyValue* pValue = aValue.getArray();
+    for (DiagramDomMap::const_iterator i = maMainDomMap.begin();
+         i != maMainDomMap.end();
+         ++i)
+    {
+        pValue[0].Name = i->first;
+        pValue[0].Value = uno::makeAny(i->second);
+        ++pValue;
+    }
+
+    return aValue;
 }
 
 uno::Reference<xml::dom::XDocument> loadFragment(
@@ -368,17 +389,33 @@ void loadDiagram( ShapePtr& pShape,
     DiagramLayoutPtr pLayout( new DiagramLayout() );
     pDiagram->setLayout( pLayout );
 
+    rtl::Reference< core::FragmentHandler > xRefDataModel(
+            new DiagramDataFragmentHandler( rFilter, rDataModelPath, pData ));
+    uno::Reference<xml::dom::XDocument> xDataModelDom(loadFragment(rFilter,xRefDataModel));
+    rtl::Reference< core::FragmentHandler > xRefLayout(
+            new DiagramLayoutFragmentHandler( rFilter, rLayoutPath, pLayout ));
+    uno::Reference<xml::dom::XDocument> xLayoutDom(loadFragment(rFilter,xRefLayout));
+    rtl::Reference< core::FragmentHandler > xRefQStyle(
+            new DiagramQStylesFragmentHandler( rFilter, rQStylePath, pDiagram->getStyles() ));
+    uno::Reference<xml::dom::XDocument> xQStyleDom(loadFragment(rFilter,xRefQStyle));
+    rtl::Reference< core::FragmentHandler > xRefColorStyle(
+            new ColorFragmentHandler( rFilter, rColorStylePath, pDiagram->getColors() ));
+    uno::Reference<xml::dom::XDocument> xColorStyleDom(loadFragment(rFilter,xRefColorStyle));
+
+    DiagramDomMap& rMainDomMap = pDiagram->getDomMap();
+    rMainDomMap[OUString::createFromAscii("OOXData")] = xDataModelDom;
+    rMainDomMap[OUString::createFromAscii("OOXLayout")] = xLayoutDom;
+    rMainDomMap[OUString::createFromAscii("OOXStyle")] = xQStyleDom;
+    rMainDomMap[OUString::createFromAscii("OOXColor")] = xColorStyleDom;
+
     // data
     if( !rDataModelPath.isEmpty() )
     {
-        rtl::Reference< core::FragmentHandler > xRef(
-            new DiagramDataFragmentHandler( rFilter, rDataModelPath, pData ));
-
         importFragment(rFilter,
-                       loadFragment(rFilter,xRef),
+                       xDataModelDom,
                        "DiagramData",
                        pShape,
-                       xRef);
+                       xRefDataModel);
         // Pass the info to pShape
         for( ::std::vector<OUString>::const_iterator aIt = pData->getExtDrawings().begin(), aEnd = pData->getExtDrawings().end();
                 aIt != aEnd; ++aIt )
@@ -391,37 +428,31 @@ void loadDiagram( ShapePtr& pShape,
         // layout
         if( !rLayoutPath.isEmpty() )
         {
-            rtl::Reference< core::FragmentHandler > xRef(
-                    new DiagramLayoutFragmentHandler( rFilter, rLayoutPath, pLayout ));
             importFragment(rFilter,
-                    loadFragment(rFilter,xRef),
+                    xLayoutDom,
                     "DiagramLayout",
                     pShape,
-                    xRef);
+                    xRefLayout);
         }
 
         // style
         if( !rQStylePath.isEmpty() )
         {
-            rtl::Reference< core::FragmentHandler > xRef(
-                    new DiagramQStylesFragmentHandler( rFilter, rQStylePath, pDiagram->getStyles() ));
             importFragment(rFilter,
-                    loadFragment(rFilter,xRef),
+                    xQStyleDom,
                     "DiagramQStyle",
                     pShape,
-                    xRef);
+                    xRefQStyle);
         }
 
         // colors
         if( !rColorStylePath.isEmpty() )
         {
-            rtl::Reference< core::FragmentHandler > xRef(
-                    new ColorFragmentHandler( rFilter, rColorStylePath, pDiagram->getColors() ));
             importFragment(rFilter,
-                    loadFragment(rFilter,xRef),
+                    xColorStyleDom,
                     "DiagramColorStyle",
                     pShape,
-                    xRef);
+                    xRefColorStyle);
         }
     }
 
diff --git a/oox/source/drawingml/diagram/diagram.hxx b/oox/source/drawingml/diagram/diagram.hxx
index 93e8104..dda8387 100644
--- a/oox/source/drawingml/diagram/diagram.hxx
+++ b/oox/source/drawingml/diagram/diagram.hxx
@@ -35,6 +35,8 @@ namespace com { namespace sun { namespace star {
     namespace xml { namespace dom { class XDocument; } }
 } } }
 
+using namespace ::com::sun::star;
+
 namespace oox { namespace drawingml {
 
 namespace dgm {
@@ -154,6 +156,10 @@ typedef boost::shared_ptr< LayoutNode > LayoutNodePtr;
 
 ////////////////////
 
+typedef std::map< OUString, uno::Reference<xml::dom::XDocument> > DiagramDomMap;
+
+////////////////////
+
 class DiagramData
 {
 public:
@@ -191,6 +197,7 @@ private:
     PointsNameMap     maPointsPresNameMap;
     ConnectionNameMap maConnectionNameMap;
     StringMap         maPresOfNameMap;
+    DiagramDomMap     maExtDomMap;
 };
 
 typedef boost::shared_ptr< DiagramData > DiagramDataPtr;
@@ -289,15 +296,19 @@ public:
     const DiagramQStyleMap& getStyles() const { return maStyles; }
     DiagramColorMap& getColors() { return maColors; }
     const DiagramColorMap& getColors() const { return maColors; }
+    DiagramDomMap & getDomMap() { return maMainDomMap; }
 
     void addTo( const ShapePtr & pShape );
+
+    uno::Sequence<beans::PropertyValue> getDomsAsPropertyValues() const;
 private:
     void build( );
-    DiagramDataPtr                             mpData;
-    DiagramLayoutPtr                           mpLayout;
-    DiagramQStyleMap                           maStyles;
-    DiagramColorMap                            maColors;
-    std::map< OUString, ShapePtr >             maShapeMap;
+    DiagramDataPtr                 mpData;
+    DiagramLayoutPtr               mpLayout;
+    DiagramQStyleMap               maStyles;
+    DiagramColorMap                maColors;
+    std::map< OUString, ShapePtr > maShapeMap;
+    DiagramDomMap                  maMainDomMap;
 };
 
 
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index ee9d9de..aa9e804 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -37,6 +37,7 @@
 #include "oox/helper/propertyset.hxx"
 
 #include <tools/solar.h>        // for the F_PI180 define
+#include <editeng/unoprnms.hxx>
 #include <com/sun/star/graphic/XGraphic.hpp>
 #include <com/sun/star/container/XNamed.hpp>
 #include <com/sun/star/container/XNameContainer.hpp>
@@ -83,6 +84,7 @@ Shape::Shape( const sal_Char* pServiceName )
 , mbHidden( false )
 , mbHiddenMasterShape( false )
 , mbLockedCanvas( false )
+, maDiagramDoms( 0 )
 {
     if ( pServiceName )
         msServiceName = OUString::createFromAscii( pServiceName );
@@ -118,6 +120,7 @@ Shape::Shape( const ShapePtr& pSourceShape )
 , mbHidden( pSourceShape->mbHidden )
 , mbHiddenMasterShape( pSourceShape->mbHiddenMasterShape )
 , mbLockedCanvas( pSourceShape->mbLockedCanvas )
+, maDiagramDoms( pSourceShape->maDiagramDoms )
 {}
 
 
@@ -236,6 +239,11 @@ bool Shape::getLockedCanvas()
     return mbLockedCanvas;
 }
 
+void Shape::setDiagramDoms(const uno::Sequence<beans::PropertyValue>& rDiagramDoms)
+{
+    maDiagramDoms = rDiagramDoms;
+}
+
 void Shape::applyShapeReference( const Shape& rReferencedShape, bool bUseText )
 {
     SAL_INFO("oox", OSL_THIS_FUNC << "apply shape reference: " << rReferencedShape.msId << " to shape id: " << msId);
@@ -571,7 +579,8 @@ Reference< XShape > Shape::createAndInsert(
             if( aShapeProps.hasProperty( PROP_TextAutoGrowHeight ) )
                 xSet->setPropertyValue( rPropName, Any( false ) );
 
-        // do not set properties at a group shape (this causes assertions from svx)
+        // do not set properties at a group shape (this causes
+        // assertions from svx) ...
         if( aServiceName != "com.sun.star.drawing.GroupShape" )
         {
             PropertySet( xSet ).setProperties( aShapeProps );
@@ -583,6 +592,27 @@ Reference< XShape > Shape::createAndInsert(
             }
         }
 
+        // ... but for the InteropGrabBag property
+        const OUString& aGrabBagPropName = OUString::createFromAscii(UNO_NAME_MISC_OBJ_INTEROPGRABBAG);
+        if( maDiagramDoms.hasElements() && xSetInfo.is() && xSetInfo->hasPropertyByName( aGrabBagPropName ) )
+        {
+            Sequence<PropertyValue> aGrabBag;
+            xSet->getPropertyValue( aGrabBagPropName ) >>= aGrabBag;
+
+            // we keep the previous items, if present
+            if (aGrabBag.hasElements())
+            {
+                sal_Int32 length = aGrabBag.getLength();
+                aGrabBag.realloc(length+maDiagramDoms.getLength());
+
+                for(sal_Int32 i = 0; i < maDiagramDoms.getLength(); ++i)
+                    aGrabBag[length+i] = maDiagramDoms[i];
+
+                xSet->setPropertyValue( aGrabBagPropName, Any( aGrabBag ) );
+            } else
+                xSet->setPropertyValue( aGrabBagPropName, Any( maDiagramDoms ) );
+        }
+
         if( bIsCustomShape )
         {
             if ( mbFlipH )
diff --git a/oox/source/shape/ShapeContextHandler.cxx b/oox/source/shape/ShapeContextHandler.cxx
index 179c10a..f043b13 100644
--- a/oox/source/shape/ShapeContextHandler.cxx
+++ b/oox/source/shape/ShapeContextHandler.cxx
@@ -319,13 +319,39 @@ ShapeContextHandler::getShape() throw (uno::RuntimeException)
             }
             else
             {
-                // Prerendered diagram output is available, then use that, and throw away the original result.
+                // Prerendered diagram output is available, then use
+                // that, and throw away the original result.
+
+                uno::Sequence<beans::PropertyValue> aValue( mpShape->getDiagramDoms() );
+                sal_Int32 length = aValue.getLength();
+                aValue.realloc( length+1 );
+
+                sal_Int32 size = mpShape->getExtDrawings().size();
+                uno::Sequence<beans::PropertyValue> aExtValue( size );
+                sal_Int32 i = 0;
+
                 for (std::vector<OUString>::const_iterator aIt = mpShape->getExtDrawings().begin(); aIt != mpShape->getExtDrawings().end(); ++aIt)
                 {
                     DiagramGraphicDataContext* pDiagramGraphicDataContext = dynamic_cast<DiagramGraphicDataContext*>(mxDiagramShapeContext.get());
                     OUString aFragmentPath(pDiagramGraphicDataContext->getFragmentPathFromRelId(*aIt));
                     oox::drawingml::ShapePtr pShapePtr( new Shape( "com.sun.star.drawing.GroupShape" ) );
                     mxFilterBase->importFragment(new ShapeDrawingFragmentHandler(*mxFilterBase, aFragmentPath, pShapePtr));
+
+                    beans::PropertyValue* pExtValue = aExtValue.getArray();
+                    pExtValue[i].Name = OUString( *aIt );
+                    pExtValue[i].Value = uno::makeAny( mxFilterBase->importFragment( aFragmentPath ) );
+                    i++;
+
+                    // Last ExtDrawing, this is the Shape to return,
+                    // so we attach the DiagramDoms
+                    if (i == size)
+                    {
+                        beans::PropertyValue* pValue = aValue.getArray();
+                        pValue[length].Name = OUString::createFromAscii("OOXDrawing");
+                        pValue[length].Value = uno::makeAny( aExtValue );
+                        pShapePtr->setDiagramDoms( aValue );
+                    }
+
                     pShapePtr->addShape( *mxFilterBase, mpThemePtr.get(), xShapes, aMatrix, pShapePtr->getFillProperties() );
                     xResult = pShapePtr->getXShape();
                 }
commit d907eda815ca4f4e817bbb018ec3766deb8fabc0
Author: Andres Gomez <agomez at igalia.com>
Date:   Fri Aug 30 16:47:06 2013 +0300

    qa: Adding UT for new InteropGrabBag property in Shape service
    
    Change-Id: I266dbc8827969356aacaf3b762a8d2a22b1f2e3d

diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationShapeObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationShapeObj.csv
index 8603486..66f2a89 100644
--- a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationShapeObj.csv
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationShapeObj.csv
@@ -76,6 +76,7 @@
 "ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"Style#optional"
 "ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"Transformation#optional"
 "ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
 "ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
 "ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScShapeObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScShapeObj.csv
index e4cb081..607ebb7 100644
--- a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScShapeObj.csv
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScShapeObj.csv
@@ -11,6 +11,7 @@
 "ScShapeObj";"com::sun::star::drawing::Shape";"Style#optional"
 "ScShapeObj";"com::sun::star::drawing::Shape";"Transformation#optional"
 "ScShapeObj";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "ScShapeObj";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
 "ScShapeObj";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
 "ScShapeObj";"com::sun::star::sheet::Shape";"Anchor"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLegend.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLegend.csv
index 8622aca..1762649 100644
--- a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLegend.csv
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLegend.csv
@@ -12,6 +12,7 @@
 "ChartLegend";"com::sun::star::drawing::Shape";"Style#optional"
 "ChartLegend";"com::sun::star::drawing::Shape";"Transformation#optional"
 "ChartLegend";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "ChartLegend";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
 "ChartLegend";"com::sun::star::drawing::LineProperties";"LineStyle"
 "ChartLegend";"com::sun::star::drawing::LineProperties";"LineDash"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartTitle.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartTitle.csv
index 0bdbcc3..40b5311 100644
--- a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartTitle.csv
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartTitle.csv
@@ -12,6 +12,7 @@
 "ChartTitle";"com::sun::star::drawing::Shape";"Style#optional"
 "ChartTitle";"com::sun::star::drawing::Shape";"Transformation#optional"
 "ChartTitle";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "ChartTitle";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
 "ChartTitle";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
 "ChartTitle";"com::sun::star::chart::ChartTitle";"TextRotation"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXShape.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXShape.csv
index 06fa7a0..de7cc83 100644
--- a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXShape.csv
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXShape.csv
@@ -11,6 +11,7 @@
 "SdXShape";"com::sun::star::drawing::Shape";"Style#optional"
 "SdXShape";"com::sun::star::drawing::Shape";"Transformation#optional"
 "SdXShape";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "SdXShape";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
 "SdXShape";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
 "SdXShape";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxGraphicObject.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxGraphicObject.csv
index b7605ee..9236825 100644
--- a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxGraphicObject.csv
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxGraphicObject.csv
@@ -76,6 +76,7 @@
 "SvxGraphicObject";"com::sun::star::drawing::Shape";"Style#optional"
 "SvxGraphicObject";"com::sun::star::drawing::Shape";"Transformation#optional"
 "SvxGraphicObject";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
 "SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
 "SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShape.csv
index 7010893..96fa72a 100644
--- a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShape.csv
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShape.csv
@@ -76,6 +76,7 @@
 "SvxShape";"com::sun::star::drawing::Shape";"Style#optional"
 "SvxShape";"com::sun::star::drawing::Shape";"Transformation#optional"
 "SvxShape";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "SvxShape";"com::sun::star::drawing::TextShape";"CornerRadius"
 "SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
 "SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCircle.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCircle.csv
index 8e1814d..8624bbb 100644
--- a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCircle.csv
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCircle.csv
@@ -76,6 +76,7 @@
 "SvxShapeCircle";"com::sun::star::drawing::Shape";"Style#optional"
 "SvxShapeCircle";"com::sun::star::drawing::Shape";"Transformation#optional"
 "SvxShapeCircle";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
 "SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
 "SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeConnector.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeConnector.csv
index 95b9abe..4502a89 100644
--- a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeConnector.csv
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeConnector.csv
@@ -76,6 +76,7 @@
 "SvxShapeConnector";"com::sun::star::drawing::Shape";"Style#optional"
 "SvxShapeConnector";"com::sun::star::drawing::Shape";"Transformation#optional"
 "SvxShapeConnector";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
 "SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
 "SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeControl.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeControl.csv
index 945c4fc..cc05a7c 100644
--- a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeControl.csv
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeControl.csv
@@ -11,6 +11,7 @@
 "SvxShapeControl";"com::sun::star::drawing::Shape";"Style#optional"
 "SvxShapeControl";"com::sun::star::drawing::Shape";"Transformation#optional"
 "SvxShapeControl";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "SvxShapeControl";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
 "SvxShapeControl";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
 "SvxShapeControl";"com::sun::star::drawing::XControlShape";"getControl()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeDimensioning.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeDimensioning.csv
index 1713d9c..7ae14a3 100644
--- a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeDimensioning.csv
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeDimensioning.csv
@@ -94,6 +94,7 @@
 "SvxShapeDimensioning";"com::sun::star::drawing::Shape";"Style#optional"
 "SvxShapeDimensioning";"com::sun::star::drawing::Shape";"Transformation#optional"
 "SvxShapeDimensioning";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
 "SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
 "SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeGroup.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeGroup.csv
index c20164a..31cf3df 100644
--- a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeGroup.csv
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeGroup.csv
@@ -13,6 +13,7 @@
 "SvxShapeGroup";"com::sun::star::drawing::Shape";"Style#optional"
 "SvxShapeGroup";"com::sun::star::drawing::Shape";"Transformation#optional"
 "SvxShapeGroup";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "SvxShapeGroup";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
 "SvxShapeGroup";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
 "SvxShapeGroup";"com::sun::star::drawing::XShapeGroup";"enterGroup()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygon.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygon.csv
index 9fdea2b..c266cb7 100644
--- a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygon.csv
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygon.csv
@@ -76,6 +76,7 @@
 "SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"Style#optional"
 "SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"Transformation#optional"
 "SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
 "SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
 "SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygonBezier.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygonBezier.csv
index ad9eb30..f57e463 100644
--- a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygonBezier.csv
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygonBezier.csv
@@ -79,6 +79,7 @@
 "SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"Style#optional"
 "SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"Transformation#optional"
 "SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
 "SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
 "SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXShape.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXShape.csv
index ca857ce..17acfb9 100644
--- a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXShape.csv
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXShape.csv
@@ -11,6 +11,7 @@
 "SwXShape";"com::sun::star::drawing::Shape";"Style#optional"
 "SwXShape";"com::sun::star::drawing::Shape";"Transformation#optional"
 "SwXShape";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
 "SwXShape";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
 "SwXShape";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
 "SwXShape";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
commit bd636296c4884c1c46f38e537bb96a0a7c8df684
Author: Andres Gomez <agomez at igalia.com>
Date:   Mon Aug 26 18:33:38 2013 +0300

    svx: new InteropGrabBag UNO property in Shape service
    
    Change-Id: Ifc615e729c3d4716100de1dfb06be0ae98990c10

diff --git a/drawinglayer/source/dumper/XShapeDumper.cxx b/drawinglayer/source/dumper/XShapeDumper.cxx
index caf3758..cc9eb45 100644
--- a/drawinglayer/source/dumper/XShapeDumper.cxx
+++ b/drawinglayer/source/dumper/XShapeDumper.cxx
@@ -37,6 +37,7 @@ namespace {
 void dumpGradientProperty(com::sun::star::awt::Gradient aGradient, xmlTextWriterPtr xmlWriter);
 void dumpPolyPolygonBezierCoords(com::sun::star::drawing::PolyPolygonBezierCoords aPolyPolygonBezierCoords, xmlTextWriterPtr xmlWriter);
 void dumpPointSequenceSequence(com::sun::star::drawing::PointSequenceSequence aPointSequenceSequence, uno::Sequence<uno::Sequence<drawing::PolygonFlags> >*, xmlTextWriterPtr xmlWriter);
+void dumpPropertyValueAsElement(const beans::PropertyValue& rPropertyValue, xmlTextWriterPtr xmlWriter);
 
 // FillProperties.idl
 void dumpFillStyleAsAttribute(com::sun::star::drawing::FillStyle eFillStyle, xmlTextWriterPtr xmlWriter);
@@ -133,6 +134,7 @@ void dumpHomogenMatrixLine3(com::sun::star::drawing::HomogenMatrixLine3 aLine, x
 void dumpTransformationAsElement(com::sun::star::drawing::HomogenMatrix3 aTransformation, xmlTextWriterPtr xmlWriter);
 void dumpNavigationOrderAsAttribute(sal_Int32 aNavigationOrder, xmlTextWriterPtr xmlWriter);
 void dumpHyperlinkAsAttribute(OUString sHyperlink, xmlTextWriterPtr xmlWriter);
+void dumpInteropGrabBagAsElement(uno::Sequence< beans::PropertyValue> aInteropGrabBag, xmlTextWriterPtr xmlWriter);
 
 // CustomShape.idl
 void dumpCustomShapeEngineAsAttribute(OUString sCustomShapeEngine, xmlTextWriterPtr xmlWriter);
@@ -1052,6 +1054,17 @@ void dumpHyperlinkAsAttribute(OUString sHyperlink, xmlTextWriterPtr xmlWriter)
         OUStringToOString(sHyperlink, RTL_TEXTENCODING_UTF8).getStr());
 }
 
+void dumpInteropGrabBagAsElement(uno::Sequence< beans::PropertyValue> aInteropGrabBag, xmlTextWriterPtr xmlWriter)
+{
+    xmlTextWriterStartElement(xmlWriter, BAD_CAST( "InteropGrabBag" ));
+
+    sal_Int32 nLength = aInteropGrabBag.getLength();
+    for (sal_Int32 i = 0; i < nLength; ++i)
+        dumpPropertyValueAsElement(aInteropGrabBag[i], xmlWriter);
+
+    xmlTextWriterEndElement( xmlWriter );
+}
+
 // --------------------------------
 // ---------- XShape.idl ----------
 // --------------------------------
@@ -1154,6 +1167,10 @@ void dumpPropertyValueAsElement(const beans::PropertyValue& rPropertyValue, xmlT
 
         xmlTextWriterEndElement(xmlWriter);
     }
+
+    // TODO: Add here dumping of XDocument for future OOX Smart-Art
+    // properties.
+
     // TODO more, if necessary
 
     xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("handle"), "%" SAL_PRIdINT32, rPropertyValue.Handle);
diff --git a/include/editeng/unoprnms.hxx b/include/editeng/unoprnms.hxx
index 38ba3bd..3fa0ebd 100644
--- a/include/editeng/unoprnms.hxx
+++ b/include/editeng/unoprnms.hxx
@@ -154,6 +154,7 @@
 #define UNO_NAME_POLYPOLYGONBEZIER              "PolyPolygonBezier"
 #define UNO_NAME_POLYGON                        "Polygon"
 
+#define UNO_NAME_MISC_OBJ_INTEROPGRABBAG        "InteropGrabBag"
 #define UNO_NAME_MISC_OBJ_ZORDER                "ZOrder"
 #define UNO_NAME_MISC_OBJ_MOVEPROTECT           "MoveProtect"
 #define UNO_NAME_MISC_OBJ_SIZEPROTECT           "SizeProtect"
diff --git a/include/svl/solar.hrc b/include/svl/solar.hrc
index a761c7d..c399a1a 100644
--- a/include/svl/solar.hrc
+++ b/include/svl/solar.hrc
@@ -23,7 +23,7 @@
 // defines ------------------------------------------------------------------
 
 #define OWN_ATTR_VALUE_START                    3900
-#define OWN_ATTR_VALUE_END                      3990
+#define OWN_ATTR_VALUE_END                      3991
 
 #define RID_SFX_START               260
 //      RID_SFX_END                 9999
diff --git a/include/svx/svdobj.hxx b/include/svx/svdobj.hxx
index f9d4cec..fb763dd 100644
--- a/include/svx/svdobj.hxx
+++ b/include/svx/svdobj.hxx
@@ -26,7 +26,9 @@
 #include <vcl/mapmod.hxx>
 #include <tools/string.hxx>
 #include <tools/weakbase.hxx>
+#include <com/sun/star/uno/Any.hxx>
 #include <svl/lstner.hxx>
+#include <svl/grabbagitem.hxx>
 #include <vcl/timer.hxx>
 #include <svx/svdsob.hxx>
 #include <svx/svdtypes.hxx> // fuer SdrLayerID
@@ -385,6 +387,9 @@ protected:
 
     sal_uInt32                  nOrdNum;      // Rangnummer des Obj in der Liste
 
+    SfxGrabBagItem              aGrabBagItem; // Holds the GrabBagItem property
+
+
     /** Position in the navigation order.  SAL_MAX_UINT32 when not used.
     */
     sal_uInt32                  mnNavigationPosition;
@@ -566,6 +571,11 @@ public:
     // geschehen.
     void SetOrdNum(sal_uInt32 nNum);
 
+    // GrabBagItem for interim interop purposes
+    void GetGrabBagItem(com::sun::star::uno::Any& rVal) const;
+
+    void SetGrabBagItem(const com::sun::star::uno::Any& rVal);
+
     /** Return the position in the navigation order for the called object.
         Note that this method may update the navigation position of the
         called and of other SdrObjects.  Therefore this method can not be
diff --git a/include/svx/unoshprp.hxx b/include/svx/unoshprp.hxx
index 995eed8..3c35b39 100644
--- a/include/svx/unoshprp.hxx
+++ b/include/svx/unoshprp.hxx
@@ -186,7 +186,8 @@
 
 #define OWN_ATTR_MEDIA_STREAM                   (OWN_ATTR_VALUE_START+89)
 #define OWN_ATTR_MEDIA_TEMPFILEURL              (OWN_ATTR_VALUE_START+90)
-// ATTENTION: maximum is OWN_ATTR_VALUE_START+90, see svl/inc/svl/solar.hrc
+#define OWN_ATTR_INTEROPGRABBAG                 (OWN_ATTR_VALUE_START+91)
+// ATTENTION: maximum is OWN_ATTR_VALUE_START+91, see include/svl/solar.hrc
 
 // #FontWork#
 #define FONTWORK_PROPERTIES \
@@ -315,6 +316,7 @@
     { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_BOUNDRECT),        OWN_ATTR_BOUNDRECT,         &::getCppuType((const ::com::sun::star::awt::Rectangle*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
 
 #define MISC_OBJ_PROPERTIES \
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_INTEROPGRABBAG),   OWN_ATTR_INTEROPGRABBAG,    SEQTYPE(::getCppuType((::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >*)0)),  0,  0}, \
     MISC_OBJ_PROPERTIES_NO_SHEAR \
     { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_SHEARANGLE),       SDRATTR_SHEARANGLE,         &::getCppuType((const sal_Int32*)0),        0,  0},
 
diff --git a/offapi/com/sun/star/drawing/Shape.idl b/offapi/com/sun/star/drawing/Shape.idl
index bc1ac37..64f8ab4 100644
--- a/offapi/com/sun/star/drawing/Shape.idl
+++ b/offapi/com/sun/star/drawing/Shape.idl
@@ -27,7 +27,7 @@
 #include <com/sun/star/drawing/XGluePointsSupplier.idl>
 #include <com/sun/star/container/XNameContainer.idl>
 #include <com/sun/star/beans/XTolerantMultiPropertySet.idl>
-
+#include <com/sun/star/beans/PropertyValue.idl>
 
  module com {  module sun {  module star {  module drawing {
 
@@ -153,6 +153,17 @@ published service Shape
     /** this property lets you get and set a hyperlink for this shape.
      */
     [optional, property] string Hyperlink;
+
+    /** Grab bag of shape properties, used as a string-any map for
+        interim interop purposes.
+
+        @since LibreOffice 4.2
+
+        <p>This property is intentionally not handled by the ODF
+        filter. Any member that should be handled there should be
+        first moved out from this grab bag to a separate property.</p>
+    */
+    [optional, property] sequence<com::sun::star::beans::PropertyValue> InteropGrabBag;
 };
 
 
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index 9f9b453..8278a50 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -906,6 +906,19 @@ void SdrObject::SetOrdNum(sal_uInt32 nNum)
     nOrdNum = nNum;
 }
 
+void SdrObject::GetGrabBagItem(com::sun::star::uno::Any& rVal) const
+{
+    aGrabBagItem.QueryValue(rVal);
+}
+
+void SdrObject::SetGrabBagItem(const com::sun::star::uno::Any& rVal)
+{
+    aGrabBagItem.PutValue(rVal);
+    // Notifying that the object has changed: needed?
+    SetChanged();
+    BroadcastObjectChange();
+}
+
 sal_uInt32 SdrObject::GetNavigationPosition (void)
 {
     if (pObjList!=NULL && pObjList->RecalcNavigationPositions())
@@ -1086,6 +1099,9 @@ SdrObject& SdrObject::operator=(const SdrObject& rObj)
         delete pPlusData->pBroadcast; // broadcaster isn't copied
         pPlusData->pBroadcast=NULL;
     }
+
+    aGrabBagItem.SetGrabBag(rObj.aGrabBagItem.GetGrabBag());
+
     aGridOffset = rObj.aGridOffset;
     return *this;
 }
diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx
index 1a9c365..f320907 100644
--- a/svx/source/unodraw/unoshape.cxx
+++ b/svx/source/unodraw/unoshape.cxx
@@ -2451,6 +2451,12 @@ bool SvxShape::setPropertyValueImpl( const OUString&, const SfxItemPropertySimpl
         break;
     }
 
+    case OWN_ATTR_INTEROPGRABBAG:
+    {
+        mpObj->SetGrabBagItem(rValue);
+        return true;
+    }
+
     case SDRATTR_OBJMOVEPROTECT:
     {
         sal_Bool bMoveProtect = sal_Bool();
@@ -2854,6 +2860,12 @@ bool SvxShape::getPropertyValueImpl( const OUString&, const SfxItemPropertySimpl
         rValue <<= (sal_Int32)mpObj->GetShearAngle();
         break;
 
+    case OWN_ATTR_INTEROPGRABBAG:
+    {
+        mpObj->GetGrabBagItem(rValue);
+        break;
+    }
+
     case SDRATTR_OBJMOVEPROTECT:
         rValue = uno::makeAny( (sal_Bool) mpObj->IsMoveProtect() );
         break;
commit 5266ff23659843f5d6ddf77c3024d4c1eb57cb18
Author: Andres Gomez <agomez at igalia.com>
Date:   Tue Aug 20 15:50:01 2013 +0300

    oox: Enhancing the debugging output
    
    Change-Id: I1c5b06d340d993817942b80f19dd2dd987ca8f3c

diff --git a/include/sal/log-areas.dox b/include/sal/log-areas.dox
index 83b3ac0..23423c42 100644
--- a/include/sal/log-areas.dox
+++ b/include/sal/log-areas.dox
@@ -131,6 +131,7 @@ certain functionality.
 @li @c filter.ms - escher import/export
 @li @c filter.xslt - xslt import/export
 @li @c oox.cscode - see oox/source/drawingml/customshapes/README
+ at li @c oox.drawingml - DrawingML
 @li @c oox.ppt - pptx filter
 @li @c oox.storage - ZipStorage class
 @li @c oox.xmlstream - XmlStream class
diff --git a/oox/source/drawingml/graphicshapecontext.cxx b/oox/source/drawingml/graphicshapecontext.cxx
index 0def785..73882f8 100644
--- a/oox/source/drawingml/graphicshapecontext.cxx
+++ b/oox/source/drawingml/graphicshapecontext.cxx
@@ -232,13 +232,14 @@ ContextHandlerRef DiagramGraphicDataContext::onCreateContext( ::sal_Int32 aEleme
                     getFragmentPathFromRelId( msLo ),
                     getFragmentPathFromRelId( msQs ),
                     getFragmentPathFromRelId( msCs ));
-        OSL_TRACE("diagram added shape %s of type %s, size (%d,%d,%d,%d)",
-                  OUSTRING_TO_CSTR( mpShapePtr->getName() ),
-                  OUSTRING_TO_CSTR( mpShapePtr->getServiceName() ),
-                  mpShapePtr->getPosition().X,
-                  mpShapePtr->getPosition().Y,
-                  mpShapePtr->getSize().Width,
-                  mpShapePtr->getSize().Height);
+        SAL_INFO("oox.drawingml", OSL_THIS_FUNC
+                 << "diagram added shape " << mpShapePtr->getName()
+                 << " of type " << mpShapePtr->getServiceName()
+                 << ", size (" << mpShapePtr->getPosition().X
+                 << "," << mpShapePtr->getPosition().Y
+                 << "," << mpShapePtr->getSize().Width
+                 << "," << mpShapePtr->getSize().Height
+                 <<")");
         break;
     }
     default:
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index f065d1b..ee9d9de 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -200,7 +200,7 @@ void Shape::addShape(
         const awt::Rectangle* pShapeRect,
         ShapeIdMap* pShapeMap )
 {
-    SAL_INFO("oox", OSL_THIS_FUNC << " id: " << msId);
+    SAL_INFO("oox.drawingml", OSL_THIS_FUNC << " id: " << msId);
 
     try
     {
@@ -238,7 +238,7 @@ bool Shape::getLockedCanvas()
 
 void Shape::applyShapeReference( const Shape& rReferencedShape, bool bUseText )
 {
-    SAL_INFO("oox", "apply shape reference: " << rReferencedShape.msId << " to shape id: " << msId);
+    SAL_INFO("oox", OSL_THIS_FUNC << "apply shape reference: " << rReferencedShape.msId << " to shape id: " << msId);
 
     if ( rReferencedShape.mpTextBody.get() && bUseText )
         mpTextBody = TextBodyPtr( new TextBody( *rReferencedShape.mpTextBody.get() ) );
@@ -309,16 +309,16 @@ void Shape::addChildren(
     aChildTransformation.scale(1/(maChSize.Width ? maChSize.Width : 1.0), 1/(maChSize.Height ? maChSize.Height : 1.0));
     aChildTransformation *= aTransformation;
 
-    OSL_TRACE("parent matrix:\n%f %f %f\n%f %f %f\n%f %f %f",
-              aChildTransformation.get(0, 0),
-              aChildTransformation.get(0, 1),
-              aChildTransformation.get(0, 2),
-              aChildTransformation.get(1, 0),
-              aChildTransformation.get(1, 1),
-              aChildTransformation.get(1, 2),
-              aChildTransformation.get(2, 0),
-              aChildTransformation.get(2, 1),
-              aChildTransformation.get(2, 2));
+    SAL_INFO("oox.drawingml", OSL_THIS_FUNC << "parent matrix:\n"
+             << aChildTransformation.get(0, 0)
+             << aChildTransformation.get(0, 1)
+             << aChildTransformation.get(0, 2) << "\n"
+             << aChildTransformation.get(1, 0)
+             << aChildTransformation.get(1, 1)
+             << aChildTransformation.get(1, 2)
+             << aChildTransformation.get(2, 0)
+             << aChildTransformation.get(2, 1)
+             << aChildTransformation.get(2, 2));
 
     std::vector< ShapePtr >::iterator aIter( rMaster.maChildren.begin() );
     while( aIter != rMaster.maChildren.end() ) {
@@ -339,7 +339,7 @@ Reference< XShape > Shape::createAndInsert(
         FillProperties& rShapeOrParentShapeFillProps )
 {
     bool bIsEmbMedia = false;
-    SAL_INFO("oox", OSL_THIS_FUNC << " id: " << msId);
+    SAL_INFO("oox.drawingml", OSL_THIS_FUNC << " id: " << msId);
 
     awt::Rectangle aShapeRectHmm( maPosition.X / 360, maPosition.Y / 360, maSize.Width / 360, maSize.Height / 360 );
 
@@ -477,7 +477,7 @@ Reference< XShape > Shape::createAndInsert(
 
         if ( mbHidden || mbHiddenMasterShape )
         {
-            SAL_INFO("oox", "invisible shape with id: " << msId);
+            SAL_INFO("oox.drawingml", OSL_THIS_FUNC << "invisible shape with id: " << msId);
             const OUString sVisible( "Visible" );
             xSet->setPropertyValue( sVisible, Any( sal_False ) );
         }
@@ -613,7 +613,7 @@ Reference< XShape > Shape::createAndInsert(
                     if( pTheme )
                         if( const TextCharacterProperties* pCharProps = pTheme->getFontStyle( pFontRef->mnThemedIdx ) )
                             aCharStyleProperties.assignUsed( *pCharProps );
-                    SAL_INFO("oox", "use font color");
+                    SAL_INFO("oox.drawingml", OSL_THIS_FUNC << "use font color");
                     aCharStyleProperties.maCharColor.assignIfUsed( pFontRef->maPhClr );
                 }
 
@@ -649,7 +649,7 @@ void Shape::moveAllToPosition( const awt::Point &rPoint )
 
 void Shape::setMasterTextListStyle( const TextListStylePtr& pMasterTextListStyle )
 {
-    SAL_INFO("oox", "set master text list style to shape id: " << msId);
+    SAL_INFO("oox.drawingml", OSL_THIS_FUNC << "set master text list style to shape id: " << msId);
 
     mpMasterTextListStyle = pMasterTextListStyle;
 }


More information about the Libreoffice-commits mailing list