Files
odfstudio/chart2/source/chart2.component
T
Devansh Varshney 048b35b49d chart2: Add UI and basic rendering for Histogram chart
This commit introduces the structural foundation and user interface for
the new Histogram chart type. The rendering engine gracefully falls
back to plotting the raw values-y input data directly. As a result, the
chart currently renders identically to a standard bar/column chart.

- Adds UI entries in the Chart Type dialog.
- Adds HistogramChart to the view layer, inheriting from BarChart and
forcing a 0-gap width.

Change-Id: Ica5b15e9b7428d6c908e1b978259367fe8ff7aab
(cherry picked from commit 14a4a09b62fc283f9b629a2a317156efa6509054)
Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1878
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 508c3456e85a88771ac5e264cee9460274685a22)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203741
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-23 00:09:33 +02:00

347 lines
19 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
* 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/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
xmlns="http://openoffice.org/2010/uno-components">
<implementation name="com.sun.star.chart2.ExponentialScaling"
constructor="com_sun_star_chart2_ExponentialScaling_get_implementation">
<service name="com.sun.star.chart2.ExponentialScaling"/>
</implementation>
<implementation name="com.sun.star.chart2.LinearScaling"
constructor="com_sun_star_chart2_LinearScaling_get_implementation">
<service name="com.sun.star.chart2.LinearScaling"/>
</implementation>
<implementation name="com.sun.star.chart2.LogarithmicScaling"
constructor="com_sun_star_chart2_LogarithmicScaling_get_implementation">
<service name="com.sun.star.chart2.LogarithmicScaling"/>
</implementation>
<implementation name="com.sun.star.chart2.PowerScaling"
constructor="com_sun_star_chart2_PowerScaling_get_implementation">
<service name="com.sun.star.chart2.PowerScaling"/>
</implementation>
<implementation name="com.sun.star.comp.chart.CachedDataSequence"
constructor="com_sun_star_comp_chart_CachedDataSequence_get_implementation">
<service name="com.sun.star.chart2.data.DataSequence"/>
<service name="com.sun.star.chart2.data.NumericalDataSequence"/>
<service name="com.sun.star.chart2.data.TextualDataSequence"/>
<service name="com.sun.star.comp.chart.CachedDataSequence"/>
</implementation>
<implementation name="com.sun.star.comp.chart.DataSource"
constructor="com_sun_star_comp_chart_DataSource_get_implementation">
<service name="com.sun.star.chart2.data.DataSource"/>
</implementation>
<implementation name="com.sun.star.comp.chart.InternalDataProvider"
constructor="com_sun_star_comp_chart_InternalDataProvider_get_implementation">
<service name="com.sun.star.chart2.data.DataProvider"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.ConfigDefaultColorScheme"
constructor="com_sun_star_comp_chart2_ConfigDefaultColorScheme_get_implementation">
<service name="com.sun.star.chart2.ColorScheme"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.ErrorBar"
constructor="com_sun_star_comp_chart2_ErrorBar_get_implementation">
<service name="com.sun.star.chart2.ErrorBar"/>
<service name="com.sun.star.comp.chart2.ErrorBar"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.ExponentialRegressionCurve"
constructor="com_sun_star_comp_chart2_ExponentialRegressionCurve_get_implementation">
<service name="com.sun.star.chart2.ExponentialRegressionCurve"/>
<service name="com.sun.star.chart2.RegressionCurve"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.LabeledDataSequence"
constructor="com_sun_star_comp_chart2_LabeledDataSequence_get_implementation">
<service name="com.sun.star.chart2.data.LabeledDataSequence"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.LinearRegressionCurve"
constructor="com_sun_star_comp_chart2_LinearRegressionCurve_get_implementation">
<service name="com.sun.star.chart2.LinearRegressionCurve"/>
<service name="com.sun.star.chart2.RegressionCurve"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.LogarithmicRegressionCurve"
constructor="com_sun_star_comp_chart2_LogarithmicRegressionCurve_get_implementation">
<service name="com.sun.star.chart2.LogarithmicRegressionCurve"/>
<service name="com.sun.star.chart2.RegressionCurve"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.MeanValueRegressionCurve"
constructor="com_sun_star_comp_chart2_MeanValueRegressionCurve_get_implementation">
<service name="com.sun.star.chart2.MeanValueRegressionCurve"/>
<service name="com.sun.star.chart2.RegressionCurve"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.PotentialRegressionCurve"
constructor="com_sun_star_comp_chart2_PotentialRegressionCurve_get_implementation">
<service name="com.sun.star.chart2.PotentialRegressionCurve"/>
<service name="com.sun.star.chart2.RegressionCurve"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.PolynomialRegressionCurve"
constructor="com_sun_star_comp_chart2_PolynomialRegressionCurve_get_implementation">
<service name="com.sun.star.chart2.PolynomialRegressionCurve"/>
<service name="com.sun.star.chart2.RegressionCurve"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.MovingAverageRegressionCurve"
constructor="com_sun_star_comp_chart2_MovingAverageRegressionCurve_get_implementation">
<service name="com.sun.star.chart2.MovingAverageRegressionCurve"/>
<service name="com.sun.star.chart2.RegressionCurve"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.RegressionEquation"
constructor="com_sun_star_comp_chart2_RegressionEquation_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.RegressionEquation"/>
<service name="com.sun.star.drawing.FillProperties"/>
<service name="com.sun.star.drawing.LineProperties"/>
<service name="com.sun.star.style.CharacterProperties"/>
</implementation>
<implementation name="com.sun.star.comp.chart.AreaChartType"
constructor="com_sun_star_comp_chart_AreaChartType_get_implementation">
<service name="com.sun.star.chart2.AreaChartType"/>
<service name="com.sun.star.chart2.ChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.BarChartType"
constructor="com_sun_star_comp_chart_BarChartType_get_implementation">
<service name="com.sun.star.chart2.BarChartType"/>
<service name="com.sun.star.chart2.ChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.BoxWhiskerChartType"
constructor="com_sun_star_comp_chart_BoxWhiskerChartType_get_implementation">
<service name="com.sun.star.chart2.ChartType"/>
<service name="com.sun.star.chart2.BoxWhiskerChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.BubbleChartType"
constructor="com_sun_star_comp_chart_BubbleChartType_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.BubbleChartType"/>
<service name="com.sun.star.chart2.ChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.CandleStickChartType"
constructor="com_sun_star_comp_chart_CandleStickChartType_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.CandleStickChartType"/>
<service name="com.sun.star.chart2.ChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.ChartTypeManager"
constructor="com_sun_star_comp_chart_ChartTypeManager_get_implementation">
<service name="com.sun.star.chart2.ChartTypeManager"/>
</implementation>
<implementation name="com.sun.star.comp.chart.ClusteredColumnChartType"
constructor="com_sun_star_comp_chart_ClusteredColumnChartType_get_implementation">
<service name="com.sun.star.chart2.ChartType"/>
<service name="com.sun.star.chart2.ClusteredColumnChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.ColumnChartType"
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">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.DataPointProperties"/>
<service name="com.sun.star.chart2.DataSeries"/>
</implementation>
<implementation name="com.sun.star.comp.chart.FilledNetChartType"
constructor="com_sun_star_comp_chart_FilledNetChartType_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.ChartType"/>
<service name="com.sun.star.chart2.FilledNetChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.FormattedString"
constructor="com_sun_star_comp_chart_FormattedString_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.FormattedString"/>
<service name="com.sun.star.chart2.DataPointCustomLabelField"/>
</implementation>
<implementation name="com.sun.star.comp.chart.FunnelChartType"
constructor="com_sun_star_comp_chart_FunnelChartType_get_implementation">
<service name="com.sun.star.chart2.ChartType"/>
<service name="com.sun.star.chart2.FunnelChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.LineChartType"
constructor="com_sun_star_comp_chart_LineChartType_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.ChartType"/>
<service name="com.sun.star.chart2.LineChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.NetChartType"
constructor="com_sun_star_comp_chart_NetChartType_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.ChartType"/>
<service name="com.sun.star.chart2.NetChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.ParetoLineChartType"
constructor="com_sun_star_comp_chart_ParetoLineChartType_get_implementation">
<service name="com.sun.star.chart2.ChartType"/>
<service name="com.sun.star.chart2.ParetoLineChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.PieChartType"
constructor="com_sun_star_comp_chart_PieChartType_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.ChartType"/>
<service name="com.sun.star.chart2.PieChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.RegionMapChartType"
constructor="com_sun_star_comp_chart_RegionMapChartType_get_implementation">
<service name="com.sun.star.chart2.ChartType"/>
<service name="com.sun.star.chart2.RegionMapChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.ScatterChartType"
constructor="com_sun_star_comp_chart_ScatterChartType_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.ChartType"/>
<service name="com.sun.star.chart2.ScatterChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.SunburstChartType"
constructor="com_sun_star_comp_chart_SunburstChartType_get_implementation">
<service name="com.sun.star.chart2.ChartType"/>
<service name="com.sun.star.chart2.SunburstChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.TreemapChartType"
constructor="com_sun_star_comp_chart_TreemapChartType_get_implementation">
<service name="com.sun.star.chart2.ChartType"/>
<service name="com.sun.star.chart2.TreemapChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart.WaterfallChartType"
constructor="com_sun_star_comp_chart_WaterfallChartType_get_implementation">
<service name="com.sun.star.chart2.ChartType"/>
<service name="com.sun.star.chart2.WaterfallChartType"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.Axis"
constructor="com_sun_star_comp_chart2_Axis_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.Axis"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.CartesianCoordinateSystem2d"
constructor="com_sun_star_comp_chart2_CartesianCoordinateSystem2d_get_implementation">
<service name="com.sun.star.chart2.CartesianCoordinateSystem2d"/>
<service name="com.sun.star.chart2.CoordinateSystems.Cartesian"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.CartesianCoordinateSystem3d"
constructor="com_sun_star_comp_chart2_CartesianCoordinateSystem3d_get_implementation">
<service name="com.sun.star.chart2.CartesianCoordinateSystem3d"/>
<service name="com.sun.star.chart2.CoordinateSystems.Cartesian"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.ChartModel"
constructor="com_sun_star_comp_chart2_ChartModel_get_implementation">
<service name="com.sun.star.chart.ChartDocument"/>
<service name="com.sun.star.chart2.ChartDocument"/>
<service name="com.sun.star.document.OfficeDocument"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.Diagram"
constructor="com_sun_star_comp_chart2_Diagram_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.Diagram"/>
<service name="com.sun.star.layout.LayoutElement"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.GridProperties"
constructor="com_sun_star_comp_chart2_GridProperties_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.GridProperties"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.Legend"
constructor="com_sun_star_comp_chart2_Legend_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.Legend"/>
<service name="com.sun.star.drawing.FillProperties"/>
<service name="com.sun.star.drawing.LineProperties"/>
<service name="com.sun.star.layout.LayoutElement"/>
<service name="com.sun.star.style.CharacterProperties"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.DataTable"
constructor="com_sun_star_comp_chart2_DataTable_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.DataTable"/>
<service name="com.sun.star.drawing.FillProperties"/>
<service name="com.sun.star.drawing.LineProperties"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.PageBackground"
constructor="com_sun_star_comp_chart2_PageBackground_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.PageBackground"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.PolarCoordinateSystem2d"
constructor="com_sun_star_comp_chart2_PolarCoordinateSystem2d_get_implementation">
<service name="com.sun.star.chart2.CoordinateSystems.Polar"/>
<service name="com.sun.star.chart2.PolarCoordinateSystem2d"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.PolarCoordinateSystem3d"
constructor="com_sun_star_comp_chart2_PolarCoordinateSystem3d_get_implementation">
<service name="com.sun.star.chart2.CoordinateSystems.Polar"/>
<service name="com.sun.star.chart2.PolarCoordinateSystem3d"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.Title"
constructor="com_sun_star_comp_chart2_Title_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart2.Title"/>
<service name="com.sun.star.layout.LayoutElement"/>
<service name="com.sun.star.style.ParagraphProperties"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.XMLFilter"
constructor="com_sun_star_comp_chart2_XMLFilter_get_implementation">
<service name="com.sun.star.document.ExportFilter"/>
<service name="com.sun.star.document.ImportFilter"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.report.XMLFilter"
constructor="com_sun_star_comp_chart2_report_XMLFilter_get_implementation">
<service name="com.sun.star.document.ExportFilter"/>
<service name="com.sun.star.document.ImportFilter"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.ChartView"
constructor="com_sun_star_comp_chart2_ChartView_get_implementation">
<service name="com.sun.star.chart2.ChartView"/>
</implementation>
<implementation name="com.sun.star.comp.chart.ElementSelectorToolbarController"
constructor="com_sun_star_comp_chart_ElementSelectorToolbarController_get_implementation">
<service name="com.sun.star.frame.ToolbarController"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.ChartDocumentWrapper"
constructor="com_sun_star_comp_chart2_ChartDocumentWrapper_get_implementation">
<service name="com.sun.star.beans.PropertySet"/>
<service name="com.sun.star.chart.ChartDocument"/>
<service name="com.sun.star.chart2.ChartDocumentWrapper"/>
<service name="com.sun.star.xml.UserDefinedAttributesSupplier"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.ChartFrameLoader"
constructor="com_sun_star_comp_chart2_ChartFrameLoader_get_implementation">
<service name="com.sun.star.frame.SynchronousFrameLoader"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.ChartTypeDialog"
constructor="com_sun_star_comp_chart2_ChartTypeDialog_get_implementation">
<service name="com.sun.star.chart2.ChartTypeDialog"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.WizardDialog"
constructor="com_sun_star_comp_chart2_WizardDialog_get_implementation">
<service name="com.sun.star.chart2.WizardDialog"/>
</implementation>
<implementation name="org.libreoffice.comp.chart2.sidebar.ChartPanelFactory"
constructor="org_libreoffice_comp_chart2_sidebar_ChartPanelFactory">
<service name="com.sun.star.ui.UIElementFactory"/>
</implementation>
<implementation name="org.libreoffice.chart2.Chart2ToolboxController"
constructor="org_libreoffice_chart2_Chart2ToolboxController">
<service name="com.sun.star.frame.ToolbarController"/>
</implementation>
<implementation name="com.sun.star.comp.chart2.ChartColorPaletteControl"
constructor="com_sun_star_comp_chart2_ChartColorPaletteControl_get_implementation">
<service name="com.sun.star.frame.ToolbarController"/>
</implementation>
</component>