chart2/Library_chart2.mk                                       |    6 
 chart2/inc/bitmaps.hlst                                        |    2 
 chart2/inc/strings.hrc                                         |    2 
 chart2/source/chart2.component                                 |    5 
 chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx    |    6 
 chart2/source/controller/dialogs/ChartTypeDialogController.cxx |   51 -
 chart2/source/controller/dialogs/tp_ChartType.cxx              |    1 
 chart2/source/controller/sidebar/ChartTypePanel.cxx            |    1 
 chart2/source/inc/ChartTypeDialogController.hxx                |   14 
 chart2/source/inc/HistogramDataSequence.hxx                    |  104 ---
 chart2/source/inc/servicenames_charttypes.hxx                  |    2 
 chart2/source/model/template/ChartType.cxx                     |    5 
 chart2/source/model/template/ChartTypeManager.cxx              |    8 
 chart2/source/model/template/ChartTypeTemplate.cxx             |    1 
 chart2/source/model/template/HistogramCalculator.cxx           |  122 ----
 chart2/source/model/template/HistogramCalculator.hxx           |   36 -
 chart2/source/model/template/HistogramChartType.cxx            |  295 
----------
 chart2/source/model/template/HistogramChartType.hxx            |   52 -
 chart2/source/model/template/HistogramChartTypeTemplate.cxx    |  160 -----
 chart2/source/model/template/HistogramChartTypeTemplate.hxx    |   67 --
 chart2/source/model/template/HistogramDataInterpreter.cxx      |   63 --
 chart2/source/model/template/HistogramDataInterpreter.hxx      |   35 -
 chart2/source/tools/ChartTypeHelper.cxx                        |   19 
 chart2/source/tools/HistogramDataSequence.cxx                  |  154 -----
 chart2/source/view/charttypes/HistogramChart.cxx               |  140 ----
 chart2/source/view/charttypes/HistogramChart.hxx               |   44 -
 chart2/source/view/charttypes/VSeriesPlotter.cxx               |    4 
 dev/null                                                       |binary
 offapi/UnoApi_offapi.mk                                        |    1 
 offapi/com/sun/star/chart/HistogramDiagram.idl                 |   35 -
 oox/inc/drawingml/chart/typegroupconverter.hxx                 |    2 
 oox/source/drawingml/chart/typegroupconverter.cxx              |    2 
 solenv/bin/native-code.py                                      |    1 
 sw/qa/uitest/chart/tdf138556.py                                |    2 
 34 files changed, 3 insertions(+), 1439 deletions(-)

New commits:
commit c01d79b8d35b252817acc6a7618b283d00fcd0ff
Author:     Tomaž Vajngerl <[email protected]>
AuthorDate: Mon Jan 6 09:04:03 2025 +0900
Commit:     Xisco Fauli <[email protected]>
CommitDate: Thu Jun 12 17:12:27 2025 +0200

    tdf#164593 Revert "tdf#82716 Add initial implementation of the His.."
    
    This reverts commit 07ae0e5ada7cb595eb4815413a5bdd442c32a6ab.
    
    This is not ready for release in 25-8, so best to just remove it
    from this branch.
    
    (cherry picked from commit 9693f1461c7d78c7461f8bbd7f421ba8c3f8452b)
    
    Change-Id: Ifd4008d62f9816d995f97104ba432ebc8be89c97
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186407
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/chart2/Library_chart2.mk b/chart2/Library_chart2.mk
index ebc93b1148c8..48697de3772c 100644
--- a/chart2/Library_chart2.mk
+++ b/chart2/Library_chart2.mk
@@ -251,7 +251,6 @@ $(eval $(call gb_Library_add_exception_objects,chart2,\
     chart2/source/view/charttypes/BubbleChart \
     chart2/source/view/charttypes/CandleStickChart \
     chart2/source/view/charttypes/CategoryPositionHelper \
-    chart2/source/view/charttypes/HistogramChart \
     chart2/source/view/charttypes/NetChart \
     chart2/source/view/charttypes/PieChart \
     chart2/source/view/charttypes/Splines \
@@ -322,10 +321,6 @@ $(eval $(call gb_Library_add_exception_objects,chart2,\
     chart2/source/model/template/FilledNetChartType \
     chart2/source/model/template/FunnelChartType \
     chart2/source/model/template/FunnelChartTypeTemplate \
-    chart2/source/model/template/HistogramChartType \
-    chart2/source/model/template/HistogramChartTypeTemplate \
-    chart2/source/model/template/HistogramDataInterpreter \
-    chart2/source/model/template/HistogramCalculator \
     chart2/source/model/template/LineChartType \
     chart2/source/model/template/LineChartTypeTemplate \
     chart2/source/model/template/NetChartType \
@@ -363,7 +358,6 @@ $(eval $(call gb_Library_add_exception_objects,chart2,\
     chart2/source/tools/ExponentialRegressionCurveCalculator \
     chart2/source/tools/FillProperties \
     chart2/source/tools/FormattedStringHelper \
-    chart2/source/tools/HistogramDataSequence \
     chart2/source/tools/InternalData \
     chart2/source/tools/InternalDataProvider \
     chart2/source/tools/LabeledDataSequence \
diff --git a/chart2/inc/bitmaps.hlst b/chart2/inc/bitmaps.hlst
index f0eabe5d53eb..b4b5e77e2730 100644
--- a/chart2/inc/bitmaps.hlst
+++ b/chart2/inc/bitmaps.hlst
@@ -11,7 +11,6 @@
 
 inline constexpr OUString BMP_TYPE_COLUMN = 
u"chart2/res/typecolumn_16.png"_ustr;
 inline constexpr OUString BMP_TYPE_BAR = u"chart2/res/typebar_16.png"_ustr;
-inline constexpr OUString BMP_TYPE_HISTOGRAM = 
u"chart2/res/typehistogram_16.png"_ustr;
 inline constexpr OUString BMP_TYPE_PIE = u"chart2/res/typepie_16.png"_ustr;
 inline constexpr OUString BMP_TYPE_OFPIE = u"chart2/res/typeofpie_16.png"_ustr;
 inline constexpr OUString BMP_TYPE_LINE = 
u"chart2/res/typepointline_16.png"_ustr;
@@ -53,7 +52,6 @@ inline constexpr OUString BMP_COLUMNS_3D = 
u"chart2/res/columns3ddeep_52x60.png"
 inline constexpr OUString BMP_COLUMNS_3D_1 = 
u"chart2/res/columns3d_52x60.png"_ustr;
 inline constexpr OUString BMP_COLUMNS_3D_2 = 
u"chart2/res/columnstack3d_52x60.png"_ustr;
 inline constexpr OUString BMP_COLUMNS_3D_3 = 
u"chart2/res/columnpercent3d_52x60.png"_ustr;
-inline constexpr OUString BMP_HISTOGRAM = 
u"chart2/res/histogram_52x60.png"_ustr;
 inline constexpr OUString BMP_KEGELQ_3D_1 = 
u"chart2/res/conehori_52x60.png"_ustr;
 inline constexpr OUString BMP_KEGELQ_3D_2 = 
u"chart2/res/conehoristack_52x60.png"_ustr;
 inline constexpr OUString BMP_KEGELQ_3D_3 = 
u"chart2/res/conehoripercent_52x60.png"_ustr;
diff --git a/chart2/inc/strings.hrc b/chart2/inc/strings.hrc
index 522dd8cdedfa..d2aa4d9c275b 100644
--- a/chart2/inc/strings.hrc
+++ b/chart2/inc/strings.hrc
@@ -159,8 +159,6 @@
 
 #define STR_TYPE_COLUMN                             NC_("STR_TYPE_COLUMN", 
"Column")
 #define STR_TYPE_BAR                                NC_("STR_TYPE_BAR", "Bar")
-#define STR_TYPE_HISTOGRAM                          NC_("STR_TYPE_HISTOGRAM", 
"Histogram")
-#define STR_HISTOGRAM                               NC_("STR_HISTOGRAM", 
"Histogram Chart")
 #define STR_TYPE_AREA                               NC_("STR_TYPE_AREA", 
"Area")
 #define STR_TYPE_PIE                                NC_("STR_TYPE_PIE", "Pie")
 #define STR_TYPE_OFPIE                              NC_("STR_TYPE_PIE", 
"Of-Pie")
diff --git a/chart2/source/chart2.component b/chart2/source/chart2.component
index b94fab20768c..5e41ddf69b1a 100644
--- a/chart2/source/chart2.component
+++ b/chart2/source/chart2.component
@@ -136,11 +136,6 @@
     constructor="com_sun_star_comp_chart_ColumnChartType_get_implementation">
     <service name="com.sun.star.chart2.ChartType"/>
     <service name="com.sun.star.chart2.ColumnChartType"/>
-  </implementation>
-    <implementation name="com.sun.star.comp.chart.HistogramChartType"
-    
constructor="com_sun_star_comp_chart_HistogramChartType_get_implementation">
-    <service name="com.sun.star.chart2.ChartType"/>
-    <service name="com.sun.star.chart2.HistogramChartType"/>
   </implementation>
   <implementation name="com.sun.star.comp.chart.DataSeries"
     constructor="com_sun_star_comp_chart_DataSeries_get_implementation">
diff --git a/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx 
b/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx
index 217921db9f00..855ed9d36885 100644
--- a/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx
@@ -524,12 +524,9 @@ OUString lcl_getDiagramType( std::u16string_view 
rTemplateServiceName )
         // "PercentStackedLine" "LineSymbol" "StackedLineSymbol"
         // "PercentStackedLineSymbol" "ThreeDLine" "StackedThreeDLine"
         // "PercentStackedThreeDLine" "ThreeDLineDeep"
-        if( aName.find(u"Line") != std::u16string_view::npos || aName.find( 
u"Symbol" ) != std::u16string_view::npos )
+        if( aName.find( u"Line" ) != std::u16string_view::npos || aName.find( 
u"Symbol" ) != std::u16string_view::npos )
             return u"com.sun.star.chart.LineDiagram"_ustr;
 
-        if (aName.find(u"Histogram") != std::u16string_view::npos)
-            return u"com.sun.star.chart.HistogramDiagram"_ustr;
-
         OSL_FAIL( "unknown template" );
     }
 
