37 Commits
Author SHA1 Message Date
Devansh Varshney eac1e807cc chart2: expose histogram bin settings in axis sidebar
Add histogram binning controls to the axis properties sidebar.

Expose automatic, fixed-width, and fixed-count modes together with
optional underflow and overflow bins. Read the current settings from
the histogram chart type and update the corresponding model properties
when the controls change.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: Ia252499454a0715b1de094de05158966769ec912
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/9284
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit dc0a6a31ff7719cd697220eb173f5c15935096ad)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209220
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-01 15:41:57 +02:00
Devansh Varshney e1b7b7352c vcl: notify formatted spin button changes on activation
SalInstanceFormattedSpinButton notified value changes for spin
operations and focus loss, but not when Return was pressed in its
internal edit.

Install an activation handler on the sub-edit, matching
SalInstanceSpinButton, and emit value_changed so manually entered
formatted values are committed on Return.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: Iecb041375fd1e26690201f4b28f5ecbccf9b24ac
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/9283
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 119798504c55b2075c67f2294253104dee29a7bf)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209219
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-09-01 14:19:41 +02:00
Devansh Varshney 22b73ccfdc chart2: keep histogram axis labels in sync with bin settings
Histogram bin-property changes regenerated the category sequence stored
on the data series, while the X axis continued referencing the previous
sequence. This left the chart bars updated but displayed stale bin
labels.

Keep the category sequence produced by HistogramDataInterpreter on both
the diagram axis and data series. Update its binning parameters in place
when histogram properties change, allowing existing listeners to
recalculate and redraw the axis labels.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: Ibd6679bddf29de5fa1fd903af9274259b2e9c243
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/9282
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 0103afa2a6a746ce54a0e3e4297e1fa60698ef03)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209218
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-01 14:00:42 +02:00
Devansh Varshney 13650bcefe oox: preserve automatic histogram binning mode
Do not export transient Scott's-rule width as cx:binSize for automatic
histograms. An explicit binSize is imported as fixed-width
binning, so ODS-to-XLSX roundtrip changed FrequencyType from automatic
to fixed width.

Leave cx:binning without binSize or binCount for automatic mode and add
a regression test verifying that FrequencyType remains automatic after
XLSX export and reload.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: Icac1a0a032213dd5a6d5581a72d7453e8147d391
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/7985
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 9b4ab82c920ae20bc82f6d68031b1f853dbc65c6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209217
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-01 14:00:36 +02:00
Devansh Varshney ad77e91af6 chart2: expose histogram bin settings in axis dialog
Add histogram binning controls to the Scale page of the primary
X-axis dialog.

Allow selecting automatic binning, fixed bin width, or a fixed
number of bins, together with optional underflow and overflow bins
and validate invalid combinations.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: Ia1efb0ea64249f0297f00c29f0bee8a4803ca803
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/7984
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit f55a6867e1c2b67069d85611dcf25dbed25b85bd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209216
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-01 14:00:30 +02:00
Devansh Varshney b336f57daf fix: Tiny typo in unoidl README.md
removed the extra a in 'from' and added backticks
to `N8 * Idx-String`

Change-Id: Id257c9a577421ff11224a7a0efb1f3f2973c767b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208255
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2026-07-20 07:47:51 +02:00
Devansh Varshney 88550ce19c oox: xmloff: import/export histogram underflow and overflow bins
Read underflow and overflow attributes from the histogram chart
type properties.

Export the same properties back to <cx:binning> so chart roundtrip
preserves optional edge bins.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: I963febac4987da23dce2571928982973f7ea67d6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207153
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-29 14:41:12 +02:00
Devansh Varshney 09823632bd chart2: add histogram underflow/overflow bin model support
Add model properties for optional underflow and overflow bins on
histogram chart types, and expose them through the HistogramDiagram
wrapper.

Pass the new settings through the existing histogram pipeline:
HistogramChartType snapshots the properties, HistogramDataSequence keeps
that snapshot, and HistogramCalculator creates optional edge bins around
the normal bin range.

