LibreOffice Module toolkit (master)
1
toolkit
inc
helper
scrollabledialog.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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
* This file incorporates work covered by the following license notice:
10
*
11
* Licensed to the Apache Software Foundation (ASF) under one or more
12
* contributor license agreements. See the NOTICE file distributed
13
* with this work for additional information regarding copyright
14
* ownership. The ASF licenses this file to you under the Apache
15
* License, Version 2.0 (the "License"); you may not use this file
16
* except in compliance with the License. You may obtain a copy of
17
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
*/
19
20
#ifndef INCLUDED_TOOLKIT_AWT_SCROLLABLEDIALOG_HXX
21
#define INCLUDED_TOOLKIT_AWT_SCROLLABLEDIALOG_HXX
22
23
#include <
vcl/toolkit/dialog.hxx
>
24
#include <
vcl/toolkit/scrbar.hxx
>
25
26
namespace
toolkit
27
{
28
class
ScrollableDialog
final :
public
Dialog
29
{
30
public
:
31
enum
ScrollBarVisibility
{
None
,
Vert
,
Hori
,
Both
};
32
33
private
:
34
VclPtr<ScrollBar>
maHScrollBar
;
35
VclPtr<ScrollBar>
maVScrollBar
;
36
Size
maScrollArea
;
37
bool
mbHasHoriBar
;
38
bool
mbHasVertBar
;
39
Point
mnScrollPos
;
40
tools::Long
mnScrWidth
;
41
ScrollBarVisibility
maScrollVis
;
42
43
void
lcl_Scroll
(
tools::Long
nX,
tools::Long
nY );
44
DECL_LINK
( ScrollBarHdl,
ScrollBar
*,
void
);
45
46
public
:
47
ScrollableDialog
(
vcl::Window
* pParent,
WinBits
nStyle,
Dialog::InitFlag
eFlag =
Dialog::InitFlag::Default
);
48
virtual
~ScrollableDialog
()
override
;
49
virtual
void
dispose
()
override
;
50
// Window
51
virtual
void
Resize
()
override
;
52
53
void
SetScrollWidth
(
tools::Long
nWidth );
54
void
SetScrollHeight
(
tools::Long
nHeight );
55
void
SetScrollLeft
(
tools::Long
nLeft );
56
void
SetScrollTop
(
tools::Long
Top );
57
void
setScrollVisibility
(
ScrollBarVisibility
rState );
58
void
ResetScrollBars
();
59
};
60
61
}
// namespacetoolkit
62
63
64
#endif
// INCLUDED_TOOLKIT_AWT_SCROLLABLEDIALOG_HXX
65
66
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Dialog
Dialog::InitFlag
InitFlag
Dialog::InitFlag::Default
@ Default
Point
ScrollBar
Size
VclPtr< ScrollBar >
toolkit::ScrollableDialog
Definition:
scrollabledialog.hxx:29
toolkit::ScrollableDialog::SetScrollLeft
void SetScrollLeft(tools::Long nLeft)
Definition:
scrollabledialog.cxx:129
toolkit::ScrollableDialog::maHScrollBar
VclPtr< ScrollBar > maHScrollBar
Definition:
scrollabledialog.hxx:34
toolkit::ScrollableDialog::maScrollArea
Size maScrollArea
Definition:
scrollabledialog.hxx:36
toolkit::ScrollableDialog::ScrollableDialog
ScrollableDialog(vcl::Window *pParent, WinBits nStyle, Dialog::InitFlag eFlag=Dialog::InitFlag::Default)
Definition:
scrollabledialog.cxx:32
toolkit::ScrollableDialog::Resize
virtual void Resize() override
Definition:
scrollabledialog.cxx:150
toolkit::ScrollableDialog::mbHasHoriBar
bool mbHasHoriBar
Definition:
scrollabledialog.hxx:37
toolkit::ScrollableDialog::maScrollVis
ScrollBarVisibility maScrollVis
Definition:
scrollabledialog.hxx:41
toolkit::ScrollableDialog::ScrollBarVisibility
ScrollBarVisibility
Definition:
scrollabledialog.hxx:31
toolkit::ScrollableDialog::None
@ None
Definition:
scrollabledialog.hxx:31
toolkit::ScrollableDialog::Hori
@ Hori
Definition:
scrollabledialog.hxx:31
toolkit::ScrollableDialog::Vert
@ Vert
Definition:
scrollabledialog.hxx:31
toolkit::ScrollableDialog::Both
@ Both
Definition:
scrollabledialog.hxx:31
toolkit::ScrollableDialog::maVScrollBar
VclPtr< ScrollBar > maVScrollBar
Definition:
scrollabledialog.hxx:35
toolkit::ScrollableDialog::DECL_LINK
DECL_LINK(ScrollBarHdl, ScrollBar *, void)
toolkit::ScrollableDialog::ResetScrollBars
void ResetScrollBars()
Definition:
scrollabledialog.cxx:155
toolkit::ScrollableDialog::lcl_Scroll
void lcl_Scroll(tools::Long nX, tools::Long nY)
Definition:
scrollabledialog.cxx:91
toolkit::ScrollableDialog::mnScrollPos
Point mnScrollPos
Definition:
scrollabledialog.hxx:39
toolkit::ScrollableDialog::SetScrollWidth
void SetScrollWidth(tools::Long nWidth)
Definition:
scrollabledialog.cxx:138
toolkit::ScrollableDialog::SetScrollTop
void SetScrollTop(tools::Long Top)
Definition:
scrollabledialog.cxx:121
toolkit::ScrollableDialog::dispose
virtual void dispose() override
Definition:
scrollabledialog.cxx:84
toolkit::ScrollableDialog::~ScrollableDialog
virtual ~ScrollableDialog() override
Definition:
scrollabledialog.cxx:79
toolkit::ScrollableDialog::mnScrWidth
tools::Long mnScrWidth
Definition:
scrollabledialog.hxx:40
toolkit::ScrollableDialog::SetScrollHeight
void SetScrollHeight(tools::Long nHeight)
Definition:
scrollabledialog.cxx:144
toolkit::ScrollableDialog::setScrollVisibility
void setScrollVisibility(ScrollBarVisibility rState)
Definition:
scrollabledialog.cxx:62
toolkit::ScrollableDialog::mbHasVertBar
bool mbHasVertBar
Definition:
scrollabledialog.hxx:38
dialog.hxx
toolkit
Definition:
animatedimagespeer.cxx:43
tools::Long
long Long
scrbar.hxx
vcl::Window
WinBits
sal_Int64 WinBits
Generated on Sun Jul 30 2023 04:29:33 for LibreOffice Module toolkit (master) by
1.9.3