README.md                                                      |    4 
 chart2/Library_chartcore.mk                                    |    6 
 chart2/inc/bitmaps.hlst                                        |    2 
 chart2/inc/strings.hrc                                         |    2 
 chart2/source/chartcore.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/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            |  296 
----------
 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                        |   25 
 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 
 configure.ac                                                   |    4 
 dev/null                                                       |binary
 offapi/UnoApi_offapi.mk                                        |    1 
 offapi/com/sun/star/chart/HistogramDiagram.idl                 |   35 -
 oox/inc/drawingml/chart/typegroupconverter.hxx                 |    6 
 oox/source/drawingml/chart/typegroupconverter.cxx              |    2 
 solenv/bin/native-code.py                                      |    1 
 sw/qa/uitest/chart/tdf138556.py                                |    2 
 35 files changed, 9 insertions(+), 1447 deletions(-)

New commits:
commit 520c55c59e101d0727534f1e250547d349e7f436
Author:     Christian Lohmaier <[email protected]>
AuthorDate: Wed Jan 8 21:56:11 2025 +0100
Commit:     Caolán McNamara <[email protected]>
CommitDate: Sun Jan 12 13:09:32 2025 +0100

    bump minimum Xcode version to 14.3 (and that in turn requries macOS 13)
    
    poppler ( e28c5a2c93477d167eb449f08eca220cb3b26b31 ) uses std::ranges
    stuff that's not supported in earlier version of Xcode (see also
    https://developer.apple.com/xcode/cpp/ )
    
    Change-Id: I340180f32c195547a1f93d271e5bbc59252198e1
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179974
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Jenkins

diff --git a/README.md b/README.md
index 8e39324cbd95..3b8248bf9926 100644
--- a/README.md
+++ b/README.md
@@ -38,8 +38,8 @@ run and compile LibreOffice, also used by the TDF builds:
     * Runtime: Windows 7
     * Build: Cygwin + Visual Studio 2019 version 16.10
 * macOS:
-    * Runtime: 10.15
-    * Build: 12 (13 for aarch64) + Xcode 14
+    * Runtime: 10.15 (11 for aarch64)
+    * Build: 13 or later + Xcode 14.3 or later (using latest version available 
for a given versino of macOS)
 * Linux:
     * Runtime: RHEL 8 or CentOS 8 and comparable
     * Build: either GCC 12; or Clang 12 with libstdc++ 10
