LibreOffice Module sw (master)
1
sw
source
uibase
inc
FrameControlsManager.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
#ifndef INCLUDED_SW_SOURCE_UIBASE_INC_FRAMECONTROLSMANAGER_HXX
10
#define INCLUDED_SW_SOURCE_UIBASE_INC_FRAMECONTROLSMANAGER_HXX
11
12
#include "
FrameControl.hxx
"
13
14
#include <
tools/gen.hxx
>
15
16
#include <map>
17
#include <memory>
18
19
class
SwPageFrame
;
20
class
SwEditWin
;
21
class
SwContentFrame
;
22
class
SwTextNode
;
23
class
SwContentControl
;
24
25
typedef
std::shared_ptr< SwFrameControl >
SwFrameControlPtr
;
26
27
typedef
std::map<const SwFrame*, SwFrameControlPtr>
SwFrameControlPtrMap
;
28
31
class
SwFrameControlsManager
32
{
33
private
:
34
VclPtr<SwEditWin>
m_pEditWin
;
35
std::map< FrameControlType, SwFrameControlPtrMap >
m_aControls
;
36
37
public
:
38
SwFrameControlsManager
(
SwEditWin
* pEditWin );
39
~SwFrameControlsManager
();
40
void
dispose
();
41
42
SwFrameControlPtr
GetControl
(
FrameControlType
eType,
const
SwFrame
* pFrame );
43
void
RemoveControls
(
const
SwFrame
* pFrame );
44
void
RemoveControlsByType
(
FrameControlType
eType,
const
SwFrame
* pFrame );
45
void
HideControls
(
FrameControlType
eType );
46
void
SetReadonlyControls
(
bool
bReadonly );
47
48
// Helper methods
49
void
SetHeaderFooterControl
(
const
SwPageFrame
* pPageFrame,
FrameControlType
eType,
Point
aOffset );
50
void
SetPageBreakControl
(
const
SwPageFrame
* pPageFrame );
51
void
SetUnfloatTableButton
(
const
SwFlyFrame
* pFlyFrame,
bool
bShow,
Point
aTopRightPixel =
Point
() );
52
void
SetOutlineContentVisibilityButton
(
const
SwContentFrame
* pContentFrame);
53
void
SetContentControlAliasButton
(
SwContentControl
* pContentControl,
Point
aTopLeftPixel );
54
};
55
56
#endif
57
58
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
FrameControl.hxx
SwFrameControlPtrMap
std::map< const SwFrame *, SwFrameControlPtr > SwFrameControlPtrMap
Definition:
FrameControlsManager.hxx:27
SwFrameControlPtr
std::shared_ptr< SwFrameControl > SwFrameControlPtr
Definition:
FrameControlsManager.hxx:23
Point
SwContentControl
Stores the properties of a content control.
Definition:
formatcontentcontrol.hxx:111
SwContentFrame
SwContentFrame is the layout for content nodes: a common base class for text (paragraph) and non-text...
Definition:
cntfrm.hxx:59
SwEditWin
Window class for the Writer edit area, this is the one handling mouse and keyboard events and doing t...
Definition:
edtwin.hxx:61
SwFlyFrame
general base class for all free-flowing frames
Definition:
flyfrm.hxx:79
SwFrameControlsManager
A container for the Header/Footer, PageBreak, and Outline Content Visibility controls.
Definition:
FrameControlsManager.hxx:32
SwFrameControlsManager::dispose
void dispose()
Definition:
FrameControlsManager.cxx:36
SwFrameControlsManager::~SwFrameControlsManager
~SwFrameControlsManager()
Definition:
FrameControlsManager.cxx:32
SwFrameControlsManager::HideControls
void HideControls(FrameControlType eType)
Definition:
FrameControlsManager.cxx:68
SwFrameControlsManager::SetReadonlyControls
void SetReadonlyControls(bool bReadonly)
Definition:
FrameControlsManager.cxx:74
SwFrameControlsManager::m_aControls
std::map< FrameControlType, SwFrameControlPtrMap > m_aControls
Definition:
FrameControlsManager.hxx:35
SwFrameControlsManager::SetHeaderFooterControl
void SetHeaderFooterControl(const SwPageFrame *pPageFrame, FrameControlType eType, Point aOffset)
Definition:
FrameControlsManager.cxx:81
SwFrameControlsManager::SetContentControlAliasButton
void SetContentControlAliasButton(SwContentControl *pContentControl, Point aTopLeftPixel)
Definition:
FrameControlsManager.cxx:178
SwFrameControlsManager::SetPageBreakControl
void SetPageBreakControl(const SwPageFrame *pPageFrame)
Definition:
FrameControlsManager.cxx:116
SwFrameControlsManager::RemoveControlsByType
void RemoveControlsByType(FrameControlType eType, const SwFrame *pFrame)
Definition:
FrameControlsManager.cxx:62
SwFrameControlsManager::m_pEditWin
VclPtr< SwEditWin > m_pEditWin
Definition:
FrameControlsManager.hxx:34
SwFrameControlsManager::SetOutlineContentVisibilityButton
void SetOutlineContentVisibilityButton(const SwContentFrame *pContentFrame)
Definition:
FrameControlsManager.cxx:212
SwFrameControlsManager::SetUnfloatTableButton
void SetUnfloatTableButton(const SwFlyFrame *pFlyFrame, bool bShow, Point aTopRightPixel=Point())
Definition:
FrameControlsManager.cxx:145
SwFrameControlsManager::SwFrameControlsManager
SwFrameControlsManager(SwEditWin *pEditWin)
Definition:
FrameControlsManager.cxx:27
SwFrameControlsManager::GetControl
SwFrameControlPtr GetControl(FrameControlType eType, const SwFrame *pFrame)
Definition:
FrameControlsManager.cxx:41
SwFrameControlsManager::RemoveControls
void RemoveControls(const SwFrame *pFrame)
Definition:
FrameControlsManager.cxx:53
SwFrame
Base class of the Writer layout elements.
Definition:
frame.hxx:315
SwPageFrame
A page of the document layout.
Definition:
pagefrm.hxx:60
SwTextNode
SwTextNode is a paragraph in the document model.
Definition:
ndtxt.hxx:112
VclPtr< SwEditWin >
gen.hxx
FrameControlType
FrameControlType
Definition:
swtypes.hxx:246
Generated on Sun Jul 30 2023 04:29:55 for LibreOffice Module sw (master) by
1.9.3