basctl/source/basicide/brkdlg.hxx | 1 basctl/source/basicide/moduldlg.hxx | 1 chart2/source/controller/dialogs/res_Trendline.hxx | 1 chart2/source/controller/dialogs/tp_Scale.hxx | 1 chart2/source/controller/sidebar/ChartErrorBarPanel.hxx | 1 chart2/source/inc/ChartResourceGroupDlgs.hxx | 1 chart2/source/inc/ChartTypeDialogController.hxx | 1 cui/inc/dlgname.hxx | 1 cui/source/inc/QrCodeGenDialog.hxx | 1 cui/source/inc/TextColumnsPage.hxx | 1 cui/source/inc/autocdlg.hxx | 1 cui/source/inc/cuigrfflt.hxx | 1 cui/source/inc/cuitabarea.hxx | 1 cui/source/inc/cuitabline.hxx | 1 cui/source/inc/cuitbxform.hxx | 1 cui/source/inc/insdlg.hxx | 1 cui/source/inc/insrc.hxx | 1 cui/source/inc/measure.hxx | 1 cui/source/inc/newtabledlg.hxx | 1 cui/source/inc/numfmt.hxx | 1 cui/source/inc/numpages.hxx | 1 cui/source/inc/paragrph.hxx | 1 cui/source/inc/splitcelldlg.hxx | 1 cui/source/inc/srchxtra.hxx | 1 cui/source/inc/zoom.hxx | 1 cui/source/options/connpooloptions.hxx | 1 cui/source/options/optgdlg.hxx | 1 cui/source/options/opthtml.hxx | 1 cui/source/options/optlingu.cxx | 1 cui/source/options/optsave.hxx | 1 dbaccess/source/ui/dlg/admincontrols.hxx | 1 dbaccess/source/ui/dlg/adminpages.hxx | 1 dbaccess/source/ui/dlg/advancedsettings.hxx | 1 dbaccess/source/ui/inc/FieldControls.hxx | 1 dbaccess/source/ui/inc/WTypeSelect.hxx | 1 extensions/source/bibliography/general.hxx | 1 extensions/source/scanner/sanedlg.hxx | 1 filter/source/pdf/impdialog.hxx | 1 include/sfx2/dinfdlg.hxx | 1 include/sfx2/printopt.hxx | 1 include/svtools/PlaceEditDialog.hxx | 1 include/svx/compressgraphicdialog.hxx | 1 include/svx/dialog/gotodlg.hxx | 1 include/svx/dlgctrl.hxx | 1 include/svx/float3d.hxx | 1 include/svx/relfld.hxx | 1 include/vcl/jsdialog/executor.hxx | 1 include/vcl/weld/MetricSpinButton.hxx | 2 include/vcl/weld/SpinButton.hxx | 106 ++++++++ include/vcl/weld/weld.hxx | 158 ------------ reportdesign/source/ui/inc/GroupsSorting.hxx | 1 sc/source/ui/inc/AnalysisOfVarianceDialog.hxx | 2 sc/source/ui/inc/ExponentialSmoothingDialog.hxx | 2 sc/source/ui/inc/FourierAnalysisDialog.hxx | 2 sc/source/ui/inc/MovingAverageDialog.hxx | 2 sc/source/ui/inc/RandomNumberGeneratorDialog.hxx | 2 sc/source/ui/inc/RegressionDialog.hxx | 2 sc/source/ui/inc/SamplingDialog.hxx | 2 sc/source/ui/inc/SparklineDialog.hxx | 2 sc/source/ui/inc/dpgroupdlg.hxx | 1 sc/source/ui/inc/inscldlg.hxx | 1 sc/source/ui/inc/instbdlg.hxx | 1 sc/source/ui/inc/linkarea.hxx | 1 sc/source/ui/inc/navipi.hxx | 1 sc/source/ui/inc/pvfundlg.hxx | 1 sc/source/ui/inc/scuiasciiopt.hxx | 1 sc/source/ui/inc/solveroptions.hxx | 1 sc/source/ui/inc/tpcalc.hxx | 1 sc/source/ui/inc/tpdefaults.hxx | 1 sc/source/ui/inc/tptable.hxx | 1 sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx | 1 sd/source/ui/dlg/paragr.cxx | 1 sd/source/ui/inc/BulletAndPositionDlg.hxx | 1 sd/source/ui/inc/animobjs.hxx | 1 sd/source/ui/inc/copydlg.hxx | 1 sd/source/ui/inc/diactrl.hxx | 1 sd/source/ui/inc/morphdlg.hxx | 1 sd/source/ui/inc/vectdlg.hxx | 1 sdext/source/minimizer/optimizerdialog.hxx | 1 svtools/source/filter/exportdialog.hxx | 1 svx/source/sidebar/textcolumns/TextColumnsPropertyPanel.hxx | 1 svx/source/tbxctrls/layctrl.cxx | 1 sw/inc/colwd.hxx | 1 sw/source/ui/dbui/createaddresslistdialog.hxx | 1 sw/source/ui/envelp/labfmt.hxx | 1 sw/source/ui/envelp/labprt.hxx | 1 sw/source/ui/fldui/flddok.hxx | 1 sw/source/ui/inc/mmresultdialogs.hxx | 1 sw/source/ui/inc/regionsw.hxx | 1 sw/source/ui/misc/impfnote.hxx | 1 sw/source/uibase/inc/abstract.hxx | 1 sw/source/uibase/inc/break.hxx | 1 sw/source/uibase/inc/column.hxx | 1 sw/source/uibase/inc/contentcontroldlg.hxx | 1 sw/source/uibase/inc/convert.hxx | 1 sw/source/uibase/inc/drpcps.hxx | 1 sw/source/uibase/inc/instable.hxx | 1 sw/source/uibase/inc/linenum.hxx | 1 sw/source/uibase/inc/mailconfigpage.hxx | 1 sw/source/uibase/inc/mailmrge.hxx | 1 sw/source/uibase/inc/navipi.hxx | 1 sw/source/uibase/inc/numpara.hxx | 1 sw/source/uibase/inc/optload.hxx | 1 sw/source/uibase/inc/outline.hxx | 1 sw/source/uibase/inc/pggrid.hxx | 1 sw/source/uibase/inc/srtdlg.hxx | 1 sw/source/uibase/inc/swuicnttab.hxx | 1 sw/source/uibase/inc/swuiidxmrk.hxx | 1 sw/source/uibase/inc/titlepage.hxx | 1 sw/source/uibase/table/tablepg.hxx | 1 sw/source/uibase/uiview/pview.cxx | 1 vcl/Library_vcl.mk | 1 vcl/inc/colorpicker.hxx | 1 vcl/inc/printdlg.hxx | 1 vcl/inc/qt5/QtInstanceBuilder.hxx | 1 vcl/inc/qt5/QtInstanceSpinButton.hxx | 2 vcl/inc/salvtables.hxx | 1 vcl/source/control/FormattedField.cxx | 1 vcl/source/control/longcurr.cxx | 1 vcl/source/weld/SpinButton.cxx | 133 ++++++++++ vcl/source/window/builder.cxx | 28 -- vcl/unx/gtk3/gtkinst.cxx | 1 122 files changed, 366 insertions(+), 187 deletions(-)
New commits: commit 184bc7f88a9626101fd8f198fc0f63fc25c55061 Author: Michael Weghorn <[email protected]> AuthorDate: Sat Jan 3 11:52:17 2026 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sun Jan 4 15:03:17 2026 +0100 weld: Move static SpinButton methods to SpinButton.cxx Now that Change-Id: I6555d2343ec9b01d7915cd52508c0db4c8704509 Author: Michael Weghorn <[email protected]> Date: Sat Jan 3 11:48:36 2026 +0100 weld: Move weld::SpinButton to own header/source introduced a source file for weld::SpinButton method implementations, move these 2 static methods there, too. Change-Id: Ib37bc7af03df32e4566a7c3ab3c4c3d0db15806b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196446 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/vcl/source/weld/SpinButton.cxx b/vcl/source/weld/SpinButton.cxx index aa54dec05250..0dc29c6bea3b 100644 --- a/vcl/source/weld/SpinButton.cxx +++ b/vcl/source/weld/SpinButton.cxx @@ -103,6 +103,31 @@ void SpinButton::get_increments(sal_Int64& step, sal_Int64& page) const step = convert_double_to_value(fStep); page = convert_double_to_value(fPage); } + +unsigned int SpinButton::Power10(unsigned int n) +{ + unsigned int nValue = 1; + for (unsigned int i = 0; i < n; ++i) + nValue *= 10; + return nValue; +} + +sal_Int64 SpinButton::denormalize(sal_Int64 nValue) const +{ + const int nFactor = Power10(get_digits()); + + if ((nValue < (std::numeric_limits<sal_Int64>::min() + nFactor)) + || (nValue > (std::numeric_limits<sal_Int64>::max() - nFactor))) + { + return nValue / nFactor; + } + + const int nHalf = nFactor / 2; + + if (nValue < 0) + return (nValue - nHalf) / nFactor; + return (nValue + nHalf) / nFactor; +} } /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index c87788b846a8..1812d57e3e7b 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -277,34 +277,6 @@ weld::Window* Application::GetFrameWeld(const css::uno::Reference<css::awt::XWin return ImplGetSVData()->mpDefInst->GetFrameWeld(rWindow); } -namespace weld -{ - unsigned int SpinButton::Power10(unsigned int n) - { - unsigned int nValue = 1; - for (unsigned int i = 0; i < n; ++i) - nValue *= 10; - return nValue; - } - - sal_Int64 SpinButton::denormalize(sal_Int64 nValue) const - { - const int nFactor = Power10(get_digits()); - - if ((nValue < (std::numeric_limits<sal_Int64>::min() + nFactor)) || - (nValue > (std::numeric_limits<sal_Int64>::max() - nFactor))) - { - return nValue / nFactor; - } - - const int nHalf = nFactor / 2; - - if (nValue < 0) - return (nValue - nHalf) / nFactor; - return (nValue + nHalf) / nFactor; - } -} - // static void BuilderBase::reportException(const css::uno::Exception& rExcept) { commit 01e513fccf0c34cc7cf995930875b5d942beeb2c Author: Michael Weghorn <[email protected]> AuthorDate: Sat Jan 3 11:48:36 2026 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sun Jan 4 15:03:06 2026 +0100 weld: Move weld::SpinButton to own header/source Move the class out of weld.hxx into its own header and source file, in order to make it easier to keep an overview and to avoid having to recompile ~all UI code when the class is modified. Change-Id: I6555d2343ec9b01d7915cd52508c0db4c8704509 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196445 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/basctl/source/basicide/brkdlg.hxx b/basctl/source/basicide/brkdlg.hxx index 57aa5e78abf2..1e5f4dcae9c8 100644 --- a/basctl/source/basicide/brkdlg.hxx +++ b/basctl/source/basicide/brkdlg.hxx @@ -21,6 +21,7 @@ #include <vcl/weld/DialogController.hxx> #include <vcl/weld/EntryTreeView.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> #include "breakpoint.hxx" diff --git a/basctl/source/basicide/moduldlg.hxx b/basctl/source/basicide/moduldlg.hxx index ef7c91538a93..2bc4dd08c293 100644 --- a/basctl/source/basicide/moduldlg.hxx +++ b/basctl/source/basicide/moduldlg.hxx @@ -27,6 +27,7 @@ #include <vcl/weld/Builder.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> #include <com/sun/star/task/XInteractionHandler.hpp> diff --git a/chart2/source/controller/dialogs/res_Trendline.hxx b/chart2/source/controller/dialogs/res_Trendline.hxx index e520d6da3bc8..1800cb05cad2 100644 --- a/chart2/source/controller/dialogs/res_Trendline.hxx +++ b/chart2/source/controller/dialogs/res_Trendline.hxx @@ -21,6 +21,7 @@ #include <tools/link.hxx> #include <svl/itemset.hxx> #include <svx/chrtitem.hxx> +#include <vcl/weld/SpinButton.hxx> namespace weld { class Builder; } namespace weld { class CheckButton; } diff --git a/chart2/source/controller/dialogs/tp_Scale.hxx b/chart2/source/controller/dialogs/tp_Scale.hxx index 3f6336bbe950..7f4c05ebf50a 100644 --- a/chart2/source/controller/dialogs/tp_Scale.hxx +++ b/chart2/source/controller/dialogs/tp_Scale.hxx @@ -21,6 +21,7 @@ #include <sfx2/tabdlg.hxx> #include <unotools/resmgr.hxx> #include <vcl/weld/ComboBox.hxx> +#include <vcl/weld/SpinButton.hxx> class SvNumberFormatter; diff --git a/chart2/source/controller/sidebar/ChartErrorBarPanel.hxx b/chart2/source/controller/sidebar/ChartErrorBarPanel.hxx index 162898e66d3b..d93eceee6170 100644 --- a/chart2/source/controller/sidebar/ChartErrorBarPanel.hxx +++ b/chart2/source/controller/sidebar/ChartErrorBarPanel.hxx @@ -15,6 +15,7 @@ #include <sfx2/sidebar/SidebarModelUpdate.hxx> #include <sfx2/sidebar/PanelLayout.hxx> #include <vcl/weld/ComboBox.hxx> +#include <vcl/weld/SpinButton.hxx> #include "ChartSidebarModifyListener.hxx" namespace com::sun::star::util { class XModifyListener; } diff --git a/chart2/source/inc/ChartResourceGroupDlgs.hxx b/chart2/source/inc/ChartResourceGroupDlgs.hxx index 79b9c651086f..0335e5f51179 100644 --- a/chart2/source/inc/ChartResourceGroupDlgs.hxx +++ b/chart2/source/inc/ChartResourceGroupDlgs.hxx @@ -21,6 +21,7 @@ #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> namespace chart diff --git a/chart2/source/inc/ChartTypeDialogController.hxx b/chart2/source/inc/ChartTypeDialogController.hxx index 4847b5c91607..33e4bcdfe8ad 100644 --- a/chart2/source/inc/ChartTypeDialogController.hxx +++ b/chart2/source/inc/ChartTypeDialogController.hxx @@ -28,6 +28,7 @@ #include <com/sun/star/chart2/CurveStyle.hpp> #include <vcl/weld/Builder.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> namespace com::sun::star::beans diff --git a/cui/inc/dlgname.hxx b/cui/inc/dlgname.hxx index 6e012352fd2f..7855b02164e3 100644 --- a/cui/inc/dlgname.hxx +++ b/cui/inc/dlgname.hxx @@ -20,6 +20,7 @@ #include <vcl/formatter.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TextView.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> diff --git a/cui/source/inc/QrCodeGenDialog.hxx b/cui/source/inc/QrCodeGenDialog.hxx index c8abde8f4c88..2544b6dbfac2 100644 --- a/cui/source/inc/QrCodeGenDialog.hxx +++ b/cui/source/inc/QrCodeGenDialog.hxx @@ -12,6 +12,7 @@ #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TextView.hxx> #include <vcl/weld/weld.hxx> diff --git a/cui/source/inc/TextColumnsPage.hxx b/cui/source/inc/TextColumnsPage.hxx index c61fcd03c548..637acfc56cee 100644 --- a/cui/source/inc/TextColumnsPage.hxx +++ b/cui/source/inc/TextColumnsPage.hxx @@ -13,6 +13,7 @@ #include <sfx2/tabdlg.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <memory> diff --git a/cui/source/inc/autocdlg.hxx b/cui/source/inc/autocdlg.hxx index 2677b8535ebe..c14e01539d49 100644 --- a/cui/source/inc/autocdlg.hxx +++ b/cui/source/inc/autocdlg.hxx @@ -21,6 +21,7 @@ #include <sfx2/tabdlg.hxx> #include <svx/langbox.hxx> #include <unotools/collatorwrapper.hxx> +#include <vcl/weld/SpinButton.hxx> #include <map> #include <set> diff --git a/cui/source/inc/cuigrfflt.hxx b/cui/source/inc/cuigrfflt.hxx index acc35a232d05..5fe64ed7d7da 100644 --- a/cui/source/inc/cuigrfflt.hxx +++ b/cui/source/inc/cuigrfflt.hxx @@ -24,6 +24,7 @@ #include <svx/rectenum.hxx> #include <vcl/weld/DialogController.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> class CuiGraphicPreviewWindow : public weld::CustomWidgetController { diff --git a/cui/source/inc/cuitabarea.hxx b/cui/source/inc/cuitabarea.hxx index 89eda44b4cb4..c9b246e4a86c 100644 --- a/cui/source/inc/cuitabarea.hxx +++ b/cui/source/inc/cuitabarea.hxx @@ -29,6 +29,7 @@ #include <vcl/hexcolorcontrol.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> class ColorListBox; class SdrModel; diff --git a/cui/source/inc/cuitabline.hxx b/cui/source/inc/cuitabline.hxx index 29fe07765cd3..521e9c456f9f 100644 --- a/cui/source/inc/cuitabline.hxx +++ b/cui/source/inc/cuitabline.hxx @@ -28,6 +28,7 @@ #include <svx/xlnasit.hxx> #include <svx/xtable.hxx> #include <svx/dlgctrl.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/customweld.hxx> enum class PageType; diff --git a/cui/source/inc/cuitbxform.hxx b/cui/source/inc/cuitbxform.hxx index 8f3589c55215..11ec5d78a3b1 100644 --- a/cui/source/inc/cuitbxform.hxx +++ b/cui/source/inc/cuitbxform.hxx @@ -19,6 +19,7 @@ #pragma once #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> class FmInputRecordNoDialog : public weld::GenericDialogController diff --git a/cui/source/inc/insdlg.hxx b/cui/source/inc/insdlg.hxx index 25b077013457..1be2fda2c930 100644 --- a/cui/source/inc/insdlg.hxx +++ b/cui/source/inc/insdlg.hxx @@ -24,6 +24,7 @@ #include <svtools/insdlg.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> #include <comphelper/embeddedobjectcontainer.hxx> diff --git a/cui/source/inc/insrc.hxx b/cui/source/inc/insrc.hxx index ef8218635670..f42458a493e7 100644 --- a/cui/source/inc/insrc.hxx +++ b/cui/source/inc/insrc.hxx @@ -21,6 +21,7 @@ #include <sal/config.h> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> class SvxInsRowColDlg : public weld::GenericDialogController diff --git a/cui/source/inc/measure.hxx b/cui/source/inc/measure.hxx index 723d9fee0e1d..5a84ee78c4cf 100644 --- a/cui/source/inc/measure.hxx +++ b/cui/source/inc/measure.hxx @@ -22,6 +22,7 @@ #include <svx/dlgctrl.hxx> #include <svx/measctrl.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> class SdrView; diff --git a/cui/source/inc/newtabledlg.hxx b/cui/source/inc/newtabledlg.hxx index 16492f7d7749..1aceebd6d670 100644 --- a/cui/source/inc/newtabledlg.hxx +++ b/cui/source/inc/newtabledlg.hxx @@ -20,6 +20,7 @@ #include <svx/svxdlg.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> class SvxNewTableDialog : public weld::GenericDialogController diff --git a/cui/source/inc/numfmt.hxx b/cui/source/inc/numfmt.hxx index 26c6f264e84c..a2a2591034d8 100644 --- a/cui/source/inc/numfmt.hxx +++ b/cui/source/inc/numfmt.hxx @@ -23,6 +23,7 @@ #include <sfx2/tabdlg.hxx> #include <svx/langbox.hxx> #include <tools/color.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/customweld.hxx> #include <vcl/weld/weld.hxx> diff --git a/cui/source/inc/numpages.hxx b/cui/source/inc/numpages.hxx index ffe6292e9747..522924b02b26 100644 --- a/cui/source/inc/numpages.hxx +++ b/cui/source/inc/numpages.hxx @@ -27,6 +27,7 @@ #include <svtools/ctrlbox.hxx> #include <svx/numberingpreview.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/customweld.hxx> #include <vcl/timer.hxx> diff --git a/cui/source/inc/paragrph.hxx b/cui/source/inc/paragrph.hxx index 9d634d879ca2..685492aa8e61 100644 --- a/cui/source/inc/paragrph.hxx +++ b/cui/source/inc/paragrph.hxx @@ -23,6 +23,7 @@ #include <svx/paraprev.hxx> #include <svx/frmdirlbox.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> class SvxLineSpacingItem; diff --git a/cui/source/inc/splitcelldlg.hxx b/cui/source/inc/splitcelldlg.hxx index 2c4486686eeb..fff6be718f46 100644 --- a/cui/source/inc/splitcelldlg.hxx +++ b/cui/source/inc/splitcelldlg.hxx @@ -21,6 +21,7 @@ #include <sal/config.h> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> class SvxSplitTableDlg : public weld::GenericDialogController diff --git a/cui/source/inc/srchxtra.hxx b/cui/source/inc/srchxtra.hxx index e33ef32c387a..7dd82743de44 100644 --- a/cui/source/inc/srchxtra.hxx +++ b/cui/source/inc/srchxtra.hxx @@ -22,6 +22,7 @@ #include <svtools/ctrltool.hxx> #include <svx/srchdlg.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> diff --git a/cui/source/inc/zoom.hxx b/cui/source/inc/zoom.hxx index 4d4d6053e679..89f38eebbae7 100644 --- a/cui/source/inc/zoom.hxx +++ b/cui/source/inc/zoom.hxx @@ -23,6 +23,7 @@ #include <svl/itemset.hxx> #include <svx/zoom_def.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> class SvxZoomDialog : public SfxDialogController diff --git a/cui/source/options/connpooloptions.hxx b/cui/source/options/connpooloptions.hxx index 4d5867e8656c..dc8c4849b46e 100644 --- a/cui/source/options/connpooloptions.hxx +++ b/cui/source/options/connpooloptions.hxx @@ -20,6 +20,7 @@ #pragma once #include <sfx2/tabdlg.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <com/sun/star/configuration/XReadWriteAccess.hpp> diff --git a/cui/source/options/optgdlg.hxx b/cui/source/options/optgdlg.hxx index c6fbc2529dda..e95d6bbd7dfc 100644 --- a/cui/source/options/optgdlg.hxx +++ b/cui/source/options/optgdlg.hxx @@ -22,6 +22,7 @@ #include <sfx2/tabdlg.hxx> #include <svx/langbox.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> class CanvasSettings; diff --git a/cui/source/options/opthtml.hxx b/cui/source/options/opthtml.hxx index 496b567a0b91..8470f4da1ec9 100644 --- a/cui/source/options/opthtml.hxx +++ b/cui/source/options/opthtml.hxx @@ -19,6 +19,7 @@ #pragma once #include <sfx2/tabdlg.hxx> +#include <vcl/weld/SpinButton.hxx> class OfaHtmlTabPage : public SfxTabPage { diff --git a/cui/source/options/optlingu.cxx b/cui/source/options/optlingu.cxx index e8a61875365a..4c9a3ed6faa9 100644 --- a/cui/source/options/optlingu.cxx +++ b/cui/source/options/optlingu.cxx @@ -19,6 +19,7 @@ #include <utility> #include <vcl/settings.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <i18nlangtag/languagetag.hxx> #include <i18nlangtag/mslangid.hxx> diff --git a/cui/source/options/optsave.hxx b/cui/source/options/optsave.hxx index a195e11c82ad..b94b2315dd11 100644 --- a/cui/source/options/optsave.hxx +++ b/cui/source/options/optsave.hxx @@ -21,6 +21,7 @@ #include <memory> #include <sfx2/tabdlg.hxx> #include <vcl/weld/ComboBox.hxx> +#include <vcl/weld/SpinButton.hxx> enum AppType { diff --git a/dbaccess/source/ui/dlg/admincontrols.hxx b/dbaccess/source/ui/dlg/admincontrols.hxx index 6c022d6b2582..7f480d7d24df 100644 --- a/dbaccess/source/ui/dlg/admincontrols.hxx +++ b/dbaccess/source/ui/dlg/admincontrols.hxx @@ -22,6 +22,7 @@ #include "adminpages.hxx" #include <vcl/weld/Builder.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> namespace dbaui diff --git a/dbaccess/source/ui/dlg/adminpages.hxx b/dbaccess/source/ui/dlg/adminpages.hxx index b3bb07274d59..c791a6be0789 100644 --- a/dbaccess/source/ui/dlg/adminpages.hxx +++ b/dbaccess/source/ui/dlg/adminpages.hxx @@ -21,6 +21,7 @@ #include <osl/diagnose.h> #include <sfx2/tabdlg.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/wizardmachine.hxx> #include <curledit.hxx> diff --git a/dbaccess/source/ui/dlg/advancedsettings.hxx b/dbaccess/source/ui/dlg/advancedsettings.hxx index 1a4313024d71..93c9044319e6 100644 --- a/dbaccess/source/ui/dlg/advancedsettings.hxx +++ b/dbaccess/source/ui/dlg/advancedsettings.hxx @@ -23,6 +23,7 @@ #include <dsmeta.hxx> #include <vcl/weld/ComboBox.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vector> diff --git a/dbaccess/source/ui/inc/FieldControls.hxx b/dbaccess/source/ui/inc/FieldControls.hxx index e3137189c3cf..0b0793d3afb3 100644 --- a/dbaccess/source/ui/inc/FieldControls.hxx +++ b/dbaccess/source/ui/inc/FieldControls.hxx @@ -20,6 +20,7 @@ #include "SqlNameEdit.hxx" #include <unotools/resmgr.hxx> +#include <vcl/weld/SpinButton.hxx> namespace dbaui { diff --git a/dbaccess/source/ui/inc/WTypeSelect.hxx b/dbaccess/source/ui/inc/WTypeSelect.hxx index e5d1c4e70741..e503ddf46428 100644 --- a/dbaccess/source/ui/inc/WTypeSelect.hxx +++ b/dbaccess/source/ui/inc/WTypeSelect.hxx @@ -22,6 +22,7 @@ #include "TypeInfo.hxx" #include "WTabPage.hxx" +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> class SvStream; diff --git a/extensions/source/bibliography/general.hxx b/extensions/source/bibliography/general.hxx index 2d202125cc93..d8017eee9072 100644 --- a/extensions/source/bibliography/general.hxx +++ b/extensions/source/bibliography/general.hxx @@ -23,6 +23,7 @@ #include <vcl/InterimItemWindow.hxx> #include <vcl/weld/ScrolledWindow.hxx> +#include <vcl/weld/SpinButton.hxx> #include "bibshortcuthandler.hxx" diff --git a/extensions/source/scanner/sanedlg.hxx b/extensions/source/scanner/sanedlg.hxx index 2d982ecc9692..b8c014365a4f 100644 --- a/extensions/source/scanner/sanedlg.hxx +++ b/extensions/source/scanner/sanedlg.hxx @@ -21,6 +21,7 @@ #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/customweld.hxx> #include <vcl/weld/weld.hxx> diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx index b137f0cdd1f6..17df7753fdbf 100644 --- a/filter/source/pdf/impdialog.hxx +++ b/filter/source/pdf/impdialog.hxx @@ -27,6 +27,7 @@ #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> diff --git a/include/sfx2/dinfdlg.hxx b/include/sfx2/dinfdlg.hxx index 6f0b9ef67590..4e9dd6ff5f8c 100644 --- a/include/sfx2/dinfdlg.hxx +++ b/include/sfx2/dinfdlg.hxx @@ -35,6 +35,7 @@ #include <vcl/idle.hxx> #include <vcl/weld/Builder.hxx> #include <vcl/weld/ScrolledWindow.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TextView.hxx> #include <vcl/weld/weldutils.hxx> diff --git a/include/sfx2/printopt.hxx b/include/sfx2/printopt.hxx index a06e0877e9ae..9e6e83e0098c 100644 --- a/include/sfx2/printopt.hxx +++ b/include/sfx2/printopt.hxx @@ -25,6 +25,7 @@ #include <sal/types.h> #include <vcl/printer/Options.hxx> #include <vcl/weld/ComboBox.hxx> +#include <vcl/weld/SpinButton.hxx> class SFX2_DLLPUBLIC SfxCommonPrintOptionsTabPage final : public SfxTabPage { diff --git a/include/svtools/PlaceEditDialog.hxx b/include/svtools/PlaceEditDialog.hxx index 9c20852c89dc..90f29cef95ee 100644 --- a/include/svtools/PlaceEditDialog.hxx +++ b/include/svtools/PlaceEditDialog.hxx @@ -13,6 +13,7 @@ #include <svtools/svtdllapi.h> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <memory> diff --git a/include/svx/compressgraphicdialog.hxx b/include/svx/compressgraphicdialog.hxx index 0f6f242dad6d..e2855c92e278 100644 --- a/include/svx/compressgraphicdialog.hxx +++ b/include/svx/compressgraphicdialog.hxx @@ -25,6 +25,7 @@ #include <tools/link.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <vcl/graph.hxx> diff --git a/include/svx/dialog/gotodlg.hxx b/include/svx/dialog/gotodlg.hxx index c772aa60b0b2..7deba5c6c46d 100644 --- a/include/svx/dialog/gotodlg.hxx +++ b/include/svx/dialog/gotodlg.hxx @@ -21,6 +21,7 @@ #include <svx/svxdllapi.h> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> namespace svx diff --git a/include/svx/dlgctrl.hxx b/include/svx/dlgctrl.hxx index d2699bf8a1fb..ddc41490f86f 100644 --- a/include/svx/dlgctrl.hxx +++ b/include/svx/dlgctrl.hxx @@ -24,6 +24,7 @@ #include <svx/rectenum.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/customweld.hxx> #include <vcl/weld/weld.hxx> #include <vcl/virdev.hxx> diff --git a/include/svx/float3d.hxx b/include/svx/float3d.hxx index cd2099828e3f..6725f41327e1 100644 --- a/include/svx/float3d.hxx +++ b/include/svx/float3d.hxx @@ -26,6 +26,7 @@ #include <sfx2/dockwin.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <svl/eitem.hxx> #include <svx/e3ditem.hxx> diff --git a/include/svx/relfld.hxx b/include/svx/relfld.hxx index dc9611a479f4..389bce0cdb6e 100644 --- a/include/svx/relfld.hxx +++ b/include/svx/relfld.hxx @@ -22,6 +22,7 @@ #include <tools/fldunit.hxx> #include <svtools/unitconv.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <svx/svxdllapi.h> diff --git a/include/vcl/jsdialog/executor.hxx b/include/vcl/jsdialog/executor.hxx index 9496f5ae44eb..2fac4e41b8a5 100644 --- a/include/vcl/jsdialog/executor.hxx +++ b/include/vcl/jsdialog/executor.hxx @@ -14,6 +14,7 @@ #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/IconView.hxx> #include <vcl/weld/ScrolledWindow.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TextView.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> diff --git a/include/vcl/weld/MetricSpinButton.hxx b/include/vcl/weld/MetricSpinButton.hxx index 062b840ccb7c..f45976d43402 100644 --- a/include/vcl/weld/MetricSpinButton.hxx +++ b/include/vcl/weld/MetricSpinButton.hxx @@ -11,7 +11,7 @@ #include <vcl/dllapi.h> #include <tools/fldunit.hxx> -#include <vcl/weld/weld.hxx> +#include <vcl/weld/SpinButton.hxx> namespace weld { diff --git a/include/vcl/weld/SpinButton.hxx b/include/vcl/weld/SpinButton.hxx new file mode 100644 index 000000000000..af9199fd1cd0 --- /dev/null +++ b/include/vcl/weld/SpinButton.hxx @@ -0,0 +1,106 @@ +/* -*- 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 <vcl/dllapi.h> +#include <vcl/weld/weld.hxx> + +namespace weld +{ +class VCL_DLLPUBLIC SpinButton : virtual public Entry +{ + friend class ::LOKTrigger; + + Link<SpinButton&, void> m_aValueChangedHdl; + Link<sal_Int64, OUString> m_aFormatValueHdl; + Link<const OUString&, std::optional<int>> m_aParseTextHdl; + + // helper methods to convert between sal_Int64 value and + // floating point number it represents (depending on get_digits()) + double convert_value_to_double(sal_Int64 nValue) const; + sal_Int64 convert_double_to_value(double fDouble) const; + +protected: + void signal_value_changed() + { + if (notify_events_disabled()) + return; + m_aValueChangedHdl.Call(*this); + } + + /** If a custom value formatter was set via <a>set_value_formatter</a>, + * that one gets called to create a text representation of the value + * and that one gets returned. + * Otherwise, an empty std::optional is returned. + */ + std::optional<OUString> format_floating_point_value(double fValue); + + /** If a custom text parser (which parses a value from the given text) + * is set and the text can be parsed, this method sets that value + * in <a>result</a> and returns <a>TRISTATE_TRUE</a>. + * Returns <a>TRISTATE_FALSE</a> if a custom handler is set, but the text + * cannot be parsed. + * Returns <a>TRISTATE_INDET</a> if no custom input handler is set. + */ + TriState parse_text(const OUString& rText, double* pResult); + + // methods to implement in subclasses which use floating point values directly; + // public methods using sal_Int64 values whose floating point value depends on get_digits() + // take care of conversion + virtual void set_floating_point_value(double fValue) = 0; + virtual double get_floating_point_value() const = 0; + virtual void set_floating_point_range(double fMin, double fMax) = 0; + virtual void get_floating_point_range(double& rMin, double& rMax) const = 0; + virtual void set_floating_point_increments(double fStep, double fPage) = 0; + virtual void get_floating_point_increments(double& rStep, double& rPage) const = 0; + +public: + void set_value(sal_Int64 value); + sal_Int64 get_value() const { return convert_double_to_value(get_floating_point_value()); } + + void set_range(sal_Int64 min, sal_Int64 max); + void get_range(sal_Int64& min, sal_Int64& max) const; + + void set_min(sal_Int64 min); + void set_max(sal_Int64 max); + sal_Int64 get_min() const; + sal_Int64 get_max() const; + + void set_increments(sal_Int64 step, sal_Int64 page); + void get_increments(sal_Int64& step, sal_Int64& page) const; + + virtual void set_digits(unsigned int digits) = 0; + virtual unsigned int get_digits() const = 0; + + void connect_value_changed(const Link<SpinButton&, void>& rLink) { m_aValueChangedHdl = rLink; } + + /** Set a value formatter that receives the value as a parameter and returns the + * text representation to display in the SpinButton. + */ + void set_value_formatter(const Link<sal_Int64, OUString>& rLink) { m_aFormatValueHdl = rLink; } + + /** Set a parser that receives the text as a parameter and returns the value + * parsed from the text, or an empty std::optional if a value cannot be + * parsed from the text. + */ + void set_text_parser(const Link<const OUString&, std::optional<int>>& rLink) + { + m_aParseTextHdl = rLink; + } + + sal_Int64 normalize(sal_Int64 nValue) const { return (nValue * Power10(get_digits())); } + + sal_Int64 denormalize(sal_Int64 nValue) const; + + static unsigned int Power10(unsigned int n); +}; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/include/vcl/weld/weld.hxx b/include/vcl/weld/weld.hxx index 3cdeacedd07a..1500b1503bb3 100644 --- a/include/vcl/weld/weld.hxx +++ b/include/vcl/weld/weld.hxx @@ -1015,164 +1015,6 @@ public: bool get_value_changed_from_saved() const { return m_sSavedValue != get_text(); } }; -class VCL_DLLPUBLIC SpinButton : virtual public Entry -{ - friend class ::LOKTrigger; - - Link<SpinButton&, void> m_aValueChangedHdl; - Link<sal_Int64, OUString> m_aFormatValueHdl; - Link<const OUString&, std::optional<int>> m_aParseTextHdl; - - // helper methods to convert between sal_Int64 value and - // floating point number it represents (depending on get_digits()) - double convert_value_to_double(sal_Int64 nValue) const - { - return static_cast<double>(nValue) / Power10(get_digits()); - } - sal_Int64 convert_double_to_value(double fDouble) const - { - return basegfx::fround64(fDouble * Power10(get_digits())); - } - -protected: - void signal_value_changed() - { - if (notify_events_disabled()) - return; - m_aValueChangedHdl.Call(*this); - } - - /** If a custom value formatter was set via <a>set_value_formatter</a>, - * that one gets called to create a text representation of the value - * and that one gets returned. - * Otherwise, an empty std::optional is returned. - */ - std::optional<OUString> format_floating_point_value(double fValue) - { - if (!m_aFormatValueHdl.IsSet()) - return {}; - const OUString sText = m_aFormatValueHdl.Call(convert_double_to_value(fValue)); - return sText; - } - - /** If a custom text parser (which parses a value from the given text) - * is set and the text can be parsed, this method sets that value - * in <a>result</a> and returns <a>TRISTATE_TRUE</a>. - * Returns <a>TRISTATE_FALSE</a> if a custom handler is set, but the text - * cannot be parsed. - * Returns <a>TRISTATE_INDET</a> if no custom input handler is set. - */ - TriState parse_text(const OUString& rText, double* pResult) - { - if (!m_aParseTextHdl.IsSet()) - return TRISTATE_INDET; - std::optional<int> aValue = m_aParseTextHdl.Call(rText); - if (!aValue.has_value()) - return TRISTATE_FALSE; - - *pResult = convert_value_to_double(aValue.value()); - return TRISTATE_TRUE; - } - - // methods to implement in subclasses which use floating point values directly; - // public methods using sal_Int64 values whose floating point value depends on get_digits() - // take care of conversion - virtual void set_floating_point_value(double fValue) = 0; - virtual double get_floating_point_value() const = 0; - virtual void set_floating_point_range(double fMin, double fMax) = 0; - virtual void get_floating_point_range(double& rMin, double& rMax) const = 0; - virtual void set_floating_point_increments(double fStep, double fPage) = 0; - virtual void get_floating_point_increments(double& rStep, double& rPage) const = 0; - -public: - void set_value(sal_Int64 value) - { - disable_notify_events(); - set_floating_point_value(convert_value_to_double(value)); - enable_notify_events(); - } - - sal_Int64 get_value() const { return convert_double_to_value(get_floating_point_value()); } - - void set_range(sal_Int64 min, sal_Int64 max) - { - set_floating_point_range(convert_value_to_double(min), convert_value_to_double(max)); - } - - void get_range(sal_Int64& min, sal_Int64& max) const - { - double fMin = 0; - double fMax = 0; - get_floating_point_range(fMin, fMax); - min = convert_double_to_value(fMin); - max = convert_double_to_value(fMax); - } - - void set_min(sal_Int64 min) - { - sal_Int64 dummy, max; - get_range(dummy, max); - set_range(min, max); - } - void set_max(sal_Int64 max) - { - sal_Int64 min, dummy; - get_range(min, dummy); - set_range(min, max); - } - sal_Int64 get_min() const - { - sal_Int64 min, dummy; - get_range(min, dummy); - return min; - } - sal_Int64 get_max() const - { - sal_Int64 dummy, max; - get_range(dummy, max); - return max; - } - - void set_increments(sal_Int64 step, sal_Int64 page) - { - set_floating_point_increments(convert_value_to_double(step), convert_value_to_double(page)); - } - - void get_increments(sal_Int64& step, sal_Int64& page) const - { - double fStep = 0; - double fPage = 0; - get_floating_point_increments(fStep, fPage); - step = convert_double_to_value(fStep); - page = convert_double_to_value(fPage); - } - - virtual void set_digits(unsigned int digits) = 0; - virtual unsigned int get_digits() const = 0; - - void connect_value_changed(const Link<SpinButton&, void>& rLink) { m_aValueChangedHdl = rLink; } - - /** Set a value formatter that receives the value as a parameter and returns the - * text representation to display in the SpinButton. - */ - void set_value_formatter(const Link<sal_Int64, OUString>& rLink) { m_aFormatValueHdl = rLink; } - - /** Set a parser that receives the text as a parameter and returns the value - * parsed from the text, or an empty std::optional if a value cannot be - * parsed from the text. - */ - void set_text_parser(const Link<const OUString&, std::optional<int>>& rLink) - { - m_aParseTextHdl = rLink; - } - - sal_Int64 normalize(sal_Int64 nValue) const { return (nValue * Power10(get_digits())); } - - sal_Int64 denormalize(sal_Int64 nValue) const; - - static unsigned int Power10(unsigned int n); -}; - class EntryFormatter; // Similar to a SpinButton, but input and output formatting and range/value diff --git a/reportdesign/source/ui/inc/GroupsSorting.hxx b/reportdesign/source/ui/inc/GroupsSorting.hxx index 04ff4bbf993d..9c63f1340a56 100644 --- a/reportdesign/source/ui/inc/GroupsSorting.hxx +++ b/reportdesign/source/ui/inc/GroupsSorting.hxx @@ -26,6 +26,7 @@ #include <cppuhelper/basemutex.hxx> #include <rtl/ref.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <osl/diagnose.h> diff --git a/sc/source/ui/inc/AnalysisOfVarianceDialog.hxx b/sc/source/ui/inc/AnalysisOfVarianceDialog.hxx index 35c53e72778f..b3a132df4946 100644 --- a/sc/source/ui/inc/AnalysisOfVarianceDialog.hxx +++ b/sc/source/ui/inc/AnalysisOfVarianceDialog.hxx @@ -15,6 +15,8 @@ #include "StatisticsInputOutputDialog.hxx" +#include <vcl/weld/SpinButton.hxx> + class FormulaTemplate; class AddressWalkerWriter; diff --git a/sc/source/ui/inc/ExponentialSmoothingDialog.hxx b/sc/source/ui/inc/ExponentialSmoothingDialog.hxx index 54b877167805..8e3b118975f3 100644 --- a/sc/source/ui/inc/ExponentialSmoothingDialog.hxx +++ b/sc/source/ui/inc/ExponentialSmoothingDialog.hxx @@ -15,6 +15,8 @@ #include "StatisticsInputOutputDialog.hxx" +#include <vcl/weld/SpinButton.hxx> + class ScExponentialSmoothingDialog : public ScStatisticsInputOutputDialog { private: diff --git a/sc/source/ui/inc/FourierAnalysisDialog.hxx b/sc/source/ui/inc/FourierAnalysisDialog.hxx index f839b274e4d8..c54540bb3321 100644 --- a/sc/source/ui/inc/FourierAnalysisDialog.hxx +++ b/sc/source/ui/inc/FourierAnalysisDialog.hxx @@ -12,6 +12,8 @@ #include "StatisticsInputOutputDialog.hxx" +#include <vcl/weld/SpinButton.hxx> + class ScFourierAnalysisDialog : public ScStatisticsInputOutputDialog { ScAddress maLabelAddr; diff --git a/sc/source/ui/inc/MovingAverageDialog.hxx b/sc/source/ui/inc/MovingAverageDialog.hxx index 216b67c8b400..7d91a6d01a48 100644 --- a/sc/source/ui/inc/MovingAverageDialog.hxx +++ b/sc/source/ui/inc/MovingAverageDialog.hxx @@ -15,6 +15,8 @@ #include "StatisticsInputOutputDialog.hxx" +#include <vcl/weld/SpinButton.hxx> + class ScMovingAverageDialog : public ScStatisticsInputOutputDialog { private: diff --git a/sc/source/ui/inc/RandomNumberGeneratorDialog.hxx b/sc/source/ui/inc/RandomNumberGeneratorDialog.hxx index 770620bed3a8..a0c9da561ce0 100644 --- a/sc/source/ui/inc/RandomNumberGeneratorDialog.hxx +++ b/sc/source/ui/inc/RandomNumberGeneratorDialog.hxx @@ -12,6 +12,8 @@ #include <sal/config.h> +#include <vcl/weld/SpinButton.hxx> + #include <optional> #include <address.hxx> diff --git a/sc/source/ui/inc/RegressionDialog.hxx b/sc/source/ui/inc/RegressionDialog.hxx index f3783c36c91d..691ce0f5bc8c 100644 --- a/sc/source/ui/inc/RegressionDialog.hxx +++ b/sc/source/ui/inc/RegressionDialog.hxx @@ -13,6 +13,8 @@ #include "StatisticsTwoVariableDialog.hxx" #include "TableFillingAndNavigationTools.hxx" +#include <vcl/weld/SpinButton.hxx> + class ScRegressionDialog : public ScStatisticsTwoVariableDialog { bool mbUnivariate; diff --git a/sc/source/ui/inc/SamplingDialog.hxx b/sc/source/ui/inc/SamplingDialog.hxx index b9f8c3aa1f36..9bf693acf7ec 100644 --- a/sc/source/ui/inc/SamplingDialog.hxx +++ b/sc/source/ui/inc/SamplingDialog.hxx @@ -14,6 +14,8 @@ #include "anyrefdg.hxx" #include "viewdata.hxx" +#include <vcl/weld/SpinButton.hxx> + class ScSamplingDialog : public ScAnyRefDlgController { public: diff --git a/sc/source/ui/inc/SparklineDialog.hxx b/sc/source/ui/inc/SparklineDialog.hxx index f3f309c56832..c0fd5cb3c6bf 100644 --- a/sc/source/ui/inc/SparklineDialog.hxx +++ b/sc/source/ui/inc/SparklineDialog.hxx @@ -16,6 +16,8 @@ #include <SparklineGroup.hxx> #include <SparklineAttributes.hxx> +#include <vcl/weld/SpinButton.hxx> + class ColorListBox; namespace sc diff --git a/sc/source/ui/inc/dpgroupdlg.hxx b/sc/source/ui/inc/dpgroupdlg.hxx index d1b9b7bd0460..53b034ed7b2f 100644 --- a/sc/source/ui/inc/dpgroupdlg.hxx +++ b/sc/source/ui/inc/dpgroupdlg.hxx @@ -20,6 +20,7 @@ #pragma once #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> #include <dpnumgroupinfo.hxx> diff --git a/sc/source/ui/inc/inscldlg.hxx b/sc/source/ui/inc/inscldlg.hxx index 59169de90e16..3868af9e698c 100644 --- a/sc/source/ui/inc/inscldlg.hxx +++ b/sc/source/ui/inc/inscldlg.hxx @@ -20,6 +20,7 @@ #pragma once #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <global.hxx> diff --git a/sc/source/ui/inc/instbdlg.hxx b/sc/source/ui/inc/instbdlg.hxx index f6ae01a5d6ad..00bcc9ee9bfb 100644 --- a/sc/source/ui/inc/instbdlg.hxx +++ b/sc/source/ui/inc/instbdlg.hxx @@ -22,6 +22,7 @@ #include <sfx2/objsh.hxx> #include <vcl/timer.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> #include <types.hxx> diff --git a/sc/source/ui/inc/linkarea.hxx b/sc/source/ui/inc/linkarea.hxx index a5867bbc4440..ea3b78b43be0 100644 --- a/sc/source/ui/inc/linkarea.hxx +++ b/sc/source/ui/inc/linkarea.hxx @@ -21,6 +21,7 @@ #include <sfx2/objsh.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> diff --git a/sc/source/ui/inc/navipi.hxx b/sc/source/ui/inc/navipi.hxx index d2aa58405331..a290b0feab39 100644 --- a/sc/source/ui/inc/navipi.hxx +++ b/sc/source/ui/inc/navipi.hxx @@ -25,6 +25,7 @@ #include <sfx2/childwin.hxx> #include <sfx2/navigat.hxx> #include <sfx2/sidebar/PanelLayout.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TextView.hxx> #include <rangeutl.hxx> #include "content.hxx" diff --git a/sc/source/ui/inc/pvfundlg.hxx b/sc/source/ui/inc/pvfundlg.hxx index b5ea53510e67..2c676af059e8 100644 --- a/sc/source/ui/inc/pvfundlg.hxx +++ b/sc/source/ui/inc/pvfundlg.hxx @@ -24,6 +24,7 @@ #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> #include <pivot.hxx> diff --git a/sc/source/ui/inc/scuiasciiopt.hxx b/sc/source/ui/inc/scuiasciiopt.hxx index 0046e7339e78..6f3fca92a5f4 100644 --- a/sc/source/ui/inc/scuiasciiopt.hxx +++ b/sc/source/ui/inc/scuiasciiopt.hxx @@ -23,6 +23,7 @@ #include <tools/solar.h> #include <tools/stream.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include "asciiopt.hxx" diff --git a/sc/source/ui/inc/solveroptions.hxx b/sc/source/ui/inc/solveroptions.hxx index 56c46a93151d..c40f147a0e81 100644 --- a/sc/source/ui/inc/solveroptions.hxx +++ b/sc/source/ui/inc/solveroptions.hxx @@ -22,6 +22,7 @@ #include <utility> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> #include <com/sun/star/uno/Sequence.hxx> diff --git a/sc/source/ui/inc/tpcalc.hxx b/sc/source/ui/inc/tpcalc.hxx index aef06ccd5bfd..a0cca03e85d8 100644 --- a/sc/source/ui/inc/tpcalc.hxx +++ b/sc/source/ui/inc/tpcalc.hxx @@ -20,6 +20,7 @@ #pragma once #include <sfx2/tabdlg.hxx> +#include <vcl/weld/SpinButton.hxx> #include "editfield.hxx" #include <config_feature_opencl.h> #if HAVE_FEATURE_OPENCL diff --git a/sc/source/ui/inc/tpdefaults.hxx b/sc/source/ui/inc/tpdefaults.hxx index d3760948b6b3..30e6b9519d30 100644 --- a/sc/source/ui/inc/tpdefaults.hxx +++ b/sc/source/ui/inc/tpdefaults.hxx @@ -10,6 +10,7 @@ #pragma once #include <sfx2/tabdlg.hxx> +#include <vcl/weld/SpinButton.hxx> class ScTpDefaultsOptions : public SfxTabPage { diff --git a/sc/source/ui/inc/tptable.hxx b/sc/source/ui/inc/tptable.hxx index fe5cea284eee..79066c3474e5 100644 --- a/sc/source/ui/inc/tptable.hxx +++ b/sc/source/ui/inc/tptable.hxx @@ -21,6 +21,7 @@ #include <sfx2/tabdlg.hxx> #include <vcl/weld/ComboBox.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/MetricSpinButton.hxx> class ScTablePage : public SfxTabPage diff --git a/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx b/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx index f23adcd1b62c..44dee3339481 100644 --- a/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx +++ b/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx @@ -24,6 +24,7 @@ #include <sfx2/sidebar/PanelLayout.hxx> #include <vcl/EnumContext.hxx> #include <vcl/weld/ComboBox.hxx> +#include <vcl/weld/SpinButton.hxx> namespace sc::sidebar { diff --git a/sd/source/ui/dlg/paragr.cxx b/sd/source/ui/dlg/paragr.cxx index ccf4a34e5a4b..29c7b271048a 100644 --- a/sd/source/ui/dlg/paragr.cxx +++ b/sd/source/ui/dlg/paragr.cxx @@ -25,6 +25,7 @@ #include <svx/svxids.hrc> #include <svx/flagsdef.hxx> #include <svx/xcolit.hxx> +#include <vcl/weld/SpinButton.hxx> #include <paragr.hxx> #include <sdattr.hrc> diff --git a/sd/source/ui/inc/BulletAndPositionDlg.hxx b/sd/source/ui/inc/BulletAndPositionDlg.hxx index d2b50d621270..7598c05e458a 100644 --- a/sd/source/ui/inc/BulletAndPositionDlg.hxx +++ b/sd/source/ui/inc/BulletAndPositionDlg.hxx @@ -27,6 +27,7 @@ #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> #include "View.hxx" diff --git a/sd/source/ui/inc/animobjs.hxx b/sd/source/ui/inc/animobjs.hxx index ddf00cec57ec..83ca9744757f 100644 --- a/sd/source/ui/inc/animobjs.hxx +++ b/sd/source/ui/inc/animobjs.hxx @@ -26,6 +26,7 @@ #include <misc/scopelock.hxx> #include <vcl/bitmap.hxx> #include <vcl/weld/ComboBox.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/customweld.hxx> #include <vcl/weld/weld.hxx> #include <vcl/weld/weldutils.hxx> diff --git a/sd/source/ui/inc/copydlg.hxx b/sd/source/ui/inc/copydlg.hxx index 79ed5af43e44..5e5d9a2a3b7e 100644 --- a/sd/source/ui/inc/copydlg.hxx +++ b/sd/source/ui/inc/copydlg.hxx @@ -22,6 +22,7 @@ #include <sfx2/basedlgs.hxx> #include <tools/fract.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> class ColorListBox; diff --git a/sd/source/ui/inc/diactrl.hxx b/sd/source/ui/inc/diactrl.hxx index db6e2eed9b8d..03e0fb9bac9e 100644 --- a/sd/source/ui/inc/diactrl.hxx +++ b/sd/source/ui/inc/diactrl.hxx @@ -21,6 +21,7 @@ #include <vcl/InterimItemWindow.hxx> #include <sfx2/tbxctrl.hxx> +#include <vcl/weld/SpinButton.hxx> namespace com::sun::star::frame { diff --git a/sd/source/ui/inc/morphdlg.hxx b/sd/source/ui/inc/morphdlg.hxx index c8190d2ac675..2b7cde2b9baa 100644 --- a/sd/source/ui/inc/morphdlg.hxx +++ b/sd/source/ui/inc/morphdlg.hxx @@ -20,6 +20,7 @@ #pragma once #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> class SdrObject; diff --git a/sd/source/ui/inc/vectdlg.hxx b/sd/source/ui/inc/vectdlg.hxx index 0c3adf27af53..10a3b4b070c4 100644 --- a/sd/source/ui/inc/vectdlg.hxx +++ b/sd/source/ui/inc/vectdlg.hxx @@ -21,6 +21,7 @@ #include <vcl/weld/DialogController.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <svx/graphctl.hxx> diff --git a/sdext/source/minimizer/optimizerdialog.hxx b/sdext/source/minimizer/optimizerdialog.hxx index 212cb3b9f704..f32dc58f286c 100644 --- a/sdext/source/minimizer/optimizerdialog.hxx +++ b/sdext/source/minimizer/optimizerdialog.hxx @@ -28,6 +28,7 @@ #include <cppuhelper/implbase.hxx> #include <vcl/roadmapwizardmachine.hxx> #include <vcl/weld/ComboBox.hxx> +#include <vcl/weld/SpinButton.hxx> #define ITEM_ID_INTRODUCTION 0 #define ITEM_ID_SLIDES 1 diff --git a/svtools/source/filter/exportdialog.hxx b/svtools/source/filter/exportdialog.hxx index e31bb59794d3..bb92dae7f933 100644 --- a/svtools/source/filter/exportdialog.hxx +++ b/svtools/source/filter/exportdialog.hxx @@ -23,6 +23,7 @@ #include <FltCallDialogParameter.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <tools/stream.hxx> #include <com/sun/star/lang/XComponent.hpp> diff --git a/svx/source/sidebar/textcolumns/TextColumnsPropertyPanel.hxx b/svx/source/sidebar/textcolumns/TextColumnsPropertyPanel.hxx index d93db7b13ca9..4b49421706c8 100644 --- a/svx/source/sidebar/textcolumns/TextColumnsPropertyPanel.hxx +++ b/svx/source/sidebar/textcolumns/TextColumnsPropertyPanel.hxx @@ -12,6 +12,7 @@ #include <sfx2/sidebar/ControllerItem.hxx> #include <sfx2/sidebar/PanelLayout.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> namespace svx::sidebar { diff --git a/svx/source/tbxctrls/layctrl.cxx b/svx/source/tbxctrls/layctrl.cxx index f92b0e6af744..957ee18d3b93 100644 --- a/svx/source/tbxctrls/layctrl.cxx +++ b/svx/source/tbxctrls/layctrl.cxx @@ -22,6 +22,7 @@ #include <vcl/settings.hxx> #include <vcl/svapp.hxx> #include <vcl/toolbox.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/customweld.hxx> #include <svx/strings.hrc> diff --git a/sw/inc/colwd.hxx b/sw/inc/colwd.hxx index a23733e6751b..b0d320a3b308 100644 --- a/sw/inc/colwd.hxx +++ b/sw/inc/colwd.hxx @@ -20,6 +20,7 @@ #include <vcl/weld/DialogController.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <memory> diff --git a/sw/source/ui/dbui/createaddresslistdialog.hxx b/sw/source/ui/dbui/createaddresslistdialog.hxx index 57bb71738a2e..baf91e37c38e 100644 --- a/sw/source/ui/dbui/createaddresslistdialog.hxx +++ b/sw/source/ui/dbui/createaddresslistdialog.hxx @@ -22,6 +22,7 @@ #include <sfx2/basedlgs.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <vector> diff --git a/sw/source/ui/envelp/labfmt.hxx b/sw/source/ui/envelp/labfmt.hxx index da4daa4dd5c0..cec4213e2076 100644 --- a/sw/source/ui/envelp/labfmt.hxx +++ b/sw/source/ui/envelp/labfmt.hxx @@ -25,6 +25,7 @@ #include <vcl/idle.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/customweld.hxx> #include <vcl/weld/weld.hxx> diff --git a/sw/source/ui/envelp/labprt.hxx b/sw/source/ui/envelp/labprt.hxx index 17251081229b..f8843095bff9 100644 --- a/sw/source/ui/envelp/labprt.hxx +++ b/sw/source/ui/envelp/labprt.hxx @@ -19,6 +19,7 @@ #pragma once #include <sfx2/tabdlg.hxx> +#include <vcl/weld/SpinButton.hxx> #include <label.hxx> diff --git a/sw/source/ui/fldui/flddok.hxx b/sw/source/ui/fldui/flddok.hxx index 1a889aa45aef..2bb8df6314fc 100644 --- a/sw/source/ui/fldui/flddok.hxx +++ b/sw/source/ui/fldui/flddok.hxx @@ -20,6 +20,7 @@ #define INCLUDED_SW_SOURCE_UI_FLDUI_FLDDOK_HXX #include <sfx2/tabdlg.hxx> +#include <vcl/weld/SpinButton.hxx> #include <numfmtlb.hxx> #include "fldpage.hxx" diff --git a/sw/source/ui/inc/mmresultdialogs.hxx b/sw/source/ui/inc/mmresultdialogs.hxx index 55b54d5dd84d..cbc2ca10ca5e 100644 --- a/sw/source/ui/inc/mmresultdialogs.hxx +++ b/sw/source/ui/inc/mmresultdialogs.hxx @@ -21,6 +21,7 @@ #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> #include <vcl/print.hxx> diff --git a/sw/source/ui/inc/regionsw.hxx b/sw/source/ui/inc/regionsw.hxx index 58ec90040a76..70414fbed21d 100644 --- a/sw/source/ui/inc/regionsw.hxx +++ b/sw/source/ui/inc/regionsw.hxx @@ -30,6 +30,7 @@ #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/EntryTreeView.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <memory> diff --git a/sw/source/ui/misc/impfnote.hxx b/sw/source/ui/misc/impfnote.hxx index 56eefda7fe22..6bfa017e54ee 100644 --- a/sw/source/ui/misc/impfnote.hxx +++ b/sw/source/ui/misc/impfnote.hxx @@ -21,6 +21,7 @@ #include <sfx2/tabdlg.hxx> #include <vcl/weld/ComboBox.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <numberingtypelistbox.hxx> diff --git a/sw/source/uibase/inc/abstract.hxx b/sw/source/uibase/inc/abstract.hxx index ded62f0ff598..a0b63b8e263c 100644 --- a/sw/source/uibase/inc/abstract.hxx +++ b/sw/source/uibase/inc/abstract.hxx @@ -19,6 +19,7 @@ #pragma once #include <sfx2/basedlgs.hxx> +#include <vcl/weld/SpinButton.hxx> class SwInsertAbstractDlg final : public SfxDialogController { diff --git a/sw/source/uibase/inc/break.hxx b/sw/source/uibase/inc/break.hxx index 002a3828bb90..5ea94f763369 100644 --- a/sw/source/uibase/inc/break.hxx +++ b/sw/source/uibase/inc/break.hxx @@ -21,6 +21,7 @@ #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <optional> diff --git a/sw/source/uibase/inc/column.hxx b/sw/source/uibase/inc/column.hxx index 62e45a2902f7..b5a9c83770eb 100644 --- a/sw/source/uibase/inc/column.hxx +++ b/sw/source/uibase/inc/column.hxx @@ -26,6 +26,7 @@ #include <svx/frmdirlbox.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <map> #include "colex.hxx" #include "prcntfld.hxx" diff --git a/sw/source/uibase/inc/contentcontroldlg.hxx b/sw/source/uibase/inc/contentcontroldlg.hxx index 5fcc96ab9b4d..0a21d8ee4996 100644 --- a/sw/source/uibase/inc/contentcontroldlg.hxx +++ b/sw/source/uibase/inc/contentcontroldlg.hxx @@ -20,6 +20,7 @@ #include <sfx2/basedlgs.hxx> #include <vcl/abstdlg.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> diff --git a/sw/source/uibase/inc/convert.hxx b/sw/source/uibase/inc/convert.hxx index a0d757d092ed..42da4d7154ac 100644 --- a/sw/source/uibase/inc/convert.hxx +++ b/sw/source/uibase/inc/convert.hxx @@ -23,6 +23,7 @@ #include <sfx2/basedlgs.hxx> #include <sal/types.h> #include <rtl/ustring.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> diff --git a/sw/source/uibase/inc/drpcps.hxx b/sw/source/uibase/inc/drpcps.hxx index 1875faa0c96a..75be43b488c0 100644 --- a/sw/source/uibase/inc/drpcps.hxx +++ b/sw/source/uibase/inc/drpcps.hxx @@ -26,6 +26,7 @@ #include <vcl/print.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/customweld.hxx> /// Dedicated drop caps dialog, opened by the .uno:FormatDropcap UNO command, which is not in the diff --git a/sw/source/uibase/inc/instable.hxx b/sw/source/uibase/inc/instable.hxx index e8476e14d0cd..493e0d4a857f 100644 --- a/sw/source/uibase/inc/instable.hxx +++ b/sw/source/uibase/inc/instable.hxx @@ -24,6 +24,7 @@ #include <rtl/ustring.hxx> #include <tools/link.hxx> #include <vcl/textfilter.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include "wrtsh.hxx" diff --git a/sw/source/uibase/inc/linenum.hxx b/sw/source/uibase/inc/linenum.hxx index d50a34f46819..47c0c24bb00f 100644 --- a/sw/source/uibase/inc/linenum.hxx +++ b/sw/source/uibase/inc/linenum.hxx @@ -22,6 +22,7 @@ #include <sfx2/basedlgs.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include "numberingtypelistbox.hxx" class SwView; diff --git a/sw/source/uibase/inc/mailconfigpage.hxx b/sw/source/uibase/inc/mailconfigpage.hxx index a96874124310..d2260e5fa550 100644 --- a/sw/source/uibase/inc/mailconfigpage.hxx +++ b/sw/source/uibase/inc/mailconfigpage.hxx @@ -21,6 +21,7 @@ #include <sfx2/tabdlg.hxx> #include <sfx2/basedlgs.hxx> +#include <vcl/weld/SpinButton.hxx> class SwMailMergeConfigItem; diff --git a/sw/source/uibase/inc/mailmrge.hxx b/sw/source/uibase/inc/mailmrge.hxx index da39ac68de70..8e83a6e7739a 100644 --- a/sw/source/uibase/inc/mailmrge.hxx +++ b/sw/source/uibase/inc/mailmrge.hxx @@ -23,6 +23,7 @@ #include <sfx2/basedlgs.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <com/sun/star/uno/Sequence.h> #include <com/sun/star/uno/Reference.h> diff --git a/sw/source/uibase/inc/navipi.hxx b/sw/source/uibase/inc/navipi.hxx index 164676c0743b..69504b5d09d6 100644 --- a/sw/source/uibase/inc/navipi.hxx +++ b/sw/source/uibase/inc/navipi.hxx @@ -28,6 +28,7 @@ #include <sfx2/navigat.hxx> #include <sfx2/weldutils.hxx> #include <sfx2/sidebar/PanelLayout.hxx> +#include <vcl/weld/SpinButton.hxx> #include "conttree.hxx" #include <ndarr.hxx> #include <memory> diff --git a/sw/source/uibase/inc/numpara.hxx b/sw/source/uibase/inc/numpara.hxx index e529e4b1d13b..44890939e1b2 100644 --- a/sw/source/uibase/inc/numpara.hxx +++ b/sw/source/uibase/inc/numpara.hxx @@ -22,6 +22,7 @@ #include <sfx2/tabdlg.hxx> #include <svl/style.hxx> #include <vcl/weld/ComboBox.hxx> +#include <vcl/weld/SpinButton.hxx> // with this TabPage numbering settings at the paragraph / paragraph style // are performed. diff --git a/sw/source/uibase/inc/optload.hxx b/sw/source/uibase/inc/optload.hxx index 33967b565263..94b278e0fb76 100644 --- a/sw/source/uibase/inc/optload.hxx +++ b/sw/source/uibase/inc/optload.hxx @@ -27,6 +27,7 @@ #include <vcl/textfilter.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/customweld.hxx> #include <vcl/weld/weld.hxx> diff --git a/sw/source/uibase/inc/outline.hxx b/sw/source/uibase/inc/outline.hxx index 976046d523e4..0d3b32fbe444 100644 --- a/sw/source/uibase/inc/outline.hxx +++ b/sw/source/uibase/inc/outline.hxx @@ -21,6 +21,7 @@ #include <memory> #include <sfx2/tabdlg.hxx> +#include <vcl/weld/SpinButton.hxx> #include <swtypes.hxx> #include "numprevw.hxx" #include "numberingtypelistbox.hxx" diff --git a/sw/source/uibase/inc/pggrid.hxx b/sw/source/uibase/inc/pggrid.hxx index 989864a73c7d..d4cfff447932 100644 --- a/sw/source/uibase/inc/pggrid.hxx +++ b/sw/source/uibase/inc/pggrid.hxx @@ -21,6 +21,7 @@ #include <sfx2/tabdlg.hxx> #include "colex.hxx" #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/customweld.hxx> #include <vcl/weld/weld.hxx> #include <svx/colorbox.hxx> diff --git a/sw/source/uibase/inc/srtdlg.hxx b/sw/source/uibase/inc/srtdlg.hxx index b36f549b8655..cb22a612959d 100644 --- a/sw/source/uibase/inc/srtdlg.hxx +++ b/sw/source/uibase/inc/srtdlg.hxx @@ -23,6 +23,7 @@ #include <svx/langbox.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> class SwWrtShell; diff --git a/sw/source/uibase/inc/swuicnttab.hxx b/sw/source/uibase/inc/swuicnttab.hxx index 3907fbf6910c..09ced19d4249 100644 --- a/sw/source/uibase/inc/swuicnttab.hxx +++ b/sw/source/uibase/inc/swuicnttab.hxx @@ -26,6 +26,7 @@ #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/MetricSpinButton.hxx> #include <vcl/weld/ScrolledWindow.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/customweld.hxx> #include <vcl/weld/weld.hxx> diff --git a/sw/source/uibase/inc/swuiidxmrk.hxx b/sw/source/uibase/inc/swuiidxmrk.hxx index f3da413b1a4d..f8f94a74c6f7 100644 --- a/sw/source/uibase/inc/swuiidxmrk.hxx +++ b/sw/source/uibase/inc/swuiidxmrk.hxx @@ -25,6 +25,7 @@ #include <sfx2/childwin.hxx> #include <vcl/weld/Builder.hxx> #include <vcl/weld/ComboBox.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <toxe.hxx> #include <memory> diff --git a/sw/source/uibase/inc/titlepage.hxx b/sw/source/uibase/inc/titlepage.hxx index 2aabc71eacc7..3d89388709d5 100644 --- a/sw/source/uibase/inc/titlepage.hxx +++ b/sw/source/uibase/inc/titlepage.hxx @@ -12,6 +12,7 @@ #include <sfx2/basedlgs.hxx> #include <vcl/weld/ComboBox.hxx> +#include <vcl/weld/SpinButton.hxx> #include <fmtpdsc.hxx> diff --git a/sw/source/uibase/table/tablepg.hxx b/sw/source/uibase/table/tablepg.hxx index dc7bd5ac5197..1dff98654f0a 100644 --- a/sw/source/uibase/table/tablepg.hxx +++ b/sw/source/uibase/table/tablepg.hxx @@ -24,6 +24,7 @@ #include <svx/frmdirlbox.hxx> #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> class SwWrtShell; class SwTableRep; diff --git a/sw/source/uibase/uiview/pview.cxx b/sw/source/uibase/uiview/pview.cxx index 47e16f8669f5..4c88ecf19f83 100644 --- a/sw/source/uibase/uiview/pview.cxx +++ b/sw/source/uibase/uiview/pview.cxx @@ -28,6 +28,7 @@ #include <vcl/svapp.hxx> #include <vcl/syswin.hxx> #include <vcl/weld/DialogController.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weld.hxx> #include <svl/whiter.hxx> diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk index d5bf354e4f65..9f6d96320674 100644 --- a/vcl/Library_vcl.mk +++ b/vcl/Library_vcl.mk @@ -591,6 +591,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/weld/IconView \ vcl/source/weld/ItemView \ vcl/source/weld/MetricSpinButton \ + vcl/source/weld/SpinButton \ vcl/source/weld/TextView \ vcl/source/weld/TreeView \ vcl/source/weld/weldutils \ diff --git a/vcl/inc/colorpicker.hxx b/vcl/inc/colorpicker.hxx index 47c8531a5f72..0cfdbf63f1b3 100644 --- a/vcl/inc/colorpicker.hxx +++ b/vcl/inc/colorpicker.hxx @@ -24,6 +24,7 @@ #include <vcl/virdev.hxx> #include <vcl/weld/DialogController.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/customweld.hxx> #include <vcl/weld/weld.hxx> #include <o3tl/typed_flags_set.hxx> diff --git a/vcl/inc/printdlg.hxx b/vcl/inc/printdlg.hxx index ebb69af4e6db..88913cb3c5d8 100644 --- a/vcl/inc/printdlg.hxx +++ b/vcl/inc/printdlg.hxx @@ -27,6 +27,7 @@ #include <vcl/weld/DialogController.hxx> #include <vcl/weld/MetricSpinButton.hxx> #include <vcl/weld/ScrolledWindow.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/customweld.hxx> #include <vcl/weld/weld.hxx> #include <map> diff --git a/vcl/inc/qt5/QtInstanceBuilder.hxx b/vcl/inc/qt5/QtInstanceBuilder.hxx index 813fb04ce3f1..c9344a1af1f7 100644 --- a/vcl/inc/qt5/QtInstanceBuilder.hxx +++ b/vcl/inc/qt5/QtInstanceBuilder.hxx @@ -21,6 +21,7 @@ #include <vcl/weld/ComboBox.hxx> #include <vcl/weld/EntryTreeView.hxx> #include <vcl/weld/MetricSpinButton.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TextView.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> diff --git a/vcl/inc/qt5/QtInstanceSpinButton.hxx b/vcl/inc/qt5/QtInstanceSpinButton.hxx index b8fd0ffab5f7..8212d8e54c3a 100644 --- a/vcl/inc/qt5/QtInstanceSpinButton.hxx +++ b/vcl/inc/qt5/QtInstanceSpinButton.hxx @@ -12,6 +12,8 @@ #include "QtDoubleSpinBox.hxx" #include "QtInstanceEntry.hxx" +#include <vcl/weld/SpinButton.hxx> + #include <QtWidgets/QSpinBox> #include <optional> diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index 0c0d833d2c60..eb146a04d55d 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -16,6 +16,7 @@ #include <vcl/weld/EntryTreeView.hxx> #include <vcl/weld/MetricSpinButton.hxx> #include <vcl/weld/ScrolledWindow.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TextView.hxx> #include <vcl/weld/TreeView.hxx> #include <vcl/weld/weld.hxx> diff --git a/vcl/source/control/FormattedField.cxx b/vcl/source/control/FormattedField.cxx index 7576d7485943..1789926354dd 100644 --- a/vcl/source/control/FormattedField.cxx +++ b/vcl/source/control/FormattedField.cxx @@ -30,6 +30,7 @@ #include <vcl/commandevent.hxx> #include <vcl/toolkit/fmtfield.hxx> #include <vcl/uitest/formattedfielduiobject.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weldutils.hxx> #include "FieldFormatter.hxx" diff --git a/vcl/source/control/longcurr.cxx b/vcl/source/control/longcurr.cxx index 978ea42b39d0..4d9610458bae 100644 --- a/vcl/source/control/longcurr.cxx +++ b/vcl/source/control/longcurr.cxx @@ -28,6 +28,7 @@ #include <vcl/event.hxx> #include <vcl/svapp.hxx> #include <vcl/toolkit/longcurr.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/weldutils.hxx> #include <unotools/localedatawrapper.hxx> diff --git a/vcl/source/weld/SpinButton.cxx b/vcl/source/weld/SpinButton.cxx new file mode 100644 index 000000000000..aa54dec05250 --- /dev/null +++ b/vcl/source/weld/SpinButton.cxx @@ -0,0 +1,108 @@ +/* -*- 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 <vcl/weld/SpinButton.hxx> + +namespace weld +{ +double SpinButton::convert_value_to_double(sal_Int64 nValue) const +{ + return static_cast<double>(nValue) / Power10(get_digits()); +} + +sal_Int64 SpinButton::convert_double_to_value(double fDouble) const +{ + return basegfx::fround64(fDouble * Power10(get_digits())); +} + +std::optional<OUString> SpinButton::format_floating_point_value(double fValue) +{ + if (!m_aFormatValueHdl.IsSet()) + return {}; + const OUString sText = m_aFormatValueHdl.Call(convert_double_to_value(fValue)); + return sText; +} + +TriState SpinButton::parse_text(const OUString& rText, double* pResult) +{ + if (!m_aParseTextHdl.IsSet()) + return TRISTATE_INDET; + std::optional<int> aValue = m_aParseTextHdl.Call(rText); + if (!aValue.has_value()) + return TRISTATE_FALSE; + + *pResult = convert_value_to_double(aValue.value()); + return TRISTATE_TRUE; +} + +void SpinButton::set_value(sal_Int64 value) +{ + disable_notify_events(); + set_floating_point_value(convert_value_to_double(value)); + enable_notify_events(); +} + +void SpinButton::set_range(sal_Int64 min, sal_Int64 max) +{ + set_floating_point_range(convert_value_to_double(min), convert_value_to_double(max)); +} + +void SpinButton::get_range(sal_Int64& min, sal_Int64& max) const +{ + double fMin = 0; + double fMax = 0; + get_floating_point_range(fMin, fMax); + min = convert_double_to_value(fMin); + max = convert_double_to_value(fMax); +} + +void SpinButton::set_min(sal_Int64 min) +{ + sal_Int64 dummy, max; + get_range(dummy, max); + set_range(min, max); +} + +void SpinButton::set_max(sal_Int64 max) +{ + sal_Int64 min, dummy; + get_range(min, dummy); + set_range(min, max); +} + +sal_Int64 SpinButton::get_min() const +{ + sal_Int64 min, dummy; + get_range(min, dummy); + return min; +} + +sal_Int64 SpinButton::get_max() const +{ + sal_Int64 dummy, max; + get_range(dummy, max); + return max; +} + +void SpinButton::set_increments(sal_Int64 step, sal_Int64 page) +{ + set_floating_point_increments(convert_value_to_double(step), convert_value_to_double(page)); +} + +void SpinButton::get_increments(sal_Int64& step, sal_Int64& page) const +{ + double fStep = 0; + double fPage = 0; + get_floating_point_increments(fStep, fPage); + step = convert_double_to_value(fStep); + page = convert_double_to_value(fPage); +} +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index 47d90e0eb8c2..49c89bc24141 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -38,6 +38,7 @@ #include <vcl/toolkit/floatwin.hxx> #include <vcl/weld/MetricSpinButton.hxx> #include <vcl/weld/ScrolledWindow.hxx> +#include <vcl/weld/SpinButton.hxx> #include <vcl/weld/TextView.hxx> #include <unx/genpspgraphics.h> #include <rtl/strbuf.hxx>
