LibreOffice Module sd (master)
1
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Functions
a
c
d
f
g
h
i
l
m
o
r
s
u
w
Variables
a
b
c
d
e
g
h
i
m
n
o
p
s
t
v
w
Typedefs
a
b
c
d
e
f
g
i
l
m
n
p
r
s
t
u
v
w
Enumerations
Enumerator
a
b
c
d
e
f
h
m
n
o
p
s
t
v
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
~
Variables
a
b
c
d
e
f
g
h
l
m
n
o
p
r
s
u
x
z
Typedefs
a
b
c
d
e
f
i
k
l
m
p
r
s
t
u
v
x
Enumerations
a
c
d
e
f
g
h
i
l
m
o
p
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
c
d
e
i
m
o
p
s
t
u
v
w
Files
File List
File Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Functions
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
w
Variables
a
b
c
d
g
h
j
k
m
n
p
s
t
v
w
x
Typedefs
Enumerations
Enumerator
c
f
h
l
m
n
o
p
s
u
v
Macros
a
b
c
d
e
f
g
i
k
m
n
p
r
s
t
u
v
w
z
sd
source
ui
sidebar
MasterPageContainer.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
#pragma once
21
22
#include <
vcl/image.hxx
>
23
24
#include <memory>
25
26
class
SdPage
;
27
28
namespace
sd::sidebar
29
{
30
class
MasterPageDescriptor;
31
class
MasterPageContainerChangeEvent;
32
48
class
MasterPageContainer
final
49
{
50
public
:
51
typedef
int
Token
;
52
static
const
Token
NIL_TOKEN
= -1;
53
54
MasterPageContainer
();
55
~MasterPageContainer
();
56
57
void
AddChangeListener
(
const
Link<MasterPageContainerChangeEvent&, void>
& rLink);
58
void
RemoveChangeListener
(
const
Link<MasterPageContainerChangeEvent&, void>
& rLink);
59
60
enum
PreviewSize
61
{
62
SMALL
,
63
LARGE
64
};
71
void
SetPreviewSize
(
PreviewSize
eSize);
72
75
PreviewSize
GetPreviewSize
()
const
{
return
mePreviewSize
; }
76
79
Size
const
&
GetPreviewSizePixel
()
const
;
80
81
enum
PreviewState
82
{
83
PS_AVAILABLE
,
84
PS_CREATABLE
,
85
PS_PREPARING
,
86
PS_NOT_AVAILABLE
87
};
88
PreviewState
GetPreviewState
(
Token
aToken);
89
96
bool
RequestPreview
(
Token
aToken);
97
101
enum
Origin
102
{
103
MASTERPAGE
,
// Master page of a document.
104
TEMPLATE
,
// First page of a template file.
105
DEFAULT
,
// Empty master page with default style.
106
UNKNOWN
107
};
108
115
Token
PutMasterPage
(
const
std::shared_ptr<MasterPageDescriptor>& rDescriptor);
116
void
AcquireToken
(
Token
aToken);
117
void
ReleaseToken
(
Token
aToken);
118
122
int
GetTokenCount
()
const
;
123
126
bool
HasToken
(
Token
aToken)
const
;
127
131
Token
GetTokenForIndex
(
int
nIndex);
132
133
Token
GetTokenForURL
(
const
OUString& sURL);
134
Token
GetTokenForStyleName
(
const
OUString& sStyleName);
135
Token
GetTokenForPageObject
(
const
SdPage
* pPage);
136
137
OUString
GetURLForToken
(
Token
aToken);
138
OUString
GetPageNameForToken
(
Token
aToken);
139
OUString
GetStyleNameForToken
(
Token
aToken);
140
SdPage
*
GetPageObjectForToken
(
Token
aToken,
bool
bLoad);
141
Origin
GetOriginForToken
(
Token
aToken);
142
sal_Int32
GetTemplateIndexForToken
(
Token
aToken);
143
std::shared_ptr<MasterPageDescriptor>
GetDescriptorForToken
(
Token
aToken);
144
145
void
InvalidatePreview
(
Token
aToken);
146
159
Image
GetPreviewForToken
(
Token
aToken);
160
161
private
:
162
class
Implementation;
163
std::shared_ptr<Implementation>
mpImpl
;
164
PreviewSize
mePreviewSize
;
165
};
166
173
class
MasterPageContainerChangeEvent
174
{
175
public
:
176
enum class
EventType
177
{
178
// A master page was added to the container.
179
CHILD_ADDED
,
180
// A master page was removed from the container.
181
CHILD_REMOVED
,
182
// The preview of a master page has changed.
183
PREVIEW_CHANGED,
184
// The size of a preview has changed.
185
SIZE_CHANGED
,
186
// Some of the data stored for a master page has changed.
187
DATA_CHANGED,
188
// The TemplateIndex of a master page has changed.
189
INDEX_CHANGED,
190
}
meEventType
;
191
192
// Token of the container entry whose data changed or which was added or
193
// removed.
194
MasterPageContainer::Token
maChildToken
;
195
};
196
197
}
// end of namespace sd::sidebar
198
199
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Image
Link
SdPage
Definition:
sdpage.hxx:93
Size
sd::sidebar::MasterPageContainerChangeEvent
For some changes to the set of master pages in a MasterPageContainer or to the data stored for each m...
Definition:
MasterPageContainer.hxx:174
sd::sidebar::MasterPageContainerChangeEvent::EventType
EventType
Definition:
MasterPageContainer.hxx:177
sd::sidebar::MasterPageContainerChangeEvent::meEventType
enum sd::sidebar::MasterPageContainerChangeEvent::EventType meEventType
sd::sidebar::MasterPageContainerChangeEvent::maChildToken
MasterPageContainer::Token maChildToken
Definition:
MasterPageContainer.hxx:194
sd::sidebar::MasterPageContainer
This container manages the master pages used by the MasterPagesSelector controls.
Definition:
MasterPageContainer.hxx:49
sd::sidebar::MasterPageContainer::GetOriginForToken
Origin GetOriginForToken(Token aToken)
Definition:
MasterPageContainer.cxx:418
sd::sidebar::MasterPageContainer::PreviewState
PreviewState
Definition:
MasterPageContainer.hxx:82
sd::sidebar::MasterPageContainer::PS_AVAILABLE
@ PS_AVAILABLE
Definition:
MasterPageContainer.hxx:83
sd::sidebar::MasterPageContainer::PS_CREATABLE
@ PS_CREATABLE
Definition:
MasterPageContainer.hxx:84
sd::sidebar::MasterPageContainer::PS_NOT_AVAILABLE
@ PS_NOT_AVAILABLE
Definition:
MasterPageContainer.hxx:86
sd::sidebar::MasterPageContainer::PS_PREPARING
@ PS_PREPARING
Definition:
MasterPageContainer.hxx:85
sd::sidebar::MasterPageContainer::GetTemplateIndexForToken
sal_Int32 GetTemplateIndexForToken(Token aToken)
Definition:
MasterPageContainer.cxx:429
sd::sidebar::MasterPageContainer::PutMasterPage
Token PutMasterPage(const std::shared_ptr< MasterPageDescriptor > &rDescriptor)
Put the master page identified and described by the given parameters into the container.
Definition:
MasterPageContainer.cxx:238
sd::sidebar::MasterPageContainer::MasterPageContainer
MasterPageContainer()
Definition:
MasterPageContainer.cxx:204
sd::sidebar::MasterPageContainer::RemoveChangeListener
void RemoveChangeListener(const Link< MasterPageContainerChangeEvent &, void > &rLink)
Definition:
MasterPageContainer.cxx:220
sd::sidebar::MasterPageContainer::ReleaseToken
void ReleaseToken(Token aToken)
Definition:
MasterPageContainer.cxx:253
sd::sidebar::MasterPageContainer::mpImpl
std::shared_ptr< Implementation > mpImpl
Definition:
MasterPageContainer.hxx:162
sd::sidebar::MasterPageContainer::InvalidatePreview
void InvalidatePreview(Token aToken)
Definition:
MasterPageContainer.cxx:448
sd::sidebar::MasterPageContainer::SetPreviewSize
void SetPreviewSize(PreviewSize eSize)
There are two different preview sizes, a small one and a large one.
Definition:
MasterPageContainer.cxx:225
sd::sidebar::MasterPageContainer::GetTokenCount
int GetTokenCount() const
This and the GetTokenForIndex() methods can be used to iterate over all members of the container.
Definition:
MasterPageContainer.cxx:277
sd::sidebar::MasterPageContainer::GetPreviewForToken
Image GetPreviewForToken(Token aToken)
Return a preview for the specified token.
Definition:
MasterPageContainer.cxx:453
sd::sidebar::MasterPageContainer::GetPreviewSizePixel
Size const & GetPreviewSizePixel() const
Return the preview size in pixels.
Definition:
MasterPageContainer.cxx:233
sd::sidebar::MasterPageContainer::GetTokenForStyleName
Token GetTokenForStyleName(const OUString &sStyleName)
Definition:
MasterPageContainer.cxx:320
sd::sidebar::MasterPageContainer::GetTokenForURL
Token GetTokenForURL(const OUString &sURL)
Definition:
MasterPageContainer.cxx:301
sd::sidebar::MasterPageContainer::GetPageNameForToken
OUString GetPageNameForToken(Token aToken)
Definition:
MasterPageContainer.cxx:369
sd::sidebar::MasterPageContainer::GetTokenForPageObject
Token GetTokenForPageObject(const SdPage *pPage)
Definition:
MasterPageContainer.cxx:338
sd::sidebar::MasterPageContainer::GetPageObjectForToken
SdPage * GetPageObjectForToken(Token aToken, bool bLoad)
Definition:
MasterPageContainer.cxx:393
sd::sidebar::MasterPageContainer::GetPreviewState
PreviewState GetPreviewState(Token aToken)
Definition:
MasterPageContainer.cxx:458
sd::sidebar::MasterPageContainer::GetDescriptorForToken
std::shared_ptr< MasterPageDescriptor > GetDescriptorForToken(Token aToken)
Definition:
MasterPageContainer.cxx:440
sd::sidebar::MasterPageContainer::NIL_TOKEN
static const Token NIL_TOKEN
Definition:
MasterPageContainer.hxx:52
sd::sidebar::MasterPageContainer::GetTokenForIndex
Token GetTokenForIndex(int nIndex)
Return a token for an index in the range 0 <= index < GetTokenCount().
Definition:
MasterPageContainer.cxx:291
sd::sidebar::MasterPageContainer::Token
int Token
Definition:
MasterPageContainer.hxx:51
sd::sidebar::MasterPageContainer::~MasterPageContainer
~MasterPageContainer()
Definition:
MasterPageContainer.cxx:211
sd::sidebar::MasterPageContainer::HasToken
bool HasToken(Token aToken) const
Determine whether the container has a member for the given token.
Definition:
MasterPageContainer.cxx:284
sd::sidebar::MasterPageContainer::GetURLForToken
OUString GetURLForToken(Token aToken)
Definition:
MasterPageContainer.cxx:357
sd::sidebar::MasterPageContainer::AddChangeListener
void AddChangeListener(const Link< MasterPageContainerChangeEvent &, void > &rLink)
Definition:
MasterPageContainer.cxx:215
sd::sidebar::MasterPageContainer::RequestPreview
bool RequestPreview(Token aToken)
This method is typically called for entries in the container for which GetPreviewState() returns OS_C...
Definition:
MasterPageContainer.cxx:463
sd::sidebar::MasterPageContainer::AcquireToken
void AcquireToken(Token aToken)
Definition:
MasterPageContainer.cxx:244
sd::sidebar::MasterPageContainer::PreviewSize
PreviewSize
Definition:
MasterPageContainer.hxx:61
sd::sidebar::MasterPageContainer::SMALL
@ SMALL
Definition:
MasterPageContainer.hxx:62
sd::sidebar::MasterPageContainer::LARGE
@ LARGE
Definition:
MasterPageContainer.hxx:63
sd::sidebar::MasterPageContainer::Origin
Origin
Each entry of the container is either the first page of a template document or is a master page of an...
Definition:
MasterPageContainer.hxx:102
sd::sidebar::MasterPageContainer::DEFAULT
@ DEFAULT
Definition:
MasterPageContainer.hxx:105
sd::sidebar::MasterPageContainer::UNKNOWN
@ UNKNOWN
Definition:
MasterPageContainer.hxx:106
sd::sidebar::MasterPageContainer::TEMPLATE
@ TEMPLATE
Definition:
MasterPageContainer.hxx:104
sd::sidebar::MasterPageContainer::MASTERPAGE
@ MASTERPAGE
Definition:
MasterPageContainer.hxx:103
sd::sidebar::MasterPageContainer::GetPreviewSize
PreviewSize GetPreviewSize() const
Returns the preview size.
Definition:
MasterPageContainer.hxx:75
sd::sidebar::MasterPageContainer::mePreviewSize
PreviewSize mePreviewSize
Definition:
MasterPageContainer.hxx:164
sd::sidebar::MasterPageContainer::GetStyleNameForToken
OUString GetStyleNameForToken(Token aToken)
Definition:
MasterPageContainer.cxx:381
image.hxx
SIZE_CHANGED
SIZE_CHANGED
sd::sidebar
Definition:
AllMasterPagesSelector.cxx:68
UnoMSAAEvent::CHILD_REMOVED
@ CHILD_REMOVED
UnoMSAAEvent::CHILD_ADDED
@ CHILD_ADDED
Generated on Sun Jul 30 2023 04:27:23 for LibreOffice Module sd (master) by
1.9.3