LibreOffice Module sw (master)
1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
sw
inc
unobaseclass.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
#ifndef INCLUDED_SW_INC_UNOBASECLASS_HXX
20
#define INCLUDED_SW_INC_UNOBASECLASS_HXX
21
22
#include <memory>
23
#include <com/sun/star/lang/XServiceInfo.hpp>
24
#include <com/sun/star/container/XEnumeration.hpp>
25
26
#include <
cppuhelper/implbase.hxx
>
27
#include <
vcl/svapp.hxx
>
28
29
class
SfxPoolItem
;
30
class
SwDoc
;
31
class
SwUnoTableCursor
;
32
33
typedef ::cppu::WeakImplHelper
34
< css::lang::XServiceInfo
35
, css::container::XEnumeration
36
>
37
SwSimpleEnumeration_Base
;
38
39
enum class
CursorType
40
{
41
Body
,
42
Frame
,
43
TableText
,
44
Footnote
,
45
Header
,
46
Footer
,
47
Redline
,
48
All
,
// for Search&Replace
49
Selection
,
// create a paragraph enumeration from
50
// a text range or cursor
51
SelectionInTable
,
52
Meta
,
// meta/meta-field
53
ContentControl
,
54
};
55
56
/*
57
Start/EndAction or Start/EndAllAction
58
*/
59
class
UnoActionContext
60
{
61
private
:
62
SwDoc
*
m_pDoc
;
63
64
public
:
65
UnoActionContext
(
SwDoc
*
const
pDoc);
66
~UnoActionContext
() COVERITY_NOEXCEPT_FALSE;
67
};
68
69
/*
70
interrupt Actions for a little while
71
FIXME: this is a vile abomination that may cause recursive layout actions!
72
C'thulhu fhtagn.
73
*/
74
class
UnoActionRemoveContext
75
{
76
private
:
77
SwDoc
*
const
m_pDoc
;
78
79
public
:
80
UnoActionRemoveContext(
SwDoc
*
const
pDoc);
81
UnoActionRemoveContext(
SwUnoTableCursor
const
& rCursor);
82
~UnoActionRemoveContext() COVERITY_NOEXCEPT_FALSE;
83
};
84
85
namespace
sw
{
86
template
<
typename
T>
87
struct
UnoImplPtrDeleter
88
{
89
void
operator()
(T* pUnoImpl)
90
{
91
SolarMutexGuard
g;
// #i105557#: call dtor with locked solar mutex
92
delete
pUnoImpl;
93
}
94
};
96
template
<
typename
T>
97
using
UnoImplPtr
= std::unique_ptr<T, UnoImplPtrDeleter<T> >;
98
99
}
// namespace sw
100
101
#endif // INCLUDED_SW_INC_UNOBASECLASS_HXX
102
103
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SwUnoTableCursor
Definition:
unocrsr.hxx:78
CursorType::Selection
CursorType::Body
CursorType::Header
CursorType
CursorType
Definition:
unobaseclass.hxx:39
PortionType::ContentControl
UnoActionContext::~UnoActionContext
~UnoActionContext() COVERITY_NOEXCEPT_FALSE
Definition:
unoobj2.cxx:194
SwDoc
Definition:
doc.hxx:187
UnoActionContext::UnoActionContext
UnoActionContext(SwDoc *const pDoc)
Definition:
unoobj2.cxx:184
sw
Dialog to specify the properties of date form field.
Definition:
AccessibilityCheck.cxx:40
sw::UnoImplPtrDeleter::operator()
void operator()(T *pUnoImpl)
Definition:
unobaseclass.hxx:89
CursorType::Frame
UnoActionRemoveContext::m_pDoc
SwDoc *const m_pDoc
Definition:
unobaseclass.hxx:77
UnoActionRemoveContext
Definition:
unobaseclass.hxx:74
UnoActionContext
Definition:
unobaseclass.hxx:59
CursorType::All
sw::UnoImplPtrDeleter
Definition:
unobaseclass.hxx:87
sw::UnoImplPtr
std::unique_ptr< T, UnoImplPtrDeleter< T > > UnoImplPtr
Smart pointer class ensuring that the pointed object is deleted with a locked SolarMutex.
Definition:
unobaseclass.hxx:97
CursorType::Footnote
CursorType::SelectionInTable
SwSimpleEnumeration_Base
::cppu::WeakImplHelper< css::lang::XServiceInfo, css::container::XEnumeration > SwSimpleEnumeration_Base
Definition:
unobaseclass.hxx:31
CursorType::TableText
svapp.hxx
Footer
Footer
SfxPoolItem
implbase.hxx
CursorType::Meta
UnoActionContext::m_pDoc
SwDoc * m_pDoc
Definition:
unobaseclass.hxx:62
CursorType::Redline
SolarMutexGuard
Generated on Tue May 17 2022 12:16:32 for LibreOffice Module sw (master) by
1.8.10