Generated category labels now distinguish special bins from normal ranges,
e.g. "<= 11", "(11-13]", and "> 14".

Add a model-level test that sets fixed bin width together with underflow
and overflow bins, then verifies that the generated bin labels are rebuilt
correctly.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: I65eac9607daa4f4be6320304c9e9682549f479a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207151
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-29 14:35:14 +02:00
Devansh Varshney 48ef1cbacc chart2: update histogram bins after bin-count changes
HistogramDataSequence snapshots the histogram binning
settings when the calculated-y and category sequences
are created. Rebuild those sequences when BinWidth,
BinCount, or FrequencyType changes, so fixed-bin settings
take effect immediately.

For XLSX import, use the regenerated histogram series
categories as the X axis categories. Keeping the existing
axis categories can preserve stale bin labels, e.g. after
reloading a chart exported with cx:binCount.

Extend the histogram roundtrip test to verify that fixed
bin count creates the expected bin labels after ODF
and XLSX reload.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: I718bbfe537d847de6c17ea7742a9c4d231b57b7c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207007
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-29 14:28:58 +02:00
Devansh Varshney 13c8228073 tdf#169110 tdf#171441 tdf#171636 sc: add UI test for VBA CutCopyMode after opening Basic IDE
Open the Basic IDE, activate the VBA module window, then run the
document macro and verify it does not fail with
'Property or method not found: CutCopyMode'.

This covers the regression where Basic IDE / Object Browser activity
 disturb VBA member resolution for the active document.

Change-Id: Id54b76cc633ba76377f201e3c4afca06a094ea7e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197754
Tested-by: Jenkins
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
2026-06-22 12:54:06 +02:00
Devansh Varshney 976fb79eee chart2: cover multi-histogram ChartEx source ranges
Add multi-chart histogram fixtures for ODF and XLSX, each containing three
histograms backed by separate source ranges.

The ODS-to-XLSX export test verifies that each exported ChartEx histogram
writes its own direct values-y range. This covers the failure mode where
multiple histograms could all point to the same _xlchart.v1.0 formula.

The XLSX roundtrip test verifies the same source-range separation for
native ChartEx histogram documents.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: Iaa0d8cf69ee1879cd389b2fe1c6697d723440c5b
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4100
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 992a4edb821c97bf7132306c414b47c69e22111c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206715
Tested-by: Jenkins
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-17 21:52:50 +02:00
Devansh Varshney 344d396182 chart2: cover histogram XLSX raw data roundtrip
Extend the XLSX histogram roundtrip test to assert that the imported
series keeps its raw values-y data sequence and does not persist the
derived calculated-y sequence.

This mirrors the existing ODF histogram coverage and protects the
values-y/calculated-y separation for OOXML import/export.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: Ie0fa7d437eff9f35dc3013eaf61e1e9d05524e59
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4095
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 1dedc2bd1e1e3ec37c4355d0e193a722f21e9998)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206714
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-17 21:52:41 +02:00
Devansh Varshney f78fcd8973 chart2: qa: cover histogram bin count property roundtrip
The test verifies that FrequencyType=2 and BinCount=3 survive ODS and
XLSX save/reload. The generated bin labels are intentionally not asserted
here, because fixed bin-count calculation is not implemented yet and still
falls back to the current automatic/bin-width result.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: Iaf1f0f89d82423eee057e8e480a559604b0b1a70
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4074
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 0300d06dcc060c6ac060cfd1dfe989acb3d960d7)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206713
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-17 21:50:59 +02:00
Devansh Varshney 1c88202d58 chart2: fix histogram ODF/XLSX roundtrip
ODF import applied the histogram template before series data existed, so
bins were not rebuilt on reload. Apply it again after series import.

For XLSX import, preserve generated histogram bin labels during axis
conversion instead of replacing them with generic category labels.

For XLSX export, write the direct values-y source range for new
histograms instead of generating an _xlchart.v1.N alias without a
guaranteed matching workbook definedName.

(cherry picked from commit d346a0edcaa200720b8ce5716a84427b5fce10d8)
Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3302
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>

Change-Id: I6c9d2aa5c70e0340331cde159499f3c4992828a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205843
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-11 01:59:34 +02:00
Devansh Varshney 807f9f4ad6 chart2: Add histogram to UI only in experimental mode
Based on work by Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>.

Change-Id: Iadf124cb82a6952fce3538324528ad56aa273f0d
(cherry picked from commit eb186113209b8012179d2b5c6eac5729876bf61f)
Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1883
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 5bec82ff130a79508b8e205e46085dfa43052d2e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205557
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-05 21:53:33 +02:00
Devansh Varshney 5e836dfec5 oox: support histogram OOXML import and export
Preserve histogram charts when importng and exporting XLSX file.
Import histogram charts from XLSX, keep their source data and
settings, and export them back that keeps them working as
histogram charts.

Change-Id: I9c3e39fd3b429b9f61c249dd952bf70d9113ed7f
(cherry picked from commit 330fa62f1ef7b7c848c2da98d18a8bb453e82201)
Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1882
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 2ed0256704eb3ca34ff0a217b330849a3f7952da)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203895
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-05-23 00:10:01 +02:00
Devansh Varshney 0a99dee0ba chart2 qa: add ODF histogram roundtrip test
Add an ODS roundtrip test for histogram chart ODF import/export.

Change-Id: I37e6da4fc55dbff1fa0d310b3f74ee7e63a8012d
(cherry picked from commit 8a04469f2577c8a817dd4c9a9ee5c2d971157e4f)
Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1881
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 74bb1558fdf2e418d1c4a556e5a69819e3696cdd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203893
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-23 00:09:54 +02:00
Devansh Varshney a83694c6ca xmloff: support histogram ODF import and export
Export histogram charts as chart:bar with coext:class="histogram"
and write histogram properties.

Import the histogram class and configuration again recreate the
HistogramChartType, and trigger the histogram template once chart
import is complete so calculated bins, categories, and frequencies
are rebuilt from the preserved raw values-y data.

Change-Id: I202d5666315d4f26da2bf4b3650b4388a9e4fb50
(cherry picked from commit 5fb2f5f2c2676743b823640dbaa02762308d6a54)
Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1880
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit a54fc185d3d73f765bd37cc98df92cac81e01572)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203814
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-05-23 00:09:47 +02:00
Devansh Varshney 6829e82577 chart2: Implement Scott's Rule and Histogram Data Interpreter
This commit introduces the mathematical backend and data interpreter for
the Histogram chart, replacing the temporary raw value rendering.

- Adds HistogramCalculator, utilizing Scott's Rule to calculate optimal
bin widths and frequencies from raw data.
- Introduces HistogramDataSequence that listens to spreadsheet data
changes and automatically regenerates bin categories and frequencies
- Implements HistogramDataInterpreter to intercept raw values-y input,
and output the results into the calculated-y data sequence.

Change-Id: Iaf29ddd0b0824bd3f0808ffc91321cad9d5b877e
(cherry picked from commit 1ef619a998aba626d0ea7a9541109a7c9e145518)
Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1879
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit df68284255ccac4bd86583555986d9f7cbdddf9a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203747
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-23 00:09:41 +02:00
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
Devansh Varshney 2049356d4f chart2: avoid overwriting values-y
Implements a new calculated-y data structure which will be
useful in new chart types like histogram charts where the
axes are modified and hence have to preserve original raw
input values.

Change-Id: I339211d700501f263201a977741206cdb73e1cea
(cherry picked from commit 7bcf35bc40a3d0bb7452cff56c88d8b86c4b2d79)
Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1877
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 48a8b3165c543d1b46b92c1cf4941adc40fc11cd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203687
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-23 00:09:26 +02:00
varshneydevansh 9bcc5970b7 tdf#132007: Refine password prompt dialog UI and text
Refines the password dialog for a cleaner user experience.

The main prompt now shows just the filename instead of the full path.
A the label clarifies whether a password to "open" or "edit" the
file is needed.

The OK button is disabled until a password is entered.

Change-Id: I1288fc94b81984b32f9ade33bd0cd52aa4439b1d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163924
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2025-11-07 15:41:27 +01:00
Devansh Varshney 84401c3b18 tdf#165785: basctl: Activate Details Pane and Contextual Status Bar
This patch brings the Object Browser's information panels to life,
activating the main details pane and the bottom status bar.

When a user selects an item, the details pane now displays a rich,
formatted view of its properties, such as its full signature or a summary
of its contents. The status bar provides helpful context, like member
counts, and displays the total time taken for the initial data load.

(GSoC 2025 - Object Browser: Rich Information Display)

Change-Id: Iadbc2f3dfeb8eba357558d8a98e7ef663a3e2683
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192079
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
2025-10-17 01:52:45 +02:00
Devansh Varshney 2b5803c3b4 tdf#165785: basctl: Implement Right-Pane Interactivity
This patch brings the Object Browser's right-hand members pane to life.

The right pane now supports on-demand expansion for nested UNO types.
Double-clicking items now performs a context-aware action: opening
the relevant Doxygen API page for UNO types or navigating to the
source code for BASIC macros.

(GSoC 2025 - Object Browser: Right-Pane UI Enhancement)

Change-Id: Ibcc2a0479746f3724372c9bd89853626506d42f3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192050
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2025-10-17 01:51:10 +02:00
Devansh Varshney edb03719a7 tdf#165785: basctl: Activate Core UI Interactivity and Member View
This patch brings the Object Browser's user interface to life. It
connects the left navigation pane to the right members pane.

When a user expands a node on the left, its children are now loaded on
demand to keep the UI responsive. When a user selects an item, such as a
module or an interface, its members are now fetched and displayed in the
right-hand pane.

(GSoC 2025 - Object Browser: Member View and UI Logic)

Change-Id: I199ebcac20590d1a1ca83ef3ee7759ff34504252
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191923
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2025-10-16 23:09:08 +02:00
Devansh Varshney dd1474c34f tdf#165785: basctl: Activate Object Browser Scope Selector and Dynamic Refresh
This patch brings the Object Browser's scope mechanism to life. It
connects the UI's "Scope" dropdown to the data provider, allowing the
view to be filtered between "All Libraries" and "Current Document".

The browser now also automatically updates its view to reflect the
currently active document when in "Current Document" mode.

(GSoC 2025 - Object Browser: Scope Activation and Dynamic UI)

Change-Id: Icd3679330c9b05eaa0cb351d81fd4d2415f91d71
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191886
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2025-10-16 21:02:46 +02:00
Devansh Varshney a2d19c0704 tdf#165785: basctl: Implement data provider for Object Browser
This patch introduces the core data-fetching logic for the new Object
Browser. It implements the logic to scan all available UNO APIs and to
preload BASIC libraries.

For this foundational patch, the data initialization is performed
synchronously. A subsequent patch will refactor this into a non-blocking,
asynchronous operation to keep the UI fully responsive.

(GSoC 2025 - Object Browser: Data Provider Implementation)

Change-Id: I46446fc498820d9776d77ba25c4fa3fd4ca89a8d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191405
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2025-10-14 18:35:47 +02:00
Devansh Varshney 87a7d94cc3 tdf#165785: basctl: Integrate blank UI shell for Object Browser
This patch integrates the user interface for the new Object Browser.
It introduces the UI definition file and the C++ logic to create,
display, and manage the window's lifecycle within the IDE.

(GSoC 2025 - Object Browser: UI Shell Integration)

Change-Id: I9a2d7c319a7590e44eafe3d575eb3b0aeffb7e86
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191206
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
2025-09-26 21:46:24 +02:00
Devansh Varshney dadddf3861 tdf#165785: basctl: Core Data Structures for Object Browser
This commit introduces the core data structures and minimal C++ class
definitions for the new BASIC IDE Object Browser. It establishes the
necessary foundation for the feature, allowing the code to build cleanly.

The actual logic for the UI, data fetching, and other features
will be implemented in subsequent, focused patches.