@@ -544,7 +541,6 @@ const tMakeStringStringMap& lcl_getChartTypeNameMap()
         {"com.sun.star.chart2.LineChartType", 
"com.sun.star.chart.LineDiagram"},
         {"com.sun.star.chart2.AreaChartType", 
"com.sun.star.chart.AreaDiagram"},
         {"com.sun.star.chart2.ColumnChartType", 
"com.sun.star.chart.BarDiagram"},
-        {"com.sun.star.chart2.HistogramChartType", 
"com.sun.star.chart.HistogramDiagram"},
         {"com.sun.star.chart2.PieChartType", "com.sun.star.chart.PieDiagram"},
         {"com.sun.star.chart2.DonutChartType", 
"com.sun.star.chart.DonutDiagram"},
         {"com.sun.star.chart2.ScatterChartType", 
"com.sun.star.chart.XYDiagram"},
diff --git a/chart2/source/controller/dialogs/ChartTypeDialogController.cxx 
b/chart2/source/controller/dialogs/ChartTypeDialogController.cxx
index 555600b86edf..f3e97e968738 100644
--- a/chart2/source/controller/dialogs/ChartTypeDialogController.cxx
+++ b/chart2/source/controller/dialogs/ChartTypeDialogController.cxx
@@ -556,57 +556,6 @@ void BarChartDialogController::fillSubTypeList( ValueSet& 
rSubTypeList, const Ch
     rSubTypeList.SetItemText( 4, SchResId( STR_DEEP ) );
 }
 
-HistogramChartDialogController::HistogramChartDialogController()
-{
-    bSupports3D = false;
-}
-
-HistogramChartDialogController::~HistogramChartDialogController()
-{
-}
-
-OUString HistogramChartDialogController::getName()
-{
-    return SchResId(STR_TYPE_HISTOGRAM);
-}
-
-OUString HistogramChartDialogController::getImage()
-{
-    return BMP_TYPE_HISTOGRAM;
-}
-
-const tTemplateServiceChartTypeParameterMap& 
HistogramChartDialogController::getTemplateMap() const
-{
-    static tTemplateServiceChartTypeParameterMap s_aTemplateMap{
-        {"com.sun.star.chart2.template.Histogram" , ChartTypeParameter(1, 
false, false, GlobalStackMode_NONE)}
-    };
-    return s_aTemplateMap;
-}
-void HistogramChartDialogController::fillSubTypeList(ValueSet& rSubTypeList, 
const ChartTypeParameter& /*rParameter*/)
-{
-    rSubTypeList.Clear();
-    rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_HISTOGRAM));
-    rSubTypeList.SetItemText(1, SchResId(STR_HISTOGRAM));
-}
-
-void 
HistogramChartDialogController::adjustParameterToSubType(ChartTypeParameter& 
rParameter)
-{
-    rParameter.b3DLook = false;
-
-    switch (rParameter.nSubTypeIndex)
-    {
-        case 2:
-            // Pareto Histogram
-            break;
-        default:
-            // Standard Histogram
-            rParameter.eStackMode = GlobalStackMode_NONE; // Ensure no stacking
-            rParameter.bXAxisWithValues = false; // Standard histogram may not 
need X-axis values
-            // Set default bin width or other relevant properties if needed
-            break;
-    }
-}
-
 //=========
 // PieChartDialogController
 //=========
diff --git a/chart2/source/controller/dialogs/tp_ChartType.cxx 
b/chart2/source/controller/dialogs/tp_ChartType.cxx
index 45f5b277ef7e..01e7e9b470dc 100644
--- a/chart2/source/controller/dialogs/tp_ChartType.cxx
+++ b/chart2/source/controller/dialogs/tp_ChartType.cxx
@@ -99,7 +99,6 @@ ChartTypeTabPage::ChartTypeTabPage(weld::Container* pPage, 
weld::DialogControlle
 
     
m_aChartTypeDialogControllerList.push_back(std::make_unique<ColumnChartDialogController>());
     
m_aChartTypeDialogControllerList.push_back(std::make_unique<BarChartDialogController>());
-    
m_aChartTypeDialogControllerList.push_back(std::make_unique<HistogramChartDialogController>());
     
m_aChartTypeDialogControllerList.push_back(std::make_unique<PieChartDialogController>());
     
m_aChartTypeDialogControllerList.push_back(std::make_unique<OfPieChartDialogController>());
     
m_aChartTypeDialogControllerList.push_back(std::make_unique<AreaChartDialogController>());
diff --git a/chart2/source/controller/sidebar/ChartTypePanel.cxx 
b/chart2/source/controller/sidebar/ChartTypePanel.cxx
index fa85ded6d4a6..74c3423ebe6d 100644
--- a/chart2/source/controller/sidebar/ChartTypePanel.cxx
+++ b/chart2/source/controller/sidebar/ChartTypePanel.cxx
@@ -85,7 +85,6 @@ ChartTypePanel::ChartTypePanel(weld::Widget* pParent, 
::chart::ChartController*
 
     
m_aChartTypeDialogControllerList.push_back(std::make_unique<ColumnChartDialogController>());
     
m_aChartTypeDialogControllerList.push_back(std::make_unique<BarChartDialogController>());
-    
m_aChartTypeDialogControllerList.push_back(std::make_unique<HistogramChartDialogController>());
     
m_aChartTypeDialogControllerList.push_back(std::make_unique<PieChartDialogController>());
     
m_aChartTypeDialogControllerList.push_back(std::make_unique<OfPieChartDialogController>());
     
m_aChartTypeDialogControllerList.push_back(std::make_unique<AreaChartDialogController>());
diff --git a/chart2/source/inc/ChartTypeDialogController.hxx 
b/chart2/source/inc/ChartTypeDialogController.hxx
index d052f0d76e1c..e55f6dea85dc 100644
--- a/chart2/source/inc/ChartTypeDialogController.hxx
+++ b/chart2/source/inc/ChartTypeDialogController.hxx
@@ -173,20 +173,6 @@ public:
                                  const ChartTypeParameter& rParameter) 
override;
 };
 
-class HistogramChartDialogController final : public ChartTypeDialogController
-{
-public:
-    HistogramChartDialogController();
-    virtual ~HistogramChartDialogController() override;
-
-    virtual OUString getName() override;
-    virtual OUString getImage() override;
-    virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() 
const override;
-    virtual void fillSubTypeList(ValueSet& rSubTypeList,
-                                 const ChartTypeParameter& rParameter) 
override;
-    virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) 
override;
-};
-
 class PieChartDialogController final : public ChartTypeDialogController
 {
 public:
diff --git a/chart2/source/inc/HistogramDataSequence.hxx 
b/chart2/source/inc/HistogramDataSequence.hxx
deleted file mode 100644
index 3a8ac0233476..000000000000
--- a/chart2/source/inc/HistogramDataSequence.hxx
+++ /dev/null
@@ -1,104 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#pragma once
-
-// helper classes
-#include <comphelper/compbase.hxx>
-#include <comphelper/uno3.hxx>
-#include <comphelper/broadcasthelper.hxx>
-#include <comphelper/propertycontainer2.hxx>
-#include <comphelper/proparrhlp.hxx>
-#include <rtl/ref.hxx>
-
-#include "ModifyListenerHelper.hxx"
-
-// interfaces and types
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/chart2/data/XDataSequence.hpp>
-#include <com/sun/star/chart2/data/XNumericalDataSequence.hpp>
-#include <com/sun/star/chart2/data/XTextualDataSequence.hpp>
-#include <com/sun/star/util/XCloneable.hpp>
-#include <com/sun/star/util/XModifiable.hpp>
-
-namespace chart
-{
-typedef ::comphelper::WeakComponentImplHelper<
-    css::chart2::data::XDataSequence, 
css::chart2::data::XNumericalDataSequence,
-    css::chart2::data::XTextualDataSequence, css::util::XCloneable, 
css::util::XModifyBroadcaster,
-    css::lang::XServiceInfo>
-    HistogramDataSequence_Base;
-
-class HistogramDataSequence final
-    : public HistogramDataSequence_Base,
-      public ::comphelper::OPropertyContainer2,
-      public ::comphelper::OPropertyArrayUsageHelper<HistogramDataSequence>
-{
-public:
-    HistogramDataSequence();
-    virtual ~HistogramDataSequence() override;
-
-    /// declare XServiceInfo methods
-    OUString SAL_CALL getImplementationName() override;
-    sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override;
-    css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override;
-
-    /// merge XInterface implementations
-    DECLARE_XINTERFACE()
-
-    /// merge XTypeProvider implementations
-    DECLARE_XTYPEPROVIDER()
-
-    // XPropertySet
-    /// @see css::beans::XPropertySet
-    virtual css::uno::Reference<css::beans::XPropertySetInfo>
-        SAL_CALL getPropertySetInfo() override;
-    /// @see ::comphelper::OPropertySetHelper
-    virtual ::cppu::IPropertyArrayHelper& getInfoHelper() override;
-    /// @see ::comphelper::OPropertyArrayUsageHelper
-    virtual ::cppu::IPropertyArrayHelper* createArrayHelper() const override;
-
-    // XDataSequence
-    css::uno::Sequence<css::uno::Any> SAL_CALL getData() override;
-    OUString SAL_CALL getSourceRangeRepresentation() override;
-    css::uno::Sequence<OUString>
-        SAL_CALL generateLabel(css::chart2::data::LabelOrigin nLabelOrigin) 
override;
-    sal_Int32 SAL_CALL getNumberFormatKeyByIndex(sal_Int32 nIndex) override;
-
-    // XNumericalDataSequence
-    /// @see css::chart::data::XNumericalDataSequence
-    virtual css::uno::Sequence<double> SAL_CALL getNumericalData() override;
-
-    // XTextualDataSequence
-    /// @see css::chart::data::XTextualDataSequence
-    virtual css::uno::Sequence<OUString> SAL_CALL getTextualData() override;
-
-    // XCloneable
-    virtual css::uno::Reference<css::util::XCloneable> SAL_CALL createClone() 
override;
-
-    // XModifyBroadcaster
-    virtual void SAL_CALL
-    addModifyListener(const css::uno::Reference<css::util::XModifyListener>& 
aListener) override;
-    virtual void SAL_CALL
-    removeModifyListener(const 
css::uno::Reference<css::util::XModifyListener>& aListener) override;
-
-    void setLabels(css::uno::Sequence<OUString> const& xLabels) { mxLabels = 
xLabels; }
-
-    void setValues(css::uno::Sequence<double> const& xValues) { mxValues = 
xValues; }
-
-private:
-    rtl::Reference<chart::ModifyEventForwarder> m_xModifyEventForwarder;
-    OUString m_sRole;
-    css::uno::Sequence<OUString> mxLabels;
-    css::uno::Sequence<double> mxValues;
-};
-
-} // namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/inc/servicenames_charttypes.hxx 
b/chart2/source/inc/servicenames_charttypes.hxx
index fe4bcb1126bf..5a84e3b92c0c 100644
--- a/chart2/source/inc/servicenames_charttypes.hxx
+++ b/chart2/source/inc/servicenames_charttypes.hxx
@@ -26,8 +26,6 @@ inline constexpr OUString CHART2_SERVICE_NAME_CHARTTYPE_BAR
     = u"com.sun.star.chart2.BarChartType"_ustr;
 inline constexpr OUString CHART2_SERVICE_NAME_CHARTTYPE_COLUMN
     = u"com.sun.star.chart2.ColumnChartType"_ustr;
-inline constexpr OUString CHART2_SERVICE_NAME_CHARTTYPE_HISTOGRAM
-    = u"com.sun.star.chart2.HistogramChartType"_ustr;
 inline constexpr OUString CHART2_SERVICE_NAME_CHARTTYPE_LINE
     = u"com.sun.star.chart2.LineChartType"_ustr;
 inline constexpr OUString CHART2_SERVICE_NAME_CHARTTYPE_SCATTER
diff --git a/chart2/source/model/template/ChartType.cxx 
b/chart2/source/model/template/ChartType.cxx
index 25d050ddbb72..7b91223a8915 100644
--- a/chart2/source/model/template/ChartType.cxx
+++ b/chart2/source/model/template/ChartType.cxx
@@ -450,8 +450,6 @@ bool 
ChartType::isSupportingOverlapAndGapWidthProperties(sal_Int32 nDimensionCou
     if (aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_BAR))
         return true;
 
-    if (aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_HISTOGRAM))
-        return true;
     return false;
 }
 