diff --git a/configure.ac b/configure.ac
index c655e1d792f7..ba38e79dd639 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3745,7 +3745,7 @@ if test $_os = Darwin; then
     my_xcode_ver1=$(xcrun xcodebuild -version | head -n 1)
     my_xcode_ver2=${my_xcode_ver1#Xcode }
     my_xcode_ver3=$(printf %s "$my_xcode_ver2" | $AWK -F. '{ print 
$1*100+($2<100?$2:99) }')
-    if test "$my_xcode_ver3" -ge 1205; then
+    if test "$my_xcode_ver3" -ge 1403; then
         AC_MSG_RESULT([yes ($my_xcode_ver2)])
         if test $MAC_OS_X_VERSION_MIN_REQUIRED -lt 120000; then
             if test "$my_xcode_ver3" -eq 1500; then
@@ -3757,7 +3757,7 @@ if test $_os = Darwin; then
             fi
         fi
     else
-        AC_MSG_ERROR(["$my_xcode_ver1" is too old or unrecognized, must be at 
least Xcode 12.5])
+        AC_MSG_ERROR(["$my_xcode_ver1" is too old or unrecognized, must be at 
least Xcode 14.3])
     fi
 
     my_xcode_ver1=$(xcrun xcodebuild -version | tail -n 1)
commit 9693f1461c7d78c7461f8bbd7f421ba8c3f8452b
Author:     Tomaž Vajngerl <[email protected]>
AuthorDate: Mon Jan 6 09:04:03 2025 +0900
Commit:     Caolán McNamara <[email protected]>
CommitDate: Sun Jan 12 13:09:19 2025 +0100

    tdf#164593 Revert "tdf#82716 Add initial implementation of the His.."
    
    This reverts commit 07ae0e5ada7cb595eb4815413a5bdd442c32a6ab.
    
    This is not ready for release in 25-2, so best to just remove it
    from this branch.
    
    Change-Id: I844e738db9f3a328d077ed56ee9d76675c7a4f03
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179811
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/chart2/Library_chartcore.mk b/chart2/Library_chartcore.mk
index a30539056058..ad204c1ef094 100644
--- a/chart2/Library_chartcore.mk
+++ b/chart2/Library_chartcore.mk
@@ -92,7 +92,6 @@ $(eval $(call gb_Library_add_exception_objects,chartcore,\
     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 \
@@ -162,10 +161,6 @@ $(eval $(call gb_Library_add_exception_objects,chartcore,\
     chart2/source/model/template/ColumnLineDataInterpreter \
     chart2/source/model/template/DataInterpreter \
     chart2/source/model/template/FilledNetChartType \
-    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 \
@@ -201,7 +196,6 @@ $(eval $(call gb_Library_add_exception_objects,chartcore,\
     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 c6292baa97f5..1b1e3588fb2d 100644
--- a/chart2/inc/strings.hrc
+++ b/chart2/inc/strings.hrc
@@ -158,8 +158,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/chartcore.component 
b/chart2/source/chartcore.component
index 9527f52cf432..d15c808919df 100644
--- a/chart2/source/chartcore.component
+++ b/chart2/source/chartcore.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 79eb36f41050..ea38fcc87735 100644
--- a/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx
@@ -525,12 +525,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" );
     }
 
@@ -545,7 +542,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 365df1c328f9..33cf0edc1ffc 100644
--- a/chart2/source/controller/dialogs/ChartTypeDialogController.cxx
+++ b/chart2/source/controller/dialogs/ChartTypeDialogController.cxx
@@ -557,57 +557,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 12fa0325cef4..f2d854a3ad0b 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 1d36a433d96a..530d50b1b514 100644
--- a/chart2/source/inc/ChartTypeDialogController.hxx
+++ b/chart2/source/inc/ChartTypeDialogController.hxx
@@ -181,20 +181,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 2ef665a0254f..5ab2dcbf4929 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/ChartTypeManager.cxx 
b/chart2/source/model/template/ChartTypeManager.cxx
index deb70d9aa03c..1e49b07181b7 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"
@@ -80,7 +79,6 @@ enum TemplateId
     TEMPLATE_PERCENTSTACKEDTHREEDBARFLAT,
     TEMPLATE_COLUMNWITHLINE,
     TEMPLATE_STACKEDCOLUMNWITHLINE,
-    TEMPLATE_HISTOGRAM,
     TEMPLATE_AREA,
     TEMPLATE_STACKEDAREA,
     TEMPLATE_PERCENTSTACKEDAREA,
@@ -157,7 +155,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},
@@ -368,11 +365,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 46991f23e37a..5d3e1a5e8f78 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 91304e42e14f..000000000000
--- a/chart2/source/model/template/HistogramChartType.cxx
+++ /dev/null
@@ -1,296 +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));
-
-    uno::Reference<chart2::data::XDataSequence> aDataSequence = 
aValuesDataSequence;
-    setRoleToTheSequence(aDataSequence, u"values-y"_ustr);
-
-    m_aDataSeries[0]->addDataSequence(new LabeledDataSequence(aDataSequence));
-}
-
-} //  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 97dc001d9550..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);
-    DataSeriesHelper::setPropertyAlsoToAllAttributedDataPoints(xSeries, 
"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 dec8fcec29bf..f49a45ad4162 100644
--- a/chart2/source/tools/ChartTypeHelper.cxx
+++ b/chart2/source/tools/ChartTypeHelper.cxx
@@ -208,8 +208,6 @@ bool 
ChartTypeHelper::isSupportingOverlapAndGapWidthProperties(
             return true;
         if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_BAR) )
             return true;
-        if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_HISTOGRAM) )
-            return true;
     }
     return false;
 }
@@ -316,18 +314,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;
@@ -472,9 +458,7 @@ bool ChartTypeHelper::isSupportingCategoryPositioning( 
const rtl::Reference< Cha
             aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_CANDLESTICK))
             return true;
         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_COLUMN) || 
aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_BAR)))
             return true;
     }
     return false;
@@ -643,13 +627,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 e86d248fcf7a..e9aebaf6960d 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"
@@ -2318,7 +2317,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),
@@ -2958,8 +2956,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 34c1d2bfdf9c..40e1f96b70c4 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 c77959bfd35b..e017f81e19c7 100644
--- a/oox/inc/drawingml/chart/typegroupconverter.hxx
+++ b/oox/inc/drawingml/chart/typegroupconverter.hxx
@@ -49,8 +49,7 @@ enum TypeId
     TYPEID_SCATTER,                 /// Scatter (XY) chart.
     TYPEID_BUBBLE,                  /// Bubble chart.
     TYPEID_SURFACE,                 /// Surface chart.
-    TYPEID_HISTO,                   /// Histogram chart.
-    TYPEID_UNKNOWN,                 /// Default for unknown chart types.
+    TYPEID_UNKNOWN                  /// Default for unknown chart types.
 };
 
 /** Enumerates different categories of similar chart types. */
@@ -61,8 +60,7 @@ enum TypeCategory
     TYPECATEGORY_RADAR,             /// Radar charts (linear or filled).
     TYPECATEGORY_PIE,               /// Pie and donut charts.
     TYPECATEGORY_SCATTER,           /// Scatter and bubble charts.
-    TYPECATEGORY_SURFACE,           /// Surface charts.
-    TYPECATEGORY_HISTO              /// Histogram charts.
+    TYPECATEGORY_SURFACE            /// Surface 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 71be134a9f03..4fc5ab2fb691 100644
--- a/oox/source/drawingml/chart/typegroupconverter.cxx
+++ b/oox/source/drawingml/chart/typegroupconverter.cxx
@@ -67,7 +67,6 @@ const char SERVICE_CHART2_PIE[]       = 
"com.sun.star.chart2.PieChartType";
 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_HISTO[]     = 
"com.sun.star.chart2.HistogramChartType";
 
 namespace csscd = css::chart::DataLabelPlacement;
 
@@ -76,7 +75,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 b64606bac16e..20372dee3aea 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