(GSoC 2025 - Object Browser: Core Data Structures)

Change-Id: Ibd9bb6be0adf579d156662bf33565de497187a55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189934
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
2025-09-26 20:53:40 +02:00
varshneydevansh 2a20616d09 Move Windows error helpers to comphelper namespace
Previously, WindowsErrorString and WindowsErrorStringFromHRESULT were
defined in an anonymous namespace in windowserrorstring.hxx, which:
1. Made them unavailable to other translation units
2. Violate ODR by creating separate copies in each TU
3. Require workarounds to access them

Changes:
- Move functions to proper comphelper namespace
- Keep implementations inline as they're simple utilities
- Preserve all existing functionality
- Update all call sites to use comphelper:: prefix

This change enables proper use of these utilities across LibreOffice
while maintaining current behavior and performance characteristics.

Introduced in this commit:

    commit 94cdcaa4d8
    Author: Tor Lillqvist <tml@collabora.com>
    Date:   Thu Aug 13 13:22:28 2015 +0300

        Add a globally usable WindowsErrorString function

Change-Id: I34df1c2b1f30c6204f107ca4792131d692203880
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183332
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2025-03-26 15:11:33 +01:00
varshneydevansh aebe61498b tdf#82716 Implement Correct Calculation for Histogram Chart
- Add Scott's rule for bin width calculation
- Correct upper and lower limit for the Bin Range in the X-Axis

This commit introduces Scott's Reference Rule as we are currently
using the sqrt for histogram calculation, improving bin width
determination and overall histogram accuracy.

Change-Id: I4a430416e365781ebef8b1e0872dd4ed50492b9c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170526
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-08-04 11:01:08 +02:00
varshneydevansh 07ae0e5ada tdf#82716 Add initial implementation of the Histogram Chart
- Add the Histogram selection to the UI
- Histogram bars showing with No Gap
- Convert X and Y axis to group data into bins and frequency
- Adjusted failing UI test (tdf138556) as a new chart type was added

Change-Id: Id1f161adac943ead5e17c7fbb7e14c9ab7f1655e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167068
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-07-21 08:02:43 +02:00
varshneydevansh 5e8813b22a tdf#97448 Add helper script to generate Addons.xcu
This patch adds a new Python helper script to generate Addons.xcu for
LibreOffice extensions. The script works like a wizard, and asks user
about the needed details. It provides these options for the application
module context:

    1. Writer
    2. Spreadsheet
    3. Presentation
    4. Draw
    5. Formula
    6. Chart
    7. Bibliography

After selection of the module, appropriate Addons.xcu is generated, and
user is asked to choose between 'desktop' or a custom folder to save the
resulting file.

Change-Id: I22a878f0bde19a870674a357d7085ad3c12fc50c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163382
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2024-04-25 10:58:49 +02:00
varshneydevansh cc695e180b tdf#42982: Improve UNO API error reporting
Change-Id: I2eead2d6907cf49d9a8525065d33c3ef43207660
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161779
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2024-03-10 23:40:21 +01:00
varshneydevansh 0859e497be tdf#145539 convert const char[] in files to constexpr OUStringLiteral
OStringLiteral represent read-only memory for string literal while
OUString is a dynamic string class with reference counting
hence use OUString when you need reference counting, string
manipulation along with _ustr suffix.

Change-Id: Ib566df156d81c7527f5650bcc6bd5db6509128cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162911
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2024-02-14 09:58:21 +01:00
varshneydevansh 2220b3718f tdf#158337 use std::erase instead of std::remove followed by erase
Change-Id: I36043cd3aa234f98bd0b7cc2868e9094976472b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163123
Reviewed-by: Hossein <hossein@libreoffice.org>
Tested-by: Hossein <hossein@libreoffice.org>
2024-02-12 13:28:36 +01:00
varshneydevansh b370357b40 tdf#141908: replace usage of sal_Int32 with colors
Change-Id: I71d94239c155f41d4535c023ea3aa8f974fcf2da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163082
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-02-10 11:47:05 +01:00