Coverage Report

Created: 2026-02-14 09:37

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/include/vcl/weld/ScrolledWindow.hxx
Line
Count
Source
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
2
/*
3
 * This file is part of the LibreOffice project.
4
 *
5
 * This Source Code Form is subject to the terms of the Mozilla Public
6
 * License, v. 2.0. If a copy of the MPL was not distributed with this
7
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
 */
9
10
#pragma once
11
12
#include <vcl/dllapi.h>
13
#include <vcl/weld/weld.hxx>
14
15
enum class VclPolicyType;
16
17
namespace weld
18
{
19
class VCL_DLLPUBLIC ScrolledWindow : virtual public Widget
20
{
21
    friend class ::LOKTrigger;
22
23
    Link<ScrolledWindow&, void> m_aVValueChangeHdl;
24
    Link<ScrolledWindow&, void> m_aHValueChangeHdl;
25
26
protected:
27
0
    void signal_vadjustment_value_changed() { m_aVValueChangeHdl.Call(*this); }
28
0
    void signal_hadjustment_value_changed() { m_aHValueChangeHdl.Call(*this); }
29
30
public:
31
    virtual void hadjustment_configure(int value, int upper, int step_increment, int page_increment,
32
                                       int page_size)
33
        = 0;
34
    virtual int hadjustment_get_value() const = 0;
35
    virtual void hadjustment_set_value(int value) = 0;
36
    virtual int hadjustment_get_upper() const = 0;
37
    virtual void hadjustment_set_upper(int upper) = 0;
38
    virtual int hadjustment_get_page_size() const = 0;
39
    virtual void hadjustment_set_page_size(int size) = 0;
40
    virtual void hadjustment_set_page_increment(int size) = 0;
41
    virtual void hadjustment_set_step_increment(int size) = 0;
42
    virtual void set_hpolicy(VclPolicyType eHPolicy) = 0;
43
    virtual VclPolicyType get_hpolicy() const = 0;
44
    void connect_hadjustment_value_changed(const Link<ScrolledWindow&, void>& rLink)
45
0
    {
46
0
        m_aHValueChangeHdl = rLink;
47
0
    }
48
49
    virtual void vadjustment_configure(int value, int upper, int step_increment, int page_increment,
50
                                       int page_size)
51
        = 0;
52
    virtual int vadjustment_get_value() const = 0;
53
    virtual void vadjustment_set_value(int value) = 0;
54
    virtual int vadjustment_get_upper() const = 0;
55
    virtual void vadjustment_set_upper(int upper) = 0;
56
    virtual int vadjustment_get_page_size() const = 0;
57
    virtual void vadjustment_set_page_size(int size) = 0;
58
    virtual void vadjustment_set_page_increment(int size) = 0;
59
    virtual void vadjustment_set_step_increment(int size) = 0;
60
    virtual void set_vpolicy(VclPolicyType eVPolicy) = 0;
61
    virtual VclPolicyType get_vpolicy() const = 0;
62
    void connect_vadjustment_value_changed(const Link<ScrolledWindow&, void>& rLink)
63
0
    {
64
0
        m_aVValueChangeHdl = rLink;
65
0
    }
66
    virtual int get_scroll_thickness() const = 0;
67
    virtual void set_scroll_thickness(int nThickness) = 0;
68
69
    //trying to use custom color for a scrollbar is generally a bad idea.
70
    virtual void customize_scrollbars(const Color& rBackgroundColor, const Color& rShadowColor,
71
                                      const Color& rFaceColor)
72
        = 0;
73
};
74
}
75
76
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */