Coverage Report

Created: 2025-07-07 10:01

/src/libreoffice/sw/inc/txtinet.hxx
Line
Count
Source (jump to first uncovered line)
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_TXTINET_HXX
20
#define INCLUDED_SW_INC_TXTINET_HXX
21
22
#include "txatbase.hxx"
23
#include "calbck.hxx"
24
25
class SwTextNode;
26
class SwCharFormat;
27
28
/// SwTextAttr subclass that tracks the location of the wrapped SwFormatINetFormat.
29
class SW_DLLPUBLIC SwTextINetFormat final: public SwTextAttrNesting, public SwClient
30
{
31
    private:
32
        SwTextNode* m_pTextNode;
33
        bool m_bVisited         : 1; // visited link?
34
        bool m_bVisitedValid    : 1; // is m_bVisited valid?
35
        virtual void SwClientNotify(const SwModify&, const SfxHint&) override;
36
37
    public:
38
        SwTextINetFormat(
39
            const SfxPoolItemHolder& rAttr,
40
            sal_Int32 nStart,
41
            sal_Int32 nEnd );
42
        virtual ~SwTextINetFormat() override;
43
44
        SAL_DLLPRIVATE void InitINetFormat(SwTextNode & rNode);
45
46
        // get and set TextNode pointer
47
1.29k
        const SwTextNode* GetpTextNode() const { return m_pTextNode; }
48
        inline const SwTextNode& GetTextNode() const;
49
        inline SwTextNode& GetTextNode();
50
61.7k
        void ChgTextNode( SwTextNode* pNew ) { m_pTextNode = pNew; }
51
52
              SwCharFormat* GetCharFormat();
53
        const SwCharFormat* GetCharFormat() const
54
21.1k
                { return const_cast<SwTextINetFormat*>(this)->GetCharFormat(); }
55
56
43.4k
        bool IsVisited() const { return m_bVisited; }
57
10.4k
        void SetVisited( bool bNew ) { m_bVisited = bNew; }
58
59
21.4k
        bool IsVisitedValid() const { return m_bVisitedValid; }
60
10.3k
        void SetVisitedValid( bool bNew ) { m_bVisitedValid = bNew; }
61
62
        bool IsProtect() const;
63
};
64
65
inline const SwTextNode& SwTextINetFormat::GetTextNode() const
66
0
{
67
0
    assert( m_pTextNode );
68
0
    return *m_pTextNode;
69
0
}
70
71
inline SwTextNode& SwTextINetFormat::GetTextNode()
72
21.4k
{
73
21.4k
    assert( m_pTextNode );
74
21.4k
    return *m_pTextNode;
75
21.4k
}
76
77
#endif
78
79
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */