Coverage Report

Created: 2025-11-16 09:57

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/editeng/source/outliner/outlundo.hxx
Line
Count
Source
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 <editeng/outliner.hxx>
23
#include <editeng/editund2.hxx>
24
25
class OutlinerUndoBase : public EditUndo
26
{
27
private:
28
    Outliner*   mpOutliner;
29
30
public:
31
                OutlinerUndoBase( sal_uInt16 nId, Outliner* pOutliner );
32
33
0
    Outliner*   GetOutliner() const { return mpOutliner; }
34
};
35
36
class OutlinerUndoChangeParaFlags : public OutlinerUndoBase
37
{
38
private:
39
    sal_Int32       mnPara;
40
    ParaFlag        mnOldFlags;
41
    ParaFlag        mnNewFlags;
42
43
    void ImplChangeFlags( ParaFlag nFlags );
44
45
public:
46
    OutlinerUndoChangeParaFlags( Outliner* pOutliner, sal_Int32 nPara, ParaFlag nOldFlags, ParaFlag nNewFlags );
47
48
    virtual void    Undo() override;
49
    virtual void    Redo() override;
50
};
51
52
class OutlinerUndoChangeParaNumberingRestart : public OutlinerUndoBase
53
{
54
private:
55
    sal_Int32       mnPara;
56
57
    struct ParaRestartData
58
    {
59
        sal_Int16       mnNumberingStartValue;
60
        bool        mbParaIsNumberingRestart;
61
    };
62
63
    ParaRestartData maUndoData;
64
    ParaRestartData maRedoData;
65
66
    void ImplApplyData( const ParaRestartData& rData );
67
public:
68
    OutlinerUndoChangeParaNumberingRestart( Outliner* pOutliner, sal_Int32 nPara,
69
        sal_Int16 nOldNumberingStartValue, sal_Int16 mnNewNumberingStartValue,
70
        bool  bOldbParaIsNumberingRestart, bool bNewParaIsNumberingRestart );
71
72
    virtual void    Undo() override;
73
    virtual void    Redo() override;
74
};
75
76
class OutlinerUndoChangeDepth : public OutlinerUndoBase
77
{
78
private:
79
    sal_Int32       mnPara;
80
    sal_Int16       mnOldDepth;
81
    sal_Int16       mnNewDepth;
82
83
public:
84
                    OutlinerUndoChangeDepth( Outliner* pOutliner, sal_Int32 nPara, sal_Int16 nOldDepth, sal_Int16 nNewDepth );
85
86
    virtual void    Undo() override;
87
    virtual void    Redo() override;
88
};
89
90
// Help-Undo: If it does not exist an OutlinerUndoAction for a certain action
91
// because this is handled by the EditEngine, but for example the bullet has
92
// to be recalculated.
93
class OutlinerUndoCheckPara : public OutlinerUndoBase
94
{
95
private:
96
    sal_Int32       mnPara;
97
98
public:
99
                    OutlinerUndoCheckPara( Outliner* pOutliner, sal_Int32 nPara );
100
101
    virtual void    Undo() override;
102
    virtual void    Redo() override;
103
};
104
105
class OLUndoExpand : public EditUndo
106
{
107
    void Restore( bool bUndo );
108
public:
109
    OLUndoExpand( Outliner* pOut, sal_uInt16 nId );
110
    virtual ~OLUndoExpand() override;
111
    virtual void Undo() override;
112
    virtual void Redo() override;
113
114
    Outliner* pOutliner;
115
    sal_Int32 nCount;
116
};
117
118
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */