chart2/source/view/inc/ShapeFactory.hxx   |    2 +-
 chart2/source/view/main/DataTableView.cxx |    5 ++++-
 chart2/source/view/main/ShapeFactory.cxx  |    5 ++++-
 3 files changed, 9 insertions(+), 3 deletions(-)

New commits:
commit fc307b3da2332ef4995154c0554e8560a0196ddd
Author:     Tomaž Vajngerl <[email protected]>
AuthorDate: Wed Jun 29 19:25:47 2022 +0200
Commit:     Tomaž Vajngerl <[email protected]>
CommitDate: Fri Aug 19 19:10:42 2022 +0200

    chart2: allow to select the data table, fix object CID
    
    Change-Id: I0a8d3643fcaefe8105e935b929947174bd9bdc96
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138247
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <[email protected]>
    (cherry picked from commit d4450b9a9fe26e03fabb07162e88f742ba2c1f77)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138523
    Tested-by: Jenkins CollaboraOffice <[email protected]>

diff --git a/chart2/source/view/inc/ShapeFactory.hxx 
b/chart2/source/view/inc/ShapeFactory.hxx
index 5b03509a3695..481fde50dbb2 100644
--- a/chart2/source/view/inc/ShapeFactory.hxx
+++ b/chart2/source/view/inc/ShapeFactory.hxx
@@ -213,7 +213,7 @@ public:
                 const css::uno::Reference< css::beans::XPropertySet > & 
xTextProperties,
                 double nRotation, const OUString& aName, sal_Int32 
nTextMaxWidth );
 
-    static rtl::Reference<SvxTableShape> createTable(css::uno::Reference< 
css::drawing::XShapes >& xTarget);
+    static rtl::Reference<SvxTableShape> 
createTable(css::uno::Reference<css::drawing::XShapes>& xTarget, OUString 
const& rName = OUString());
 
     css::uno::Reference< css::drawing::XShape >
         createInvisibleRectangle(
diff --git a/chart2/source/view/main/DataTableView.cxx 
b/chart2/source/view/main/DataTableView.cxx
index f7a1fe4a0bb8..4b83428abe04 100644
--- a/chart2/source/view/main/DataTableView.cxx
+++ b/chart2/source/view/main/DataTableView.cxx
@@ -12,6 +12,7 @@
 #include <ShapeFactory.hxx>
 #include <ExplicitCategoriesProvider.hxx>
 #include <ChartModel.hxx>
+#include <ObjectIdentifier.hxx>
 
 #include <svx/svdotable.hxx>
 
@@ -193,7 +194,9 @@ void DataTableView::createShapes(basegfx::B2DVector const& 
rStart, basegfx::B2DV
         return;
 
     ShapeFactory::removeSubShapes(m_xTarget);
-    m_xTableShape = ShapeFactory::createTable(m_xTarget);
+    auto sParticle = 
ObjectIdentifier::createParticleForDataTable(m_xChartModel);
+    auto sCID = 
ObjectIdentifier::createClassifiedIdentifierForParticle(sParticle);
+    m_xTableShape = ShapeFactory::createTable(m_xTarget, sCID);
 
     uno::Reference<table::XTable> xTable;
     try
diff --git a/chart2/source/view/main/ShapeFactory.cxx 
b/chart2/source/view/main/ShapeFactory.cxx
index 7c2574c5f407..dc3b3332391a 100644
--- a/chart2/source/view/main/ShapeFactory.cxx
+++ b/chart2/source/view/main/ShapeFactory.cxx
@@ -2656,7 +2656,8 @@ void ShapeFactory::removeSubShapes( const uno::Reference< 
drawing::XShapes >& xS
     }
 }
 
-rtl::Reference<SvxTableShape> 
ShapeFactory::createTable(uno::Reference<drawing::XShapes>& xTarget)
+rtl::Reference<SvxTableShape>
+ShapeFactory::createTable(uno::Reference<drawing::XShapes>& xTarget, OUString 
const& rName)
 {
     if (!xTarget.is())
         return nullptr;
@@ -2666,6 +2667,8 @@ rtl::Reference<SvxTableShape> 
ShapeFactory::createTable(uno::Reference<drawing::
     xShape->setShapeKind(OBJ_TABLE);
     uno::Reference<drawing::XShape> xShapeUno(xShape);
     xTarget->add(xShapeUno);
+    if (!rName.isEmpty())
+        setShapeName(xShapeUno, rName);
 
     return xShape;
 }

Reply via email to