LibreOffice Module vcl (master)
1
include
vcl
tabpage.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_VCL_TABPAGE_HXX
21
#define INCLUDED_VCL_TABPAGE_HXX
22
23
#include <
vcl/dllapi.h
>
24
#include <
vcl/window.hxx
>
25
#include <
vcl/IContext.hxx
>
26
27
class
ScrollBar
;
28
29
class
VCL_DLLPUBLIC
TabPage
final
30
:
public
vcl::Window
31
,
public
vcl::IContext
32
{
33
private
:
34
using
Window::ImplInit
;
35
SAL_DLLPRIVATE
void
ImplInit
(
vcl::Window
* pParent,
WinBits
nStyle );
36
SAL_DLLPRIVATE
void
ImplInitSettings();
37
void
lcl_Scroll(
tools::Long
nX,
tools::Long
nY );
38
DECL_DLLPRIVATE_LINK
( ScrollBarHdl,
ScrollBar
*,
void
);
39
40
VclPtr<ScrollBar>
m_pVScroll
;
41
VclPtr<ScrollBar>
m_pHScroll
;
42
Size
maScrollArea
;
43
bool
mbHasHoriBar
;
44
bool
mbHasVertBar
;
45
Point
mnScrollPos
;
46
tools::Long
mnScrWidth
;
47
48
public
:
49
explicit
TabPage
(
vcl::Window
* pParent,
WinBits
nStyle = 0 );
50
virtual
~TabPage
()
override
;
51
virtual
void
dispose
()
override
;
52
53
virtual
void
Paint
(
vcl::RenderContext
& rRenderContext,
const
tools::Rectangle
& rRect )
override
;
54
virtual
void
Draw
(
OutputDevice
* pDev,
const
Point
& rPos,
SystemTextColorFlags
nFlags )
override
;
55
56
virtual
void
StateChanged
(
StateChangedType
nStateChange )
override
;
57
virtual
void
DataChanged
(
const
DataChangedEvent
& rDCEvt )
override
;
58
59
//To-Do, consider inheriting from VclContainer
60
virtual
void
SetPosSizePixel
(
const
Point
& rNewPos,
const
Size
& rNewSize)
override
;
61
virtual
void
SetPosPixel
(
const
Point
& rNewPos)
override
;
62
virtual
void
SetSizePixel
(
const
Size
& rNewSize)
override
;
63
virtual
Size
GetOptimalSize
()
const override
;
64
65
// for scrollable tabpage
66
virtual
void
Resize
()
override
;
67
68
void
SetScrollWidth(
tools::Long
nWidth );
69
void
SetScrollHeight(
tools::Long
nHeight );
70
void
SetScrollLeft(
tools::Long
nLeft );
71
void
SetScrollTop(
tools::Long
Top );
72
void
ResetScrollBars();
73
};
74
75
#endif
// INCLUDED_VCL_TABPAGE_HXX
76
77
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
IContext.hxx
SystemTextColorFlags
SystemTextColorFlags
Definition:
SystemTextColorFlags.hxx:25
DataChangedEvent
Definition:
event.hxx:351
OutputDevice
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
Definition:
outdev.hxx:170
Point
ScrollBar
Definition:
scrbar.hxx:35
Size
TabPage
Definition:
tabpage.hxx:32
TabPage::mbHasHoriBar
bool mbHasHoriBar
Definition:
tabpage.hxx:43
TabPage::DECL_DLLPRIVATE_LINK
DECL_DLLPRIVATE_LINK(ScrollBarHdl, ScrollBar *, void)
TabPage::mbHasVertBar
bool mbHasVertBar
Definition:
tabpage.hxx:44
TabPage::m_pVScroll
VclPtr< ScrollBar > m_pVScroll
Definition:
tabpage.hxx:40
TabPage::m_pHScroll
VclPtr< ScrollBar > m_pHScroll
Definition:
tabpage.hxx:41
TabPage::maScrollArea
Size maScrollArea
Definition:
tabpage.hxx:42
TabPage::mnScrWidth
tools::Long mnScrWidth
Definition:
tabpage.hxx:46
TabPage::mnScrollPos
Point mnScrollPos
Definition:
tabpage.hxx:45
VclPtr< ScrollBar >
tools::Rectangle
vcl::Window
Definition:
window.hxx:443
vcl::Window::dispose
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
Definition:
window.cxx:140
vcl::Window::StateChanged
virtual void StateChanged(StateChangedType nStateChange)
Definition:
window.cxx:1940
vcl::Window::SetSizePixel
virtual void SetSizePixel(const Size &rNewSize)
Definition:
window2.cxx:1288
vcl::Window::Resize
virtual void Resize()
Definition:
window.cxx:1835
vcl::Window::Paint
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect)
Definition:
paint.cxx:1020
vcl::Window::GetOptimalSize
virtual Size GetOptimalSize() const
Definition:
window3.cxx:26
vcl::Window::Draw
virtual void Draw(::OutputDevice *pDev, const Point &rPos, SystemTextColorFlags nFlags)
Definition:
window.cxx:1829
vcl::Window::DataChanged
virtual void DataChanged(const DataChangedEvent &rDCEvt)
Definition:
event.cxx:36
vcl::Window::SetPosPixel
virtual void SetPosPixel(const Point &rNewPos)
Definition:
window2.cxx:1283
vcl::Window::SetPosSizePixel
virtual void SetPosSizePixel(const Point &rNewPos, const Size &rNewSize)
Definition:
window2.cxx:1294
vcl::Window::ImplInit
SAL_DLLPRIVATE void ImplInit(vcl::Window *pParent, WinBits nStyle, SystemParentData *pSystemParentData)
Definition:
window.cxx:941
dllapi.h
VCL_DLLPUBLIC
#define VCL_DLLPUBLIC
Definition:
dllapi.h:29
tools::Long
long Long
window.hxx
StateChangedType
StateChangedType
Definition:
window.hxx:291
WinBits
sal_Int64 WinBits
Definition:
wintypes.hxx:109
Generated on Sun Jul 30 2023 04:34:52 for LibreOffice Module vcl (master) by
1.9.3