@@ -589,8 +587,7 @@ bool ChartType::isSupportingCategoryPositioning(sal_Int32 
nDimensionCount)
     }
     else if (nDimensionCount == 2 &&
             (aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_COLUMN) ||
-             aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_BAR) ||
-             aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_HISTOGRAM)))
+             aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_BAR)))
     {
         return true;
     }
diff --git a/chart2/source/model/template/ChartTypeManager.cxx 
b/chart2/source/model/template/ChartTypeManager.cxx
index 8baf3682ecac..7acb02a6c894 100644
--- a/chart2/source/model/template/ChartTypeManager.cxx
+++ b/chart2/source/model/template/ChartTypeManager.cxx
@@ -23,7 +23,6 @@
 #include "LineChartTypeTemplate.hxx"
 #include "BarChartTypeTemplate.hxx"
 #include "ColumnLineChartTypeTemplate.hxx"
-#include "HistogramChartTypeTemplate.hxx"
 #include "AreaChartTypeTemplate.hxx"
 #include "PieChartTypeTemplate.hxx"
 #include "ScatterChartTypeTemplate.hxx"
@@ -81,7 +80,6 @@ enum TemplateId
     TEMPLATE_PERCENTSTACKEDTHREEDBARFLAT,
     TEMPLATE_COLUMNWITHLINE,
     TEMPLATE_STACKEDCOLUMNWITHLINE,
-    TEMPLATE_HISTOGRAM,
     TEMPLATE_AREA,
     TEMPLATE_STACKEDAREA,
     TEMPLATE_PERCENTSTACKEDAREA,
@@ -159,7 +157,6 @@ const tTemplateMapType & lcl_DefaultChartTypeMap()
         {"com.sun.star.chart2.template.PercentStackedThreeDBarFlat",    
TEMPLATE_PERCENTSTACKEDTHREEDBARFLAT},
         {"com.sun.star.chart2.template.ColumnWithLine",                 
TEMPLATE_COLUMNWITHLINE},
         {"com.sun.star.chart2.template.StackedColumnWithLine",          
TEMPLATE_STACKEDCOLUMNWITHLINE},
-        {"com.sun.star.chart2.template.Histogram",                      
TEMPLATE_HISTOGRAM},
         {"com.sun.star.chart2.template.Area",                           
TEMPLATE_AREA},
         {"com.sun.star.chart2.template.StackedArea",                    
TEMPLATE_STACKEDAREA},
         {"com.sun.star.chart2.template.PercentStackedArea",             
TEMPLATE_PERCENTSTACKEDAREA},
@@ -371,11 +368,6 @@ rtl::Reference< ::chart::ChartTypeTemplate > 
ChartTypeManager::createTemplate(
         }
         break;
 
-        // Histogram
-        case TEMPLATE_HISTOGRAM:
-            xTemplate.set( new HistogramChartTypeTemplate( m_xContext, 
aServiceSpecifier, StackMode::NONE ));
-            break;
-
         // Area
         case TEMPLATE_AREA:
             xTemplate.set( new AreaChartTypeTemplate( m_xContext, 
aServiceSpecifier, StackMode::NONE ));
diff --git a/chart2/source/model/template/ChartTypeTemplate.cxx 
b/chart2/source/model/template/ChartTypeTemplate.cxx
index 5685f9e06c0c..6549f26f02da 100644
--- a/chart2/source/model/template/ChartTypeTemplate.cxx
+++ b/chart2/source/model/template/ChartTypeTemplate.cxx
@@ -571,7 +571,6 @@ void ChartTypeTemplate::adaptScales(
                                 // Bar types, but not BarOfPie
                                 aData.ShiftedCategoryPosition =
                                     m_aServiceName.indexOf("Column") != -1 ||
-                                    m_aServiceName.indexOf("Histogram") != -1 
||
                                     (m_aServiceName.indexOf("Bar") != -1 &&
                                      !m_aServiceName.indexOf("BarOfPie")) ||
                                     m_aServiceName.endsWith("Close");
diff --git a/chart2/source/model/template/HistogramCalculator.cxx 
b/chart2/source/model/template/HistogramCalculator.cxx
deleted file mode 100644
index ac0455196a53..000000000000
--- a/chart2/source/model/template/HistogramCalculator.cxx
+++ /dev/null
@@ -1,122 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include "HistogramCalculator.hxx"
-
-#include <algorithm>
-#include <cmath>
-
-namespace chart
-{
-HistogramCalculator::HistogramCalculator() = default;
-
-void HistogramCalculator::computeBinFrequencyHistogram(const 
std::vector<double>& rDataPoints)
-{
-    if (rDataPoints.empty())
-        return;
-
-    mnBins = 1;
-    mfBinWidth = 1.0;
-    maBinRanges.clear();
-    maBinFrequencies.clear();
-
-    // Calculate statistics
-    double fSum = 0.0;
-    double fSquareSum = 0.0;
-    double fMinValue = rDataPoints[0];
-    double fMaxValue = rDataPoints[0];
-    sal_Int32 nValidCount = 0;
-
-    // Compute min and max values, ignoring non-finite values
-    for (const auto& rValue : rDataPoints)
-    {
-        if (std::isfinite(rValue))
-        {
-            fSum += rValue;
-            fSquareSum += rValue * rValue;
-            fMinValue = std::min(fMinValue, rValue);
-            fMaxValue = std::max(fMaxValue, rValue);
-            ++nValidCount;
-        }
-    }
-
-    if (nValidCount < 2 || fMinValue == fMaxValue) // Need at least two points 
for variance
-    {
-        mnBins = 1;
-        mfBinWidth = 1.0;
-        maBinRanges = { { std::floor(fMinValue), std::ceil(fMinValue + 1.0) } 
};
-        maBinFrequencies = { nValidCount };
-        return;
-    }
-
-    double fMean = fSum / nValidCount;
-    double fVariance = (fSquareSum - fSum * fMean) / (nValidCount - 1);
-    double fStdDev = std::sqrt(fVariance);
-
-    // Apply Scott's rule for bin width
-    mfBinWidth = (3.5 * fStdDev) / std::cbrt(nValidCount);
-
-    // Calculate number of bins
-    mnBins = static_cast<sal_Int32>(std::ceil((fMaxValue - fMinValue) / 
mfBinWidth));
-    mnBins = std::max<sal_Int32>(mnBins, 1); // Ensure at least one bin
-
-    // Set up bin ranges
-    maBinRanges.reserve(mnBins);
-    double fBinStart = fMinValue;
-
-    for (sal_Int32 i = 0; i < mnBins; ++i)
-    {
-        double fBinEnd = fBinStart + mfBinWidth;
-
-        // Correct rounding to avoid discrepancies
-        fBinStart = std::round(fBinStart * 100.0) / 100.0;
-        fBinEnd = std::round(fBinEnd * 100.0) / 100.0;
-
-        if (i == 0)
-        {
-            // First bin includes the minimum value, so use closed interval 
[fMinValue, fBinEnd]
-            maBinRanges.emplace_back(fMinValue, fBinEnd);
-        }
-        else
-        {
-            // Subsequent bins use half-open interval (fBinStart, fBinEnd]
-            maBinRanges.emplace_back(fBinStart, fBinEnd);
-        }
-        fBinStart = fBinEnd;
-    }
-
-    // Adjust the last bin end to be inclusive
-    maBinRanges.back().second = std::max(maBinRanges.back().second, fMaxValue);
-
-    // Calculate frequencies
-    maBinFrequencies.assign(mnBins, 0);
-    for (double fValue : rDataPoints)
-    {
-        if (std::isfinite(fValue))
-        {
-            for (size_t i = 0; i < maBinRanges.size(); ++i)
-            {
-                if (i == 0 && fValue >= maBinRanges[i].first && fValue <= 
maBinRanges[i].second)
-                {
-                    maBinFrequencies[i]++;
-                    break;
-                }
-                else if (i > 0 && fValue > maBinRanges[i].first && fValue <= 
maBinRanges[i].second)
-                {
-                    maBinFrequencies[i]++;
-                    break;
-                }
-            }
-        }
-    }
-}
-
-} //  namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/chart2/source/model/template/HistogramCalculator.hxx 
b/chart2/source/model/template/HistogramCalculator.hxx
deleted file mode 100644
index d2c43453af1b..000000000000
--- a/chart2/source/model/template/HistogramCalculator.hxx
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#pragma once
-
-#include <sal/types.h>
-#include <vector>
-
-namespace chart
-{
-class HistogramCalculator
-{
-    sal_Int32 mnBins = 1;
-    double mfBinWidth = 1.0;
-
-    std::vector<std::pair<double, double>> maBinRanges;
-    std::vector<sal_Int32> maBinFrequencies;
-
-public:
-    HistogramCalculator();
-
-    void computeBinFrequencyHistogram(const std::vector<double>& dataPoints);
-
-    const std::vector<std::pair<double, double>>& getBinRanges() const { 
return maBinRanges; }
-    const std::vector<sal_Int32>& getBinFrequencies() const { return 
maBinFrequencies; }
-};
-
-} //  namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/chart2/source/model/template/HistogramChartType.cxx 
b/chart2/source/model/template/HistogramChartType.cxx
deleted file mode 100644
index 2f202de39945..000000000000
--- a/chart2/source/model/template/HistogramChartType.cxx
+++ /dev/null
@@ -1,295 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include "HistogramChartType.hxx"
-#include <servicenames_charttypes.hxx>
-#include <CartesianCoordinateSystem.hxx>
-#include <PropertyHelper.hxx>
-#include <Axis.hxx>
-#include <AxisHelper.hxx>
-#include <AxisIndexDefines.hxx>
-#include <DataSeries.hxx>
-#include <LabeledDataSequence.hxx>
-#include <HistogramDataSequence.hxx>
-#include "HistogramCalculator.hxx"
-#include <com/sun/star/chart2/AxisType.hpp>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <cppuhelper/supportsservice.hxx>
-
-#include <algorithm>
-#include <cmath>
-#include <iostream>
-namespace com::sun::star::uno
-{
-class XComponentContext;
-}
-
-using namespace ::com::sun::star;
-using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::beans::Property;
-
-namespace
-{
-enum
-{
-    PROP_HISTOGRAMCHARTTYPE_BINWIDTH,
-    PROP_HISTOGRAMCHARTTYPE_BINRANGE,
-    PROP_HISTOGRAMCHARTTYPE_FREQUENCYTYPE,
-    PROP_HISTOGRAMCHARTTYPE_OVERLAP_SEQUENCE,
-    PROP_HISTOGRAMCHARTTYPE_GAPWIDTH_SEQUENCE
-};
-
-void lcl_AddPropertiesToVector(std::vector<Property>& rOutProperties)
-{
-    rOutProperties.emplace_back(
-        "BinWidth", PROP_HISTOGRAMCHARTTYPE_BINWIDTH, 
cppu::UnoType<double>::get(),
-        beans::PropertyAttribute::BOUND | 
beans::PropertyAttribute::MAYBEDEFAULT);
-
-    rOutProperties.emplace_back(
-        "BinRange", PROP_HISTOGRAMCHARTTYPE_BINRANGE, 
cppu::UnoType<double>::get(),
-        beans::PropertyAttribute::BOUND | 
beans::PropertyAttribute::MAYBEDEFAULT);
-
-    rOutProperties.emplace_back(
-        "FrequencyType", PROP_HISTOGRAMCHARTTYPE_FREQUENCYTYPE, 
cppu::UnoType<sal_Int32>::get(),
-        beans::PropertyAttribute::BOUND | 
beans::PropertyAttribute::MAYBEDEFAULT);
-
-    rOutProperties.emplace_back("OverlapSequence", 
PROP_HISTOGRAMCHARTTYPE_OVERLAP_SEQUENCE,
-                                cppu::UnoType<Sequence<sal_Int32>>::get(),
-                                beans::PropertyAttribute::BOUND
-                                    | beans::PropertyAttribute::MAYBEDEFAULT);
-
-    rOutProperties.emplace_back("GapwidthSequence", 
PROP_HISTOGRAMCHARTTYPE_GAPWIDTH_SEQUENCE,
-                                cppu::UnoType<sal_Int32>::get(),
-                                beans::PropertyAttribute::BOUND
-                                    | beans::PropertyAttribute::MAYBEDEFAULT);
-}
-
-::cppu::OPropertyArrayHelper& StaticHistogramChartTypeInfoHelper()
-{
-    static ::cppu::OPropertyArrayHelper aPropHelper = []() {
-        std::vector<css::beans::Property> aProperties;
-        lcl_AddPropertiesToVector(aProperties);
-
-        std::sort(aProperties.begin(), aProperties.end(), 
::chart::PropertyNameLess());
-
-        return comphelper::containerToSequence(aProperties);
-    }();
-    return aPropHelper;
-};
-
-} // anonymous namespace
-
-namespace chart
-{
-HistogramChartType::HistogramChartType() {}
-
-HistogramChartType::HistogramChartType(const HistogramChartType& rOther)
-    : ChartType(rOther)
-{
-}
-
-HistogramChartType::~HistogramChartType() {}
-
-// ____ XCloneable ____
-uno::Reference<util::XCloneable> SAL_CALL HistogramChartType::createClone()
-{
-    return uno::Reference<util::XCloneable>(new HistogramChartType(*this));
-}
-
-rtl::Reference<ChartType> HistogramChartType::cloneChartType() const
-{
-    return new HistogramChartType(*this);
-}
-
-// ____ XChartType ____
-rtl::Reference<::chart::BaseCoordinateSystem>
-HistogramChartType::createCoordinateSystem2(sal_Int32 DimensionCount)
-{
-    rtl::Reference<CartesianCoordinateSystem> xResult
-        = new CartesianCoordinateSystem(DimensionCount);
-
-    for (sal_Int32 i = 0; i < DimensionCount; i++)
-    {
-        rtl::Reference<Axis> xAxis = xResult->getAxisByDimension2(i, 
MAIN_AXIS_INDEX);
-        if (xAxis.is())
-        {
-            chart2::ScaleData aScaleData = xAxis->getScaleData();
-            aScaleData.Orientation = chart2::AxisOrientation_MATHEMATICAL;
-            aScaleData.Scaling = AxisHelper::createLinearScaling();
-
-            if (i == 0) //X-axis
-            {
-                aScaleData.AxisType = chart2::AxisType::REALNUMBER;
-                aScaleData.AutoDateAxis = false;
-            }
-            else if (i == 1) //Y-axis
-            {
-                aScaleData.AxisType = chart2::AxisType::REALNUMBER;
-            }
-
-            xAxis->setScaleData(aScaleData);
-        }
-    }
-
-    return xResult;
-}
-
-OUString SAL_CALL HistogramChartType::getChartType()
-{
-    return CHART2_SERVICE_NAME_CHARTTYPE_HISTOGRAM;
-}
-
-uno::Sequence<OUString> HistogramChartType::getSupportedPropertyRoles()
-{
-    return { u"FillColor"_ustr, u"BorderColor"_ustr };
-}
-
-::cppu::IPropertyArrayHelper& SAL_CALL HistogramChartType::getInfoHelper()
-{
-    return StaticHistogramChartTypeInfoHelper();
-}
-
-// ____ OPropertySet ____
-void HistogramChartType::GetDefaultValue(sal_Int32 nHandle, uno::Any& rAny) 
const
-{
-    static const ::chart::tPropertyValueMap aStaticDefaults = []() {
-        ::chart::tPropertyValueMap aTmp;
-        Sequence<sal_Int32> aSeq{ 0 }; // No gap for histogram
-        ::chart::PropertyHelper::setPropertyValueDefault(
-            aTmp, PROP_HISTOGRAMCHARTTYPE_GAPWIDTH_SEQUENCE, aSeq);
-        ::chart::PropertyHelper::setPropertyValueDefault(
-            aTmp, PROP_HISTOGRAMCHARTTYPE_OVERLAP_SEQUENCE, aSeq);
-        ::chart::PropertyHelper::setPropertyValueDefault(aTmp, 
PROP_HISTOGRAMCHARTTYPE_BINWIDTH,
-                                                         2.0);
-        ::chart::PropertyHelper::setPropertyValueDefault(aTmp, 
PROP_HISTOGRAMCHARTTYPE_BINRANGE,
-                                                         1.0);
-        ::chart::PropertyHelper::setPropertyValueDefault(
-            aTmp, PROP_HISTOGRAMCHARTTYPE_FREQUENCYTYPE, sal_Int32(0));
-        return aTmp;
-    }();
-
-    tPropertyValueMap::const_iterator aFound(aStaticDefaults.find(nHandle));
-    if (aFound == aStaticDefaults.end())
-        rAny.clear();
-    else
-        rAny = (*aFound).second;
-}
-// ____ XPropertySet ____
-uno::Reference<beans::XPropertySetInfo> SAL_CALL 
HistogramChartType::getPropertySetInfo()
-{
-    static uno::Reference<beans::XPropertySetInfo> xPropertySetInfo(
-        
::cppu::OPropertySetHelper::createPropertySetInfo(StaticHistogramChartTypeInfoHelper()));
-    return xPropertySetInfo;
-}
-
-OUString SAL_CALL HistogramChartType::getImplementationName()
-{
-    return "com.sun.star.comp.chart.HistogramChartType";
-}
-
-sal_Bool SAL_CALL HistogramChartType::supportsService(const OUString& 
rServiceName)
-{
-    return cppu::supportsService(this, rServiceName);
-}
-
-css::uno::Sequence<OUString> SAL_CALL 
HistogramChartType::getSupportedServiceNames()
-{
-    return { CHART2_SERVICE_NAME_CHARTTYPE_HISTOGRAM, 
"com.sun.star.chart2.ChartType" };
-}
-
-namespace
-{
-void setRoleToTheSequence(uno::Reference<chart2::data::XDataSequence> const& 
xSequence,
-                          OUString const& rRole)
-{
-    if (!xSequence.is())
-        return;
-    try
-    {
-        uno::Reference<beans::XPropertySet> xProperty(xSequence, 
uno::UNO_QUERY_THROW);
-        xProperty->setPropertyValue(u"Role"_ustr, uno::Any(rRole));
-    }
-    catch (const uno::Exception&)
-    {
-    }
-}
-}
-
-void HistogramChartType::createCalculatedDataSeries()
-{
-    if (m_aDataSeries.empty())
-        return;
-
-    std::vector<uno::Reference<chart2::data::XLabeledDataSequence>> const& 
aDataSequences
-        = m_aDataSeries[0]->getDataSequences2();
-
-    if (aDataSequences.empty() || !aDataSequences[0].is())
-        return;
-
-    // Extract raw data from the spreadsheet
-    std::vector<double> rawData;
-    uno::Reference<chart2::data::XDataSequence> xValues = 
aDataSequences[0]->getValues();
-
-    uno::Sequence<uno::Any> aRawAnyValues = xValues->getData();
-    for (const auto& aAny : aRawAnyValues)
-    {
-        double fValue = 0.0;
-        if (aAny >>= fValue) // Extract double from Any
-        {
-            rawData.push_back(fValue);
-        }
-    }
-
-    // Perform histogram calculations
-    HistogramCalculator aHistogramCalculator;
-    aHistogramCalculator.computeBinFrequencyHistogram(rawData);
-
-    // Get bin ranges and frequencies
-    const auto& binRanges = aHistogramCalculator.getBinRanges();
-    const auto& binFrequencies = aHistogramCalculator.getBinFrequencies();
-
-    // Create labels and values for HistogramDataSequence
-    std::vector<OUString> aLabels;
-    std::vector<double> aValues;
-    for (size_t i = 0; i < binRanges.size(); ++i)
-    {
-        OUString aLabel;
-        if (i == 0)
-        {
-            aLabel = u"["_ustr + OUString::number(binRanges[i].first) + 
u"-"_ustr
-                     + OUString::number(binRanges[i].second) + u"]"_ustr;
-        }
-        else
-        {
-            aLabel = u"("_ustr + OUString::number(binRanges[i].first) + 
u"-"_ustr
-                     + OUString::number(binRanges[i].second) + u"]"_ustr;
-        }
-        aLabels.push_back(aLabel);
-        aValues.push_back(static_cast<double>(binFrequencies[i]));
-    }
-
-    rtl::Reference<HistogramDataSequence> aValuesDataSequence = new 
HistogramDataSequence();
-    aValuesDataSequence->setValues(comphelper::containerToSequence(aValues));
-    aValuesDataSequence->setLabels(comphelper::containerToSequence(aLabels));
-
-    setRoleToTheSequence(aValuesDataSequence, u"values-y"_ustr);
-
-    m_aDataSeries[0]->addDataSequence(new 
LabeledDataSequence(aValuesDataSequence));
-}
-
-} //  namespace chart
-
-extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
-com_sun_star_comp_chart_HistogramChartType_get_implementation(
-    css::uno::XComponentContext* /*context*/, 
css::uno::Sequence<css::uno::Any> const&)
-{
-    return cppu::acquire(new ::chart::HistogramChartType());
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/chart2/source/model/template/HistogramChartType.hxx 
b/chart2/source/model/template/HistogramChartType.hxx
deleted file mode 100644
index 621c153a2d61..000000000000
--- a/chart2/source/model/template/HistogramChartType.hxx
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#pragma once
-
-#include <ChartType.hxx>
-
-namespace chart
-{
-class HistogramChartType : public ChartType
-{
-public:
-    explicit HistogramChartType();
-    virtual ~HistogramChartType() override;
-
-    virtual OUString SAL_CALL getImplementationName() override;
-    virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) 
override;
-    virtual css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() 
override;
-
-    virtual rtl::Reference<ChartType> cloneChartType() const override;
-
-    void createCalculatedDataSeries() override;
-
-protected:
-    explicit HistogramChartType(const HistogramChartType& rOther);
-
-    // ____ XChartType ____
-    rtl::Reference<::chart::BaseCoordinateSystem>
-    createCoordinateSystem2(sal_Int32 DimensionCount) override;
-    OUString SAL_CALL getChartType() override;
-    css::uno::Sequence<OUString> SAL_CALL getSupportedPropertyRoles() override;
-
-    // ____ OPropertySet ____
-    void GetDefaultValue(sal_Int32 nHandle, css::uno::Any& rAny) const 
override;
-    ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper() override;
-
-    // ____ XPropertySet ____
-    css::uno::Reference<css::beans::XPropertySetInfo> SAL_CALL 
getPropertySetInfo() override;
-
-    // ____ XCloneable ____
-    css::uno::Reference<css::util::XCloneable> SAL_CALL createClone() override;
-};
-
-} //  namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/chart2/source/model/template/HistogramChartTypeTemplate.cxx 
b/chart2/source/model/template/HistogramChartTypeTemplate.cxx
deleted file mode 100644
index b30d1205c429..000000000000
--- a/chart2/source/model/template/HistogramChartTypeTemplate.cxx
+++ /dev/null
@@ -1,160 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include "HistogramChartTypeTemplate.hxx"
-#include "HistogramChartType.hxx"
-#include "HistogramDataInterpreter.hxx"
-#include <Diagram.hxx>
-#include <DataSeries.hxx>
-#include <DataSeriesHelper.hxx>
-#include <PropertyHelper.hxx>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <com/sun/star/drawing/LineStyle.hpp>
-#include <com/sun/star/chart2/DataPointGeometry3D.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <comphelper/diagnose_ex.hxx>
-
-#include <algorithm>
-
-using namespace ::com::sun::star;
-
-using ::com::sun::star::uno::Reference;
-using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::beans::Property;
-
-namespace
-{
-enum
-{
-    PROP_HISTOGRAM_TEMPLATE_DIMENSION,
-};
-
-void lcl_AddPropertiesToVector(std::vector<Property>& rOutProperties)
-{
-    rOutProperties.emplace_back(
-        "Dimension", PROP_HISTOGRAM_TEMPLATE_DIMENSION, 
cppu::UnoType<sal_Int32>::get(),
-        beans::PropertyAttribute::BOUND | 
beans::PropertyAttribute::MAYBEDEFAULT);
-}
-
-::cppu::OPropertyArrayHelper& StaticHistogramChartTypeTemplateInfoHelper()
-{
-    static ::cppu::OPropertyArrayHelper aPropHelper = []() {
-        std::vector<css::beans::Property> aProperties;
-        lcl_AddPropertiesToVector(aProperties);
-
-        std::sort(aProperties.begin(), aProperties.end(), 
::chart::PropertyNameLess());
-
-        return comphelper::containerToSequence(aProperties);
-    }();
-    return aPropHelper;
-};
-
-} // anonymous namespace
-
-namespace chart
-{
-HistogramChartTypeTemplate::HistogramChartTypeTemplate(
-    Reference<uno::XComponentContext> const& xContext, const OUString& 
rServiceName,
-    StackMode eStackMode)
-    : ChartTypeTemplate(xContext, rServiceName)
-    , m_eStackMode(eStackMode)
-    , m_nDim(2)
-{
-}
-
-sal_Int32 HistogramChartTypeTemplate::getDimension() const { return m_nDim; }
-
-StackMode HistogramChartTypeTemplate::getStackMode(sal_Int32 /* 
nChartTypeIndex */) const
-{
-    return m_eStackMode;
-}
-
-rtl::Reference<ChartType>
-    HistogramChartTypeTemplate::getChartTypeForIndex(sal_Int32 
/*nChartTypeIndex*/)
-{
-    return new HistogramChartType();
-}
-
-rtl::Reference<ChartType> 
HistogramChartTypeTemplate::getChartTypeForNewSeries2(
-    const std::vector<rtl::Reference<ChartType>>& aFormerlyUsedChartTypes)
-{
-    rtl::Reference<ChartType> xResult(getChartTypeForIndex(0));
-    
ChartTypeTemplate::copyPropertiesFromOldToNewCoordinateSystem(aFormerlyUsedChartTypes,
 xResult);
-    return xResult;
-}
-
-// ____ OPropertySet ____
-void HistogramChartTypeTemplate::GetDefaultValue(sal_Int32 nHandle, uno::Any& 
rAny) const
-{
-    static ::chart::tPropertyValueMap aStaticDefaults = []() {
-        ::chart::tPropertyValueMap aTmp;
-        ::chart::PropertyHelper::setPropertyValueDefault<sal_Int32>(
-            aTmp, PROP_HISTOGRAM_TEMPLATE_DIMENSION, 2);
-        return aTmp;
-    }();
-    tPropertyValueMap::const_iterator aFound(aStaticDefaults.find(nHandle));
-    if (aFound == aStaticDefaults.end())
-        rAny.clear();
-    else
-        rAny = (*aFound).second;
-}
-
-::cppu::IPropertyArrayHelper& SAL_CALL 
HistogramChartTypeTemplate::getInfoHelper()
-{
-    return StaticHistogramChartTypeTemplateInfoHelper();
-}
-
-// ____ XPropertySet ____
-Reference<beans::XPropertySetInfo> SAL_CALL 
HistogramChartTypeTemplate::getPropertySetInfo()
-{
-    static uno::Reference<beans::XPropertySetInfo> xPropertySetInfo(
-        ::cppu::OPropertySetHelper::createPropertySetInfo(
-            StaticHistogramChartTypeTemplateInfoHelper()));
-    return xPropertySetInfo;
-}
-
-void HistogramChartTypeTemplate::applyStyle2(const rtl::Reference<DataSeries>& 
xSeries,
-                                             ::sal_Int32 nChartTypeIndex, 
::sal_Int32 nSeriesIndex,
-                                             ::sal_Int32 nSeriesCount)
-{
-    ChartTypeTemplate::applyStyle2(xSeries, nChartTypeIndex, nSeriesIndex, 
nSeriesCount);
-    xSeries->setPropertyAlsoToAllAttributedDataPoints("BorderStyle",
-                                                      
uno::Any(drawing::LineStyle_NONE));
-}
-
-void HistogramChartTypeTemplate::resetStyles2(const 
rtl::Reference<::chart::Diagram>& xDiagram)
-{
-    ChartTypeTemplate::resetStyles2(xDiagram);
-    std::vector<rtl::Reference<DataSeries>> 
aSeriesVec(xDiagram->getDataSeries());
-    uno::Any aLineStyleAny(drawing::LineStyle_NONE);
-    for (auto const& series : aSeriesVec)
-    {
-        if (series->getPropertyValue("BorderStyle") == aLineStyleAny)
-        {
-            series->setPropertyToDefault("BorderStyle");
-        }
-    }
-
-    xDiagram->setVertical(false);
-}
-
-rtl::Reference<DataInterpreter> 
HistogramChartTypeTemplate::getDataInterpreter2()
-{
-    if (!m_xDataInterpreter.is())
-        m_xDataInterpreter.set(new HistogramDataInterpreter);
-
-    return m_xDataInterpreter;
-}
-
-IMPLEMENT_FORWARD_XINTERFACE2(HistogramChartTypeTemplate, ChartTypeTemplate, 
OPropertySet)
-IMPLEMENT_FORWARD_XTYPEPROVIDER2(HistogramChartTypeTemplate, 
ChartTypeTemplate, OPropertySet)
-
-} //  namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/chart2/source/model/template/HistogramChartTypeTemplate.hxx 
b/chart2/source/model/template/HistogramChartTypeTemplate.hxx
deleted file mode 100644
index 519292f6107f..000000000000
--- a/chart2/source/model/template/HistogramChartTypeTemplate.hxx
+++ /dev/null
@@ -1,67 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-#pragma once
-
-#include <OPropertySet.hxx>
-#include <comphelper/uno3.hxx>
-
-#include <ChartTypeTemplate.hxx>
-#include <StackMode.hxx>
-
-namespace chart
-{
-class HistogramChartTypeTemplate : public ChartTypeTemplate, public 
::property::OPropertySet
-{
-public:
-    explicit HistogramChartTypeTemplate(
-        css::uno::Reference<css::uno::XComponentContext> const& xContext,
-        const OUString& rServiceName, StackMode eStackMode);
-
-    /// merge XInterface implementations
-    DECLARE_XINTERFACE()
-    /// merge XTypeProvider implementations
-    DECLARE_XTYPEPROVIDER()
-
-protected:
-    // ____ OPropertySet ____
-    virtual void GetDefaultValue(sal_Int32 nHandle, css::uno::Any& rAny) const 
override;
-    virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper() override;
-
-    // ____ XPropertySet ____
-    virtual css::uno::Reference<css::beans::XPropertySetInfo>
-        SAL_CALL getPropertySetInfo() override;
-
-    // ____ ChartTypeTemplate ____
-    virtual rtl::Reference<::chart::ChartType> getChartTypeForNewSeries2(
-        const std::vector<rtl::Reference<::chart::ChartType>>& 
aFormerlyUsedChartTypes) override;
-
-    virtual sal_Bool SAL_CALL supportsCategories() override { return true; }
-
-    virtual void applyStyle2(const rtl::Reference<::chart::DataSeries>& 
xSeries,
-                             ::sal_Int32 nChartTypeGroupIndex, ::sal_Int32 
nSeriesIndex,
-                             ::sal_Int32 nSeriesCount) override;
-
-    virtual void resetStyles2(const rtl::Reference<::chart::Diagram>& 
xDiagram) override;
-
-    virtual rtl::Reference<::chart::ChartType>
-    getChartTypeForIndex(sal_Int32 nChartTypeIndex) override;
-
-    virtual sal_Int32 getDimension() const override;
-    virtual StackMode getStackMode(sal_Int32 nChartTypeIndex) const override;
-
-    rtl::Reference<chart::DataInterpreter> getDataInterpreter2() override;
-
-private:
-    StackMode m_eStackMode;
-    sal_Int32 m_nDim;
-};
-
-} //  namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/chart2/source/model/template/HistogramDataInterpreter.cxx 
b/chart2/source/model/template/HistogramDataInterpreter.cxx
deleted file mode 100644
index c78f3b298b33..000000000000
--- a/chart2/source/model/template/HistogramDataInterpreter.cxx
+++ /dev/null
@@ -1,63 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include <sal/config.h>
-
-#include "HistogramDataInterpreter.hxx"
-#include <HistogramDataSequence.hxx>
-#include "HistogramCalculator.hxx"
-#include <LabeledDataSequence.hxx>
-
-#include <DataSeries.hxx>
-#include <DataSeriesHelper.hxx>
-#include <CommonConverters.hxx>
-#include <com/sun/star/util/XCloneable.hpp>
-#include <comphelper/diagnose_ex.hxx>
-#include <sal/log.hxx>
-
-using namespace css;
-
-namespace chart
-{
-InterpretedData HistogramDataInterpreter::interpretDataSource(
-    const uno::Reference<chart2::data::XDataSource>& xSource,
-    const uno::Sequence<beans::PropertyValue>& aArguments,
-    const std::vector<rtl::Reference<DataSeries>>& aSeriesToReUse)
-{
-    if (!xSource.is())
-        return InterpretedData();
-
-    InterpretedData aInterpretedData(
-        DataInterpreter::interpretDataSource(xSource, aArguments, 
aSeriesToReUse));
-
-    std::vector<uno::Reference<chart2::data::XLabeledDataSequence>> aData
-        = DataInterpreter::getDataSequences(xSource);
-
-    if (aData.empty() || !aData[0].is())
-        return InterpretedData();
-
-    SetRole(aData[0]->getValues(), u"values-y-original"_ustr);
-
-    return aInterpretedData;
-}
-
-InterpretedData
-HistogramDataInterpreter::reinterpretDataSeries(const InterpretedData& 
rInterpretedData)
-{
-    return rInterpretedData;
-}
-
-bool HistogramDataInterpreter::isDataCompatible(const InterpretedData& 
/*aInterpretedData*/)
-{
-    return false;
-}
-
-} // namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/chart2/source/model/template/HistogramDataInterpreter.hxx 
b/chart2/source/model/template/HistogramDataInterpreter.hxx
deleted file mode 100644
index 9d90e0f2512a..000000000000
--- a/chart2/source/model/template/HistogramDataInterpreter.hxx
+++ /dev/null
@@ -1,35 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#pragma once
-
-#include <DataInterpreter.hxx>
-
-namespace chart
-{
-class HistogramDataInterpreter : public DataInterpreter
-{
-public:
-    explicit HistogramDataInterpreter() = default;
-
-protected:
-    // ____ DataInterpreter ____
-    virtual InterpretedData interpretDataSource(
-        const css::uno::Reference<css::chart2::data::XDataSource>& xSource,
-        const css::uno::Sequence<css::beans::PropertyValue>& aArguments,
-        const std::vector<rtl::Reference<::chart::DataSeries>>& 
aSeriesToReUse) override;
-
-    virtual InterpretedData reinterpretDataSeries(const InterpretedData& 
aInterpretedData) override;
-
-    virtual bool isDataCompatible(const InterpretedData& aInterpretedData) 
override;
-};
-
-} // namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/tools/ChartTypeHelper.cxx 
b/chart2/source/tools/ChartTypeHelper.cxx
index 8582611360f9..ae57cce47f87 100644
--- a/chart2/source/tools/ChartTypeHelper.cxx
+++ b/chart2/source/tools/ChartTypeHelper.cxx
@@ -114,18 +114,6 @@ uno::Sequence < sal_Int32 > 
ChartTypeHelper::getSupportedLabelPlacements( const
         *pSeq++ = css::chart::DataLabelPlacement::INSIDE;
         *pSeq++ = css::chart::DataLabelPlacement::NEAR_ORIGIN;
     }
-    else if (aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_HISTOGRAM))
-    {
-        aRet.realloc(6);
-        sal_Int32* pSeq = aRet.getArray();
-
-        *pSeq++ = css::chart::DataLabelPlacement::TOP;
-        *pSeq++ = css::chart::DataLabelPlacement::BOTTOM;
-        *pSeq++ = css::chart::DataLabelPlacement::CENTER;
-        *pSeq++ = css::chart::DataLabelPlacement::OUTSIDE;
-        *pSeq++ = css::chart::DataLabelPlacement::INSIDE;
-        *pSeq++ = css::chart::DataLabelPlacement::NEAR_ORIGIN;
-    }
     else if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_AREA) )
     {
         bool bStacked = false;
@@ -319,13 +307,6 @@ uno::Sequence < sal_Int32 > 
ChartTypeHelper::getSupportedMissingValueTreatments(
         *pSeq++ = css::chart::MissingValueTreatment::LEAVE_GAP;
         *pSeq++ = css::chart::MissingValueTreatment::USE_ZERO;
     }
-    else if (aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_HISTOGRAM))
-    {
-        // Assuming histograms typically use zero for missing values
-        aRet.realloc(1);
-        sal_Int32* pSeq = aRet.getArray();
-        *pSeq++ = css::chart::MissingValueTreatment::USE_ZERO;
-    }
     else if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_AREA) )
     {
         aRet.realloc( bStacked ? 1 : 2 );
diff --git a/chart2/source/tools/HistogramDataSequence.cxx 
b/chart2/source/tools/HistogramDataSequence.cxx
deleted file mode 100644
index c98a6c92fd33..000000000000
--- a/chart2/source/tools/HistogramDataSequence.cxx
+++ /dev/null
@@ -1,154 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include <HistogramDataSequence.hxx>
-
-#include <CommonFunctors.hxx>
-#include <ModifyListenerHelper.hxx>
-
-#include <comphelper/sequenceashashmap.hxx>
-#include <cppuhelper/supportsservice.hxx>
-
-#include <algorithm>
-#include <strings.hrc>
-#include <ResId.hxx>
-#include <utility>
-
-using namespace css;
-
-namespace
-{
-constexpr OUString lcl_aServiceName = 
u"com.sun.star.comp.chart.HistogramDataSequence"_ustr;
-
-enum
-{
-    PROP_PROPOSED_ROLE
-};
-
-} // anonymous namespace
-
-namespace chart
-{
-HistogramDataSequence::HistogramDataSequence()
-    : m_xModifyEventForwarder(new ModifyEventForwarder())
-{
-    registerProperty(u"Role"_ustr, PROP_PROPOSED_ROLE,
-                     0, // PropertyAttributes
-                     &m_sRole, cppu::UnoType<decltype(m_sRole)>::get());
-}
-
-HistogramDataSequence::~HistogramDataSequence() {}
-
-IMPLEMENT_FORWARD_XINTERFACE2(HistogramDataSequence, 
HistogramDataSequence_Base,
-                              comphelper::OPropertyContainer2)
-
-IMPLEMENT_FORWARD_XTYPEPROVIDER2(HistogramDataSequence, 
HistogramDataSequence_Base,
-                                 comphelper::OPropertyContainer2)
-
-// XPropertySet
-uno::Reference<beans::XPropertySetInfo> SAL_CALL 
HistogramDataSequence::getPropertySetInfo()
-{
-    return createPropertySetInfo(getInfoHelper());
-}
-
-// comphelper::OPropertySetHelper
-::cppu::IPropertyArrayHelper& HistogramDataSequence::getInfoHelper() { return 
*getArrayHelper(); }
-
-// comphelper::OPropertyArrayHelper
-::cppu::IPropertyArrayHelper* HistogramDataSequence::createArrayHelper() const
-{
-    uno::Sequence<beans::Property> aProperties;
-    // describes all properties which have been registered in the ctor
-    describeProperties(aProperties);
-
-    return new ::cppu::OPropertyArrayHelper(aProperties);
-}
-
-OUString SAL_CALL HistogramDataSequence::getImplementationName() { return 
lcl_aServiceName; }
-
-sal_Bool SAL_CALL HistogramDataSequence::supportsService(const OUString& 
rServiceName)
-{
-    return cppu::supportsService(this, rServiceName);
-}
-
-uno::Sequence<OUString> SAL_CALL 
HistogramDataSequence::getSupportedServiceNames()
-{
-    return { lcl_aServiceName, u"com.sun.star.chart2.data.DataSequence"_ustr,
-             u"com.sun.star.chart2.data.NumericalDataSequence"_ustr,
-             u"com.sun.star.chart2.data.TextualDataSequence"_ustr };
-}
-
-// XNumericalDataSequence
-uno::Sequence<double> SAL_CALL HistogramDataSequence::getNumericalData()
-{
-    std::unique_lock<std::mutex> aGuard;
-
-    return mxValues;
-}
-
-// XTextualDataSequence
-uno::Sequence<OUString> SAL_CALL HistogramDataSequence::getTextualData()
-{
-    std::unique_lock<std::mutex> aGuard;
-    return {};
-}
-
-// XDataSequence
-uno::Sequence<uno::Any> SAL_CALL HistogramDataSequence::getData()
-{
-    std::unique_lock<std::mutex> aGuard;
-    uno::Sequence<uno::Any> aSequence(mxValues.size());
-    auto pSequence = aSequence.getArray();
-
-    size_t i = 0;
-    for (double nValue : mxValues)
-    {
-        pSequence[i] <<= nValue;
-        i++;
-    }
-    return aSequence;
-}
-
-OUString SAL_CALL HistogramDataSequence::getSourceRangeRepresentation() { 
return m_sRole; }
-
-uno::Sequence<OUString>
-    SAL_CALL 
HistogramDataSequence::generateLabel(css::chart2::data::LabelOrigin)
-{
-    return mxLabels;
-}
-
-sal_Int32 SAL_CALL HistogramDataSequence::getNumberFormatKeyByIndex(sal_Int32)
-{
-    return 0; // TODO - NumberFormat support
-}
-
-// XModifyBroadcaster
-void SAL_CALL
-HistogramDataSequence::addModifyListener(const 
uno::Reference<util::XModifyListener>& aListener)
-{
-    m_xModifyEventForwarder->addModifyListener(aListener);
-}
-
-void SAL_CALL
-HistogramDataSequence::removeModifyListener(const 
uno::Reference<util::XModifyListener>& aListener)
-{
-    m_xModifyEventForwarder->removeModifyListener(aListener);
-}
-
-// XCloneable
-
-uno::Reference<util::XCloneable> SAL_CALL HistogramDataSequence::createClone()
-{
-    rtl::Reference<HistogramDataSequence> pClone(new HistogramDataSequence());
-    return pClone;
-}
-
-} // namespace chart2
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/view/charttypes/HistogramChart.cxx 
b/chart2/source/view/charttypes/HistogramChart.cxx
deleted file mode 100644
index 3324d61a3f82..000000000000
--- a/chart2/source/view/charttypes/HistogramChart.cxx
+++ /dev/null
@@ -1,140 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include "HistogramChart.hxx"
-
-#include <ChartType.hxx>
-#include <../chart2/inc/ChartModel.hxx>
-#include <ShapeFactory.hxx>
-#include <CommonConverters.hxx>
-#include <ObjectIdentifier.hxx>
-#include <LabelPositionHelper.hxx>
-#include <AxisIndexDefines.hxx>
-#include <Clipping.hxx>
-#include <DateHelper.hxx>
-#include <svx/scene3d.hxx>
-#include <comphelper/scopeguard.hxx>
-
-#include <com/sun/star/chart/DataLabelPlacement.hpp>
-
-#include <com/sun/star/chart2/DataPointGeometry3D.hpp>
-#include <rtl/math.hxx>
-#include <comphelper/diagnose_ex.hxx>
-
-namespace chart
-{
-using namespace ::com::sun::star;
-using namespace ::rtl::math;
-using namespace ::com::sun::star::chart2;
-
-HistogramChart::HistogramChart(const rtl::Reference<ChartType>& 
xChartTypeModel,
-                               sal_Int32 nDimensionCount)
-    : BarChart(xChartTypeModel, nDimensionCount)
-{
-    // We only support 2 dimensional histogram charts
-    assert(nDimensionCount == 2 && "HistogramChart only supports 2D charts");
-
-    // Runtime check for all builds
-    if (nDimensionCount != 2)
-    {
-        // Log a warning or throw an exception if appropriate
-        SAL_WARN("chart2", "HistogramChart created with invalid dimension 
count. Forcing 2D.");
-    }
-
-    PlotterBase::m_pPosHelper = &m_aMainPosHelper;
-    VSeriesPlotter::m_pMainPosHelper = &m_aMainPosHelper;
-
-    try
-    {
-        if (m_xChartTypeModel.is())
-            m_xChartTypeModel->getPropertyValue(u"GapwidthSequence"_ustr) >>= 
m_aGapwidthSequence;
-    }
-    catch (const uno::Exception&)
-    {
-        TOOLS_WARN_EXCEPTION("chart2", "");
-    }
-}
-
-HistogramChart::~HistogramChart() {}
-
-css::drawing::Direction3D HistogramChart::getPreferredDiagramAspectRatio() 
const
-{
-    // Return the preferred aspect ratio for the histogram chart
-    return css::drawing::Direction3D(-1, -1, -1);
-}
-
-PlottingPositionHelper& HistogramChart::getPlottingPositionHelper(sal_Int32 
nAxisIndex) const
-{
-    PlottingPositionHelper& rPosHelper = 
VSeriesPlotter::getPlottingPositionHelper(nAxisIndex);
-    BarPositionHelper* pHistogramPosHelper = 
dynamic_cast<BarPositionHelper*>(&rPosHelper);
-    if (pHistogramPosHelper && nAxisIndex >= 0)
-    {
-        if (nAxisIndex < m_aGapwidthSequence.getLength())
-            
pHistogramPosHelper->setOuterDistance(m_aGapwidthSequence[nAxisIndex] / 100.0);
-    }
-    return rPosHelper;
-}
-
-void HistogramChart::addSeries(std::unique_ptr<VDataSeries> pSeries, sal_Int32 
zSlot,
-                               sal_Int32 xSlot, sal_Int32 ySlot)
-{
-    if (!pSeries)
-        return;
-
-    if (m_nDimension == 2)
-    {
-        sal_Int32 nAxisIndex = pSeries->getAttachedAxisIndex();
-        zSlot = nAxisIndex;
-
-        if (!pSeries->getGroupBarsPerAxis())
-            zSlot = 0;
-        if (zSlot >= static_cast<sal_Int32>(m_aZSlots.size()))
-            m_aZSlots.resize(zSlot + 1);
-    }
-    VSeriesPlotter::addSeries(std::move(pSeries), zSlot, xSlot, ySlot);
-    adaptGapWidthForHistogram();
-}
-
-void HistogramChart::adaptGapWidthForHistogram()
-{
-    VDataSeries* pFirstSeries = getFirstSeries();
-    if (!pFirstSeries)
-        return;
-
-    sal_Int32 nAxisIndex = pFirstSeries->getAttachedAxisIndex();
-    sal_Int32 nUseThisIndex = nAxisIndex;
-    if (nUseThisIndex < 0 || nUseThisIndex >= m_aGapwidthSequence.getLength())
-        nUseThisIndex = 0;
-
-    auto aGapwidthSequenceRange = asNonConstRange(m_aGapwidthSequence);
-    for (sal_Int32 nN = 0; nN < m_aGapwidthSequence.getLength(); nN++)
-    {
-        aGapwidthSequenceRange[nN] = 0; // Set gap width to 0
-    }
-}
-
-void HistogramChart::createShapes()
-{
-    if (m_aZSlots.empty()) //No data series Available
-        return;
-
-    OSL_ENSURE(
-        m_xLogicTarget.is() && m_xFinalTarget.is(),
-        "HistogramChart is not properly initialized"); // Ensuring chart is 
properly initialized
-    if (!(m_xLogicTarget.is() && m_xFinalTarget.is()))
-        return;
-
-    adaptGapWidthForHistogram();
-
-    BarChart::createShapes();
-}
-
-} // namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/chart2/source/view/charttypes/HistogramChart.hxx 
b/chart2/source/view/charttypes/HistogramChart.hxx
deleted file mode 100644
index 907d1e08f45b..000000000000
--- a/chart2/source/view/charttypes/HistogramChart.hxx
+++ /dev/null
@@ -1,44 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#pragma once
-
-#include "BarChart.hxx"
-#include "BarPositionHelper.hxx"
-#include <memory>
-
-namespace chart
-{
-class HistogramChart : public BarChart
-{
-public:
-    HistogramChart() = delete;
-
-    HistogramChart(const rtl::Reference<ChartType>& xChartTypeModel, sal_Int32 
nDimensionCount);
-    virtual ~HistogramChart() override;
-
-    virtual void createShapes() override;
-    virtual void addSeries(std::unique_ptr<VDataSeries> pSeries, sal_Int32 
zSlot, sal_Int32 xSlot,
-                           sal_Int32 ySlot) override;
-
-    virtual css::drawing::Direction3D getPreferredDiagramAspectRatio() const 
override;
-
-private:
-    virtual PlottingPositionHelper& getPlottingPositionHelper(sal_Int32 
nAxisIndex) const override;
-
-    void adaptGapWidthForHistogram();
-
-private:
-    BarPositionHelper m_aMainPosHelper;
-    css::uno::Sequence<sal_Int32> m_aGapwidthSequence;
-};
-
-} // namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/chart2/source/view/charttypes/VSeriesPlotter.cxx 
b/chart2/source/view/charttypes/VSeriesPlotter.cxx
index 94d5a55bec32..b7d2420a880c 100644
--- a/chart2/source/view/charttypes/VSeriesPlotter.cxx
+++ b/chart2/source/view/charttypes/VSeriesPlotter.cxx
@@ -54,7 +54,6 @@
 
 //only for creation: @todo remove if all plotter are uno components and 
instantiated via servicefactory
 #include "BarChart.hxx"
-#include "HistogramChart.hxx"
 #include "PieChart.hxx"
 #include "AreaChart.hxx"
 #include "CandleStickChart.hxx"
@@ -2245,7 +2244,6 @@ const ROrderPair pairList[] = {
     ROrderPair(CHART2_SERVICE_NAME_CHARTTYPE_AREA, 0),
     ROrderPair(CHART2_SERVICE_NAME_CHARTTYPE_BAR, 6),   // bar & column are 
same
     ROrderPair(CHART2_SERVICE_NAME_CHARTTYPE_COLUMN, 6),
-    ROrderPair(CHART2_SERVICE_NAME_CHARTTYPE_HISTOGRAM, 9),
     ROrderPair(CHART2_SERVICE_NAME_CHARTTYPE_LINE, 8),
     ROrderPair(CHART2_SERVICE_NAME_CHARTTYPE_SCATTER, 5),
     ROrderPair(CHART2_SERVICE_NAME_CHARTTYPE_PIE, 1),
@@ -2885,8 +2883,6 @@ VSeriesPlotter* VSeriesPlotter::createSeriesPlotter(
         pRet = new BarChart(xChartTypeModel,nDimensionCount);
     else if( aChartType.equalsIgnoreAsciiCase( 
CHART2_SERVICE_NAME_CHARTTYPE_BAR ) )
         pRet = new BarChart(xChartTypeModel,nDimensionCount);
-    else if( aChartType.equalsIgnoreAsciiCase( 
CHART2_SERVICE_NAME_CHARTTYPE_HISTOGRAM ) )
-        pRet = new HistogramChart(xChartTypeModel, nDimensionCount);
     else if( aChartType.equalsIgnoreAsciiCase( 
CHART2_SERVICE_NAME_CHARTTYPE_AREA ) )
         pRet = new AreaChart(xChartTypeModel,nDimensionCount,true);
     else if( aChartType.equalsIgnoreAsciiCase( 
CHART2_SERVICE_NAME_CHARTTYPE_LINE ) )
diff --git a/icon-themes/colibre/chart2/res/histogram_52x60.png 
b/icon-themes/colibre/chart2/res/histogram_52x60.png
deleted file mode 100644
index d8c9a4340713..000000000000
Binary files a/icon-themes/colibre/chart2/res/histogram_52x60.png and /dev/null 
differ
diff --git a/icon-themes/colibre/chart2/res/typehistogram_16.png 
b/icon-themes/colibre/chart2/res/typehistogram_16.png
deleted file mode 100644
index cc9eadb715cd..000000000000
Binary files a/icon-themes/colibre/chart2/res/typehistogram_16.png and 
/dev/null differ
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index 76907d1defaa..d7c06d0c9e0c 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -625,7 +625,6 @@ $(eval $(call 
gb_UnoApi_add_idlfiles_noheader,offapi,com/sun/star/chart,\
        Dim3DDiagram \
        DonutDiagram \
        FilledNetDiagram \
-       HistogramDiagram \
        LineDiagram \
        NetDiagram \
        PieDiagram \
diff --git a/offapi/com/sun/star/chart/HistogramDiagram.idl 
b/offapi/com/sun/star/chart/HistogramDiagram.idl
deleted file mode 100644
index ff31bff379c6..000000000000
--- a/offapi/com/sun/star/chart/HistogramDiagram.idl
+++ /dev/null
@@ -1,35 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-module com {  module sun {  module star {  module chart {
-
-
-/** This is a service for histogram diagrams.
-    @since LibreOffice 25.2
-*/
-service HistogramDiagram
-{
-    service com::sun::star::chart::Diagram;
-    service com::sun::star::chart::ChartStatistics;
-    service com::sun::star::chart::ChartAxisXSupplier;
-    service com::sun::star::chart::ChartTwoAxisYSupplier;
-
-    /** Specifies the width of each bin in the histogram. */
-    [property] double BinWidth;
-
-    /** Specifies the range of values covered by the bins. */
-    [property] string BinRange;
-
-    /** Specifies the type of frequency representation (count or density). */
-    [property] long FrequencyType;
-};
-
-}; }; }; };
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/chart/typegroupconverter.hxx 
b/oox/inc/drawingml/chart/typegroupconverter.hxx
index e7b1e16e8cec..a12e8b4e1877 100644
--- a/oox/inc/drawingml/chart/typegroupconverter.hxx
+++ b/oox/inc/drawingml/chart/typegroupconverter.hxx
@@ -50,7 +50,6 @@ enum TypeId
     TYPEID_BUBBLE,                  /// Bubble chart.
     TYPEID_SURFACE,                 /// Surface chart.
     TYPEID_FUNNEL,                  /// Funnel chart.
-    TYPEID_HISTO,                   /// Histogram chart.
     TYPEID_UNKNOWN,                 /// Default for unknown chart types.
 };
 
@@ -64,7 +63,6 @@ enum TypeCategory
     TYPECATEGORY_SCATTER,           /// Scatter and bubble charts.
     TYPECATEGORY_SURFACE,           /// Surface charts.
     TYPECATEGORY_FUNNEL,            /// Funnel charts. TODO: can this be BAR?
-    TYPECATEGORY_HISTO,             /// Histogram charts.
 };
 
 /** Enumerates modes for varying point colors in a series. */
diff --git a/oox/source/drawingml/chart/typegroupconverter.cxx 
b/oox/source/drawingml/chart/typegroupconverter.cxx
index 15711e156cc2..8f586524af5c 100644
--- a/oox/source/drawingml/chart/typegroupconverter.cxx
+++ b/oox/source/drawingml/chart/typegroupconverter.cxx
@@ -68,7 +68,6 @@ const char SERVICE_CHART2_SCATTER[]   = 
"com.sun.star.chart2.ScatterChartType";
 const char SERVICE_CHART2_BUBBLE[]    = "com.sun.star.chart2.BubbleChartType";
 const char SERVICE_CHART2_SURFACE[]   = "com.sun.star.chart2.ColumnChartType"; 
   // Todo
 const char SERVICE_CHART2_FUNNEL[]    = "com.sun.star.chart2.FunnelChartType";
-const char SERVICE_CHART2_HISTO[]     = 
"com.sun.star.chart2.HistogramChartType";
 
 namespace csscd = css::chart::DataLabelPlacement;
 
@@ -77,7 +76,6 @@ const TypeGroupInfo spTypeInfos[] =
     // type-id          type-category         service                   
varied-point-color   default label pos     polar  area2d 1stvis xcateg swap   
stack  picopt
     { TYPEID_BAR,       TYPECATEGORY_BAR,     SERVICE_CHART2_COLUMN,    
VARPOINTMODE_SINGLE, csscd::OUTSIDE,       false, true,  false, true,  false, 
true,  true  },
     { TYPEID_HORBAR,    TYPECATEGORY_BAR,     SERVICE_CHART2_COLUMN,    
VARPOINTMODE_SINGLE, csscd::OUTSIDE,       false, true,  false, true,  true,  
true,  true  },
-    { TYPEID_HISTO,     TYPECATEGORY_HISTO,   SERVICE_CHART2_HISTO,     
VARPOINTMODE_SINGLE, csscd::OUTSIDE,       false, true,  false, true,  true,  
true,  true  },
     { TYPEID_LINE,      TYPECATEGORY_LINE,    SERVICE_CHART2_LINE,      
VARPOINTMODE_SINGLE, csscd::RIGHT,         false, false, false, true,  false, 
true,  false },
     { TYPEID_AREA,      TYPECATEGORY_LINE,    SERVICE_CHART2_AREA,      
VARPOINTMODE_NONE,   csscd::CENTER,        false, true,  false, true,  false, 
true,  false },
     { TYPEID_STOCK,     TYPECATEGORY_LINE,    SERVICE_CHART2_CANDLE,    
VARPOINTMODE_NONE,   csscd::RIGHT,         false, false, false, true,  false, 
true,  false },
diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py
index 638d9b98a26d..fd671d3dc627 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -52,7 +52,6 @@ core_constructor_list = [
     "com_sun_star_comp_chart_CandleStickChartType_get_implementation",
     "com_sun_star_comp_chart_ChartTypeManager_get_implementation",
     "com_sun_star_comp_chart_ColumnChartType_get_implementation",
-    "com_sun_star_comp_chart_HistogramChartType_get_implementation",
     "com_sun_star_comp_chart_DataSeries_get_implementation",
     "com_sun_star_comp_chart_DataSource_get_implementation",
     "com_sun_star_comp_chart_FilledNetChartType_get_implementation",
diff --git a/sw/qa/uitest/chart/tdf138556.py b/sw/qa/uitest/chart/tdf138556.py
index 910b24ebcc4d..7bddbf7c7227 100644
--- a/sw/qa/uitest/chart/tdf138556.py
+++ b/sw/qa/uitest/chart/tdf138556.py
@@ -27,7 +27,7 @@ class tdf138556( UITestCase ):
             #TODO: test other subtypes
             with self.ui_test.execute_dialog_through_action( xChart, 
"COMMAND", mkPropertyValues({ "COMMAND" : "DiagramType" })) as xDialog:
                 xChartType = xDialog.getChild( "charttype" )
-                xStockType = xChartType.getChild( "10" )
+                xStockType = xChartType.getChild( "9" )
                 xStockType.executeAction( "SELECT", tuple())
 
             #Insert Data Series

Reply via email to