weld: Move weld::ScrolledWindow to own header

Move the class out of weld.hxx into its own header, 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: I2c8a9591a88ad26478243eb3f61214dc0efc51a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196341
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
This commit is contained in:
Michael Weghorn
2025-12-31 07:50:34 +01:00
parent 3e88d4bb51
commit e75604dcf7
44 changed files with 118 additions and 56 deletions
+1
View File
@@ -15,6 +15,7 @@
#include <vcl/weld/customweld.hxx>
#include <vcl/weld/Builder.hxx>
#include <vcl/weld/IconView.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
class MouseEvent;
+1
View File
@@ -14,6 +14,7 @@
#include <rtl/ref.hxx>
#include <vcl/weld/Builder.hxx>
#include <vcl/weld/DialogController.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
// Detect changes on the UI
+1
View File
@@ -13,6 +13,7 @@
#include <vcl/svapp.hxx>
#include <vcl/weld/Builder.hxx>
#include <vcl/weld/DialogController.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
#include <vcl/font/Feature.hxx>
#include <svx/fntctrl.hxx>
+1
View File
@@ -28,6 +28,7 @@
#include <svl/undo.hxx>
#include <svx/weldeditview.hxx>
#include <editeng/SpellPortions.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/TreeView.hxx>
#include <vcl/weld/customweld.hxx>
+1
View File
@@ -25,6 +25,7 @@
#include <svtools/colorcfg.hxx>
#include <svx/weldeditview.hxx>
#include <vcl/timer.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <mutex>
namespace com::sun::star::beans { class XMultiPropertySet; }
@@ -23,6 +23,7 @@
#include <tools/gen.hxx>
#include <vcl/event.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
namespace dp_gui
{
@@ -21,6 +21,7 @@
#include <rtl/ustring.hxx>
#include <vcl/image.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/customweld.hxx>
#include <vcl/weld/weld.hxx>
@@ -22,6 +22,7 @@
#include <sal/config.h>
#include <vcl/InterimItemWindow.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include "bibshortcuthandler.hxx"
@@ -25,6 +25,7 @@
#include <com/sun/star/inspection/XPropertyHandler.hpp>
#include <utility>
#include <vcl/weld/Builder.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
#include <rtl/ref.hxx>
+1
View File
@@ -19,6 +19,7 @@
#pragma once
#include <formula/funcutl.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
namespace formula
{
+1
View File
@@ -21,6 +21,7 @@
#include <formula/funcutl.hxx>
#include <vcl/weld/Builder.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
#include "ControlHelper.hxx"
#include <vector>
+1
View File
@@ -34,6 +34,7 @@
#include <vcl/idle.hxx>
#include <vcl/weld/Builder.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weldutils.hxx>
#include <sfx2/tabdlg.hxx>
+1
View File
@@ -20,6 +20,7 @@
#include <sfx2/sidebar/Panel.hxx>
#include <vcl/InterimItemWindow.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
namespace sfx2::sidebar
+1
View File
@@ -17,6 +17,7 @@
#include <vector>
#include <vcl/settings.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/customweld.hxx>
class Bitmap;
+1
View File
@@ -23,6 +23,7 @@
#include <memory>
#include <svtools/svtdllapi.h>
#include <vcl/weld/DialogController.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
namespace com :: sun :: star :: container { class XNameAccess; }
+1
View File
@@ -22,6 +22,7 @@
#include <svtools/svtdllapi.h>
#include <vcl/wintypes.hxx>
#include <vcl/image.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/customweld.hxx>
#include <rtl/ref.hxx>
#include <memory>
+1
View File
@@ -32,6 +32,7 @@
#include <tools/link.hxx>
#include <vcl/metric.hxx>
#include <vcl/vclptr.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/customweld.hxx>
#include <vcl/weld/weld.hxx>
+1
View File
@@ -23,6 +23,7 @@
#include <vcl/graph.hxx>
#include <svtools/valueset.hxx>
#include <vcl/GraphicObject.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/customweld.hxx>
#include <svx/svxdllapi.h>
+1
View File
@@ -25,6 +25,7 @@
#include <sfx2/basedlgs.hxx>
#include <svx/svxdllapi.h>
#include <rtl/ref.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/customweld.hxx>
class SvxRubyDialog;
+1
View File
@@ -12,6 +12,7 @@
#include <vcl/dllapi.h>
#include <vcl/uitest/uiobject.hxx>
#include <vcl/weld/IconView.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/TreeView.hxx>
#include <vcl/weld/weld.hxx>
#include <unordered_map>
+74
View File
@@ -0,0 +1,74 @@
/* -*- 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 ScrolledWindow : virtual public Widget
{
friend class ::LOKTrigger;
Link<ScrolledWindow&, void> m_aVValueChangeHdl;
Link<ScrolledWindow&, void> m_aHValueChangeHdl;
protected:
void signal_vadjustment_value_changed() { m_aVValueChangeHdl.Call(*this); }
void signal_hadjustment_value_changed() { m_aHValueChangeHdl.Call(*this); }
public:
virtual void hadjustment_configure(int value, int upper, int step_increment, int page_increment,
int page_size)
= 0;
virtual int hadjustment_get_value() const = 0;
virtual void hadjustment_set_value(int value) = 0;
virtual int hadjustment_get_upper() const = 0;
virtual void hadjustment_set_upper(int upper) = 0;
virtual int hadjustment_get_page_size() const = 0;
virtual void hadjustment_set_page_size(int size) = 0;
virtual void hadjustment_set_page_increment(int size) = 0;
virtual void hadjustment_set_step_increment(int size) = 0;
virtual void set_hpolicy(VclPolicyType eHPolicy) = 0;
virtual VclPolicyType get_hpolicy() const = 0;
void connect_hadjustment_value_changed(const Link<ScrolledWindow&, void>& rLink)
{
m_aHValueChangeHdl = rLink;
}
virtual void vadjustment_configure(int value, int upper, int step_increment, int page_increment,
int page_size)
= 0;
virtual int vadjustment_get_value() const = 0;
virtual void vadjustment_set_value(int value) = 0;
virtual int vadjustment_get_upper() const = 0;
virtual void vadjustment_set_upper(int upper) = 0;
virtual int vadjustment_get_page_size() const = 0;
virtual void vadjustment_set_page_size(int size) = 0;
virtual void vadjustment_set_page_increment(int size) = 0;
virtual void vadjustment_set_step_increment(int size) = 0;
virtual void set_vpolicy(VclPolicyType eVPolicy) = 0;
virtual VclPolicyType get_vpolicy() const = 0;
void connect_vadjustment_value_changed(const Link<ScrolledWindow&, void>& rLink)
{
m_aVValueChangeHdl = rLink;
}
virtual int get_scroll_thickness() const = 0;
virtual void set_scroll_thickness(int nThickness) = 0;
//trying to use custom color for a scrollbar is generally a bad idea.
virtual void customize_scrollbars(const Color& rBackgroundColor, const Color& rShadowColor,
const Color& rFaceColor)
= 0;
};
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
-56
View File
@@ -452,62 +452,6 @@ public:
virtual int get_position() const = 0;
};
class VCL_DLLPUBLIC ScrolledWindow : virtual public Widget
{
friend class ::LOKTrigger;
Link<ScrolledWindow&, void> m_aVValueChangeHdl;
Link<ScrolledWindow&, void> m_aHValueChangeHdl;
protected:
void signal_vadjustment_value_changed() { m_aVValueChangeHdl.Call(*this); }
void signal_hadjustment_value_changed() { m_aHValueChangeHdl.Call(*this); }
public:
virtual void hadjustment_configure(int value, int upper, int step_increment, int page_increment,
int page_size)
= 0;
virtual int hadjustment_get_value() const = 0;
virtual void hadjustment_set_value(int value) = 0;
virtual int hadjustment_get_upper() const = 0;
virtual void hadjustment_set_upper(int upper) = 0;
virtual int hadjustment_get_page_size() const = 0;
virtual void hadjustment_set_page_size(int size) = 0;
virtual void hadjustment_set_page_increment(int size) = 0;
virtual void hadjustment_set_step_increment(int size) = 0;
virtual void set_hpolicy(VclPolicyType eHPolicy) = 0;
virtual VclPolicyType get_hpolicy() const = 0;
void connect_hadjustment_value_changed(const Link<ScrolledWindow&, void>& rLink)
{
m_aHValueChangeHdl = rLink;
}
virtual void vadjustment_configure(int value, int upper, int step_increment, int page_increment,
int page_size)
= 0;
virtual int vadjustment_get_value() const = 0;
virtual void vadjustment_set_value(int value) = 0;
virtual int vadjustment_get_upper() const = 0;
virtual void vadjustment_set_upper(int upper) = 0;
virtual int vadjustment_get_page_size() const = 0;
virtual void vadjustment_set_page_size(int size) = 0;
virtual void vadjustment_set_page_increment(int size) = 0;
virtual void vadjustment_set_step_increment(int size) = 0;
virtual void set_vpolicy(VclPolicyType eVPolicy) = 0;
virtual VclPolicyType get_vpolicy() const = 0;
void connect_vadjustment_value_changed(const Link<ScrolledWindow&, void>& rLink)
{
m_aVValueChangeHdl = rLink;
}
virtual int get_scroll_thickness() const = 0;
virtual void set_scroll_thickness(int nThickness) = 0;
//trying to use custom color for a scrollbar is generally a bad idea.
virtual void customize_scrollbars(const Color& rBackgroundColor, const Color& rShadowColor,
const Color& rFaceColor)
= 0;
};
class VCL_DLLPUBLIC Frame : virtual public Container
{
public:
@@ -22,6 +22,7 @@
#include <com/sun/star/report/XReportControlModel.hpp>
#include <vcl/weld/DialogController.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
#include <vector>
+2
View File
@@ -15,6 +15,8 @@
#include "anyrefdg.hxx"
#include <vcl/weld/ScrolledWindow.hxx>
#include <memory>
#define DLG_RET_ADD 8
+1
View File
@@ -21,6 +21,7 @@
#include <vcl/idle.hxx>
#include <vcl/weld/Builder.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
#include <scdllapi.h>
#include "csvcontrol.hxx"
+1
View File
@@ -10,6 +10,7 @@
#pragma once
#include <vcl/weld/DialogController.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
#include <types.hxx>
#include "viewfunc.hxx"
+1
View File
@@ -16,6 +16,7 @@
#include <com/sun/star/awt/XWindow.hpp>
#include <vcl/idle.hxx>
#include <vcl/weld/DialogController.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
#include "datatableview.hxx"
#include <memory>
+1
View File
@@ -25,6 +25,7 @@
#include <vcl/toolbox.hxx>
#include <vcl/InterimItemWindow.hxx>
#include <vcl/weld/Builder.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/customweld.hxx>
#include <sfx2/childwin.hxx>
#include <svl/lstner.hxx>
+1
View File
@@ -25,6 +25,7 @@
#include <SolverSettings.hxx>
#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/table/CellAddress.hpp>
#include <vcl/weld/ScrolledWindow.hxx>
#include <string_view>
#include <vector>
+1
View File
@@ -21,6 +21,7 @@
#include <vcl/weld/Builder.hxx>
#include <vcl/weld/DialogController.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
#include <tabprotection.hxx>
#include <memory>
+1
View File
@@ -26,6 +26,7 @@
#include <svx/langbox.hxx>
#include <unotools/collatorwrapper.hxx>
#include <vcl/idle.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include "sortkeydlg.hxx"
@@ -20,6 +20,7 @@
#pragma once
#include <vcl/weld/Builder.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
#include <tools/long.hxx>
#include <svx/weldeditview.hxx>
@@ -20,6 +20,7 @@
#pragma once
#include <vcl/weld/Builder.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
#include <memory>
+1
View File
@@ -25,6 +25,7 @@
#include <vcl/weld/DialogController.hxx>
#include <vcl/weld/EntryTreeView.hxx>
#include <vcl/weld/MetricSpinButton.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/customweld.hxx>
#include "symbol.hxx"
+1
View File
@@ -21,6 +21,7 @@
#include <svx/weldeditview.hxx>
#include <vcl/idle.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
class SmDocShell;
class SmViewShell;
+1
View File
@@ -24,6 +24,7 @@
#include <tools/date.hxx>
#include <tools/time.hxx>
#include <vcl/InterimItemWindow.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/customweld.hxx>
#include "postithelper.hxx"
@@ -28,6 +28,7 @@
#include <mmconfigitem.hxx>
#include <utility>
#include <vcl/svapp.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <sfx2/filedlghelper.hxx>
#include <sfx2/docfile.hxx>
#include <rtl/textenc.h>
+1
View File
@@ -29,6 +29,7 @@
#include <vcl/commandevent.hxx>
#include <vcl/event.hxx>
#include <vcl/svapp.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/weld.hxx>
#include <vcl/transfer.hxx>
#include <mmconfigitem.hxx>
+1
View File
@@ -29,6 +29,7 @@
#include <cppuhelper/implbase.hxx>
#include <comphelper/compbase.hxx>
#include <utility>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/customweld.hxx>
#include <vcl/weld/weld.hxx>
#include <rtl/ustring.hxx>
+1
View File
@@ -24,6 +24,7 @@
#include <vcl/idle.hxx>
#include <vcl/weld/Builder.hxx>
#include <vcl/weld/MetricSpinButton.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/TreeView.hxx>
#include <vcl/weld/customweld.hxx>
#include <vcl/weld/weld.hxx>
+1
View File
@@ -25,6 +25,7 @@
#include <vcl/print.hxx>
#include <vcl/weld/DialogController.hxx>
#include <vcl/weld/MetricSpinButton.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/customweld.hxx>
#include <vcl/weld/weld.hxx>
#include <map>
+2
View File
@@ -11,6 +11,8 @@
#include "QtInstanceWidget.hxx"
#include <vcl/weld/ScrolledWindow.hxx>
#include <QtWidgets/QScrollArea>
class QtInstanceScrolledWindow : public QtInstanceWidget, public virtual weld::ScrolledWindow
+1
View File
@@ -13,6 +13,7 @@
#include <vcl/weld/DialogController.hxx>
#include <vcl/weld/EntryTreeView.hxx>
#include <vcl/weld/MetricSpinButton.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <vcl/weld/TreeView.hxx>
#include <vcl/weld/weld.hxx>
#include <vcl/svapp.hxx>
+1
View File
@@ -37,6 +37,7 @@
#include <vcl/transfer.hxx>
#include <vcl/toolkit/floatwin.hxx>
#include <vcl/weld/MetricSpinButton.hxx>
#include <vcl/weld/ScrolledWindow.hxx>
#include <unx/genpspgraphics.h>
#include <rtl/strbuf.hxx>
#include <sal/log.hxx>