summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chart2/source/controller/chartapiwrapper/DataSeriesPointWrapper.cxx2
-rw-r--r--chart2/source/controller/chartapiwrapper/WrappedSymbolProperties.cxx51
-rw-r--r--offapi/com/sun/star/chart/ChartDataPointProperties.idl12
-rw-r--r--offapi/com/sun/star/chart/LineDiagram.idl10
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataPoint.csv1
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataRow.csv1
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDiagram.csv1
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties.java22
-rw-r--r--qadevOOo/tests/java/ifc/chart/_LineDiagram.java22
9 files changed, 116 insertions, 6 deletions
diff --git a/chart2/source/controller/chartapiwrapper/DataSeriesPointWrapper.cxx b/chart2/source/controller/chartapiwrapper/DataSeriesPointWrapper.cxx
index f49bcb0d4fe5..31cf7ff0c9ba 100644
--- a/chart2/source/controller/chartapiwrapper/DataSeriesPointWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/DataSeriesPointWrapper.cxx
@@ -591,7 +591,7 @@ beans::PropertyState SAL_CALL DataSeriesPointWrapper::getPropertyState( const OU
beans::PropertyState aState( beans::PropertyState_DIRECT_VALUE );
try
{
- if (rPropertyName == "SymbolBitmap")
+ if (rPropertyName == "SymbolBitmap" || rPropertyName == "SymbolBitmapURL")
{
uno::Any aAny = WrappedPropertySet::getPropertyValue("SymbolType");
sal_Int32 nVal = css::chart::ChartSymbolType::NONE;
diff --git a/chart2/source/controller/chartapiwrapper/WrappedSymbolProperties.cxx b/chart2/source/controller/chartapiwrapper/WrappedSymbolProperties.cxx
index a0bd74b8c82b..10a756ef1f9c 100644
--- a/chart2/source/controller/chartapiwrapper/WrappedSymbolProperties.cxx
+++ b/chart2/source/controller/chartapiwrapper/WrappedSymbolProperties.cxx
@@ -27,6 +27,7 @@
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/chart/ChartSymbolType.hpp>
#include <com/sun/star/drawing/LineStyle.hpp>
+#include <vcl/GraphicLoader.hxx>
#include <editeng/unoprnms.hxx>
#include <vcl/graph.hxx>
@@ -58,6 +59,16 @@ public:
tSeriesOrDiagramPropertyType ePropertyType);
};
+class WrappedSymbolBitmapURLProperty : public WrappedSeriesOrDiagramProperty<OUString>
+{
+public:
+ virtual OUString getValueFromSeries(const Reference<beans::XPropertySet>& xSeriesPropertySet) const override;
+ virtual void setValueToSeries(const Reference<beans::XPropertySet> & xSeriesPropertySet, OUString const & xNewGraphicURL) const override;
+
+ explicit WrappedSymbolBitmapURLProperty(const std::shared_ptr<Chart2ModelContact>& spChart2ModelContact,
+ tSeriesOrDiagramPropertyType ePropertyType);
+};
+
class WrappedSymbolBitmapProperty : public WrappedSeriesOrDiagramProperty<uno::Reference<graphic::XGraphic>>
{
public:
@@ -96,6 +107,7 @@ enum
{
//symbol properties
PROP_CHART_SYMBOL_TYPE = FAST_PROPERTY_ID_START_CHART_SYMBOL_PROP,
+ PROP_CHART_SYMBOL_BITMAP_URL,
PROP_CHART_SYMBOL_BITMAP,
PROP_CHART_SYMBOL_SIZE,
PROP_CHART_SYMBOL_AND_LINES
@@ -151,6 +163,7 @@ void lcl_addWrappedProperties( std::vector< WrappedProperty* >& rList
, tSeriesOrDiagramPropertyType ePropertyType )
{
rList.push_back( new WrappedSymbolTypeProperty( spChart2ModelContact, ePropertyType ) );
+ rList.push_back( new WrappedSymbolBitmapURLProperty( spChart2ModelContact, ePropertyType ) );
rList.push_back( new WrappedSymbolBitmapProperty( spChart2ModelContact, ePropertyType ) );
rList.push_back( new WrappedSymbolSizeProperty( spChart2ModelContact, ePropertyType ) );
rList.push_back( new WrappedSymbolAndLinesProperty( spChart2ModelContact, ePropertyType ) );
@@ -166,6 +179,12 @@ void WrappedSymbolProperties::addProperties( std::vector< Property > & rOutPrope
beans::PropertyAttribute::BOUND
| beans::PropertyAttribute::MAYBEDEFAULT );
+ rOutProperties.emplace_back( "SymbolBitmapURL",
+ PROP_CHART_SYMBOL_BITMAP_URL,
+ cppu::UnoType<OUString>::get(),
+ beans::PropertyAttribute::BOUND
+ | beans::PropertyAttribute::MAYBEDEFAULT );
+
rOutProperties.emplace_back( "SymbolBitmap",
PROP_CHART_SYMBOL_BITMAP,
cppu::UnoType<graphic::XGraphic>::get(),
@@ -278,6 +297,38 @@ beans::PropertyState WrappedSymbolTypeProperty::getPropertyState( const Referenc
return WrappedProperty::getPropertyState( xInnerPropertyState );
}
+WrappedSymbolBitmapURLProperty::WrappedSymbolBitmapURLProperty(
+ const std::shared_ptr<Chart2ModelContact>& spChart2ModelContact,
+ tSeriesOrDiagramPropertyType ePropertyType )
+ : WrappedSeriesOrDiagramProperty<OUString>("SymbolBitmapURL",
+ uno::Any(OUString()), spChart2ModelContact, ePropertyType)
+{
+}
+
+OUString WrappedSymbolBitmapURLProperty::getValueFromSeries(const Reference< beans::XPropertySet >& /*xSeriesPropertySet*/) const
+{
+ return OUString();
+}
+
+void WrappedSymbolBitmapURLProperty::setValueToSeries(
+ const Reference< beans::XPropertySet >& xSeriesPropertySet,
+ OUString const & xNewGraphicURL) const
+{
+ if (!xSeriesPropertySet.is())
+ return;
+
+ chart2::Symbol aSymbol;
+ if (xSeriesPropertySet->getPropertyValue("Symbol") >>= aSymbol)
+ {
+ if (!xNewGraphicURL.isEmpty())
+ {
+ Graphic aGraphic = vcl::graphic::loadFromURL(xNewGraphicURL);
+ aSymbol.Graphic.set(aGraphic.GetXGraphic());
+ xSeriesPropertySet->setPropertyValue("Symbol", uno::Any(aSymbol));
+ }
+ }
+}
+
WrappedSymbolBitmapProperty::WrappedSymbolBitmapProperty(
const std::shared_ptr<Chart2ModelContact>& spChart2ModelContact,
tSeriesOrDiagramPropertyType ePropertyType )
diff --git a/offapi/com/sun/star/chart/ChartDataPointProperties.idl b/offapi/com/sun/star/chart/ChartDataPointProperties.idl
index 06a3b4d92c2d..f80574ff1204 100644
--- a/offapi/com/sun/star/chart/ChartDataPointProperties.idl
+++ b/offapi/com/sun/star/chart/ChartDataPointProperties.idl
@@ -124,6 +124,8 @@ published service ChartDataPointProperties
<p>When you query this value you get an internal URL of the
embedded graphic.</p>
+ @deprecated as of Libreoffice 6.1
+
@see ChartSymbolType
*/
[optional, property] string SymbolBitmapURL;
@@ -139,6 +141,16 @@ published service ChartDataPointProperties
@since LibreOffice 5.1
*/
[optional, property] boolean TextWordWrap;
+
+ /** In charts that support symbols, you can set this property to
+ a graphic object. This graphic is then used as symbol for each
+ data point.
+
+ @since LibreOffice 6.1
+
+ @see ChartSymbolType
+ */
+ [optional, property] com::sun::star::graphic::XGraphic SymbolBitmap;
};
diff --git a/offapi/com/sun/star/chart/LineDiagram.idl b/offapi/com/sun/star/chart/LineDiagram.idl
index 4117feff6aac..5fcb2d15629e 100644
--- a/offapi/com/sun/star/chart/LineDiagram.idl
+++ b/offapi/com/sun/star/chart/LineDiagram.idl
@@ -123,6 +123,16 @@ published service LineDiagram
/** determines the number of sampling points of a spline
*/
[optional, property] long SplineResolution;
+
+ /** Set this property to a graphic object which is then used as
+ symbol for all series.
+
+ @since LibreOffice 6.1
+
+ @deprecated - added for backwards compatibility
+ @see ChartSymbolType
+ */
+ [optional, property] com::sun::star::graphic::XGraphic SymbolBitmap;
};
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataPoint.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataPoint.csv
index af4ebc6b2f74..69bad48ea738 100644
--- a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataPoint.csv
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataPoint.csv
@@ -15,7 +15,6 @@
"ChXDataPoint";"com::sun::star::chart::Chart3DBarProperties#optional";"SolidType"
"ChXDataPoint";"com::sun::star::chart::ChartDataPointProperties";"DataCaption"
"ChXDataPoint";"com::sun::star::chart::ChartDataPointProperties";"SymbolType#optional"
-"ChXDataPoint";"com::sun::star::chart::ChartDataPointProperties";"SymbolBitmapURL#optional"
"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillStyle"
"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillColor"
"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillTransparence"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataRow.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataRow.csv
index f64c24d83035..482d206da493 100644
--- a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataRow.csv
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataRow.csv
@@ -15,7 +15,6 @@
"ChXDataRow";"com::sun::star::chart::Chart3DBarProperties#optional";"SolidType"
"ChXDataRow";"com::sun::star::chart::ChartDataPointProperties";"DataCaption"
"ChXDataRow";"com::sun::star::chart::ChartDataPointProperties";"SymbolType#optional"
-"ChXDataRow";"com::sun::star::chart::ChartDataPointProperties";"SymbolBitmapURL#optional"
"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillStyle"
"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillColor"
"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillTransparence"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDiagram.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDiagram.csv
index 8976f4ae236a..5a0ca113d696 100644
--- a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDiagram.csv
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDiagram.csv
@@ -61,7 +61,6 @@
"ChXDiagram";"com::sun::star::drawing::XShape";"setSize()"
"ChXDiagram";"com::sun::star::chart::LineDiagram";"SymbolType"
"ChXDiagram";"com::sun::star::chart::LineDiagram";"SymbolSize#optional"
-"ChXDiagram";"com::sun::star::chart::LineDiagram";"SymbolBitmapURL#optional"
"ChXDiagram";"com::sun::star::chart::LineDiagram";"Lines"
"ChXDiagram";"com::sun::star::chart::LineDiagram";"SplineType"
"ChXDiagram";"com::sun::star::chart::LineDiagram";"SplineOrder#optional"
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties.java b/qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties.java
index fbf59aa5dac6..c78d87951750 100644
--- a/qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties.java
+++ b/qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties.java
@@ -102,7 +102,27 @@ public class _ChartDataPointProperties extends MultiPropertyTest {
throw new StatusException("Exception while set property value", e);
}
- testProperty("SymbolBitmapURL", URLTester);
+ try {
+ oObj.setPropertyValue(
+ "SymbolBitmapURL",
+ utils.getFullTestURL("space-metal.jpg") );
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
}
}
diff --git a/qadevOOo/tests/java/ifc/chart/_LineDiagram.java b/qadevOOo/tests/java/ifc/chart/_LineDiagram.java
index d461844513cc..aaade8f9bc29 100644
--- a/qadevOOo/tests/java/ifc/chart/_LineDiagram.java
+++ b/qadevOOo/tests/java/ifc/chart/_LineDiagram.java
@@ -183,7 +183,27 @@ public class _LineDiagram extends MultiPropertyTest {
throw new StatusException("Exception while set property value", e);
}
- testProperty("SymbolBitmapURL", URLTester) ;
+ try {
+ oObj.setPropertyValue(
+ "SymbolBitmapURL",
+ util.utils.getFullTestURL("space-metal.jpg") );
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
}
} // EOF LineDiagram