summaryrefslogtreecommitdiffstats
path: root/sd/source/ui/inc/unoaprms.hxx
blob: 9ad32766842a62d7e7aee3ff4846c77620438412 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

#pragma once

#include <com/sun/star/presentation/AnimationEffect.hpp>
#include <com/sun/star/presentation/AnimationSpeed.hpp>
#include <com/sun/star/presentation/ClickAction.hpp>
#include <sdundo.hxx>
#include <tools/color.hxx>

class SdDrawDocument;
class SdrObject;

class SdAnimationPrmsUndoAction final : public SdUndoAction
{
    SdrObject*      pObject;
    bool            bOldActive;
    bool            bNewActive;
    bool            bOldDimPrevious;
    bool            bNewDimPrevious;
    bool            bOldDimHide;
    bool            bNewDimHide;
    bool            bOldSoundOn;
    bool            bNewSoundOn;
    bool            bOldSecondSoundOn;
    bool            bNewSecondSoundOn;
    bool            bOldPlayFull;
    bool            bNewPlayFull;
    bool            bOldSecondPlayFull;
    bool            bNewSecondPlayFull;
    css::presentation::AnimationEffect eOldEffect;
    css::presentation::AnimationEffect eNewEffect;
    css::presentation::AnimationEffect eOldTextEffect;
    css::presentation::AnimationEffect eNewTextEffect;
    css::presentation::AnimationSpeed  eOldSpeed;
    css::presentation::AnimationSpeed  eNewSpeed;
    css::presentation::AnimationEffect eOldSecondEffect;
    css::presentation::AnimationEffect eNewSecondEffect;
    css::presentation::AnimationSpeed  eOldSecondSpeed;
    css::presentation::AnimationSpeed  eNewSecondSpeed;
    Color           aOldDimColor;
    Color           aNewDimColor;
    OUString        aOldSoundFile;
    OUString        aNewSoundFile;
    css::presentation::ClickAction     eOldClickAction;
    css::presentation::ClickAction     eNewClickAction;
    OUString        aOldBookmark;
    OUString        aNewBookmark;
    sal_uInt16          nOldVerb;
    sal_uInt16          nNewVerb;

    bool            bInfoCreated;

public:
    SdAnimationPrmsUndoAction(SdDrawDocument* pTheDoc, SdrObject* pObj,
                                  bool bCreated)
        : SdUndoAction(pTheDoc)
        , pObject(pObj)
        , bOldActive(false)
        , bNewActive(false)
        , bOldDimPrevious(false)
        , bNewDimPrevious(false)
        , bOldDimHide(false)
        , bNewDimHide(false)
        , bOldSoundOn(false)
        , bNewSoundOn(false)
        , bOldSecondSoundOn(false)
        , bNewSecondSoundOn(false)
        , bOldPlayFull(false)
        , bNewPlayFull(false)
        , bOldSecondPlayFull(false)
        , bNewSecondPlayFull(false)
        , eOldEffect(css::presentation::AnimationEffect_NONE)
        , eNewEffect(css::presentation::AnimationEffect_NONE)
        , eOldTextEffect(css::presentation::AnimationEffect_NONE)
        , eNewTextEffect(css::presentation::AnimationEffect_NONE)
        , eOldSpeed(css::presentation::AnimationSpeed_SLOW)
        , eNewSpeed(css::presentation::AnimationSpeed_SLOW)
        , eOldSecondEffect(css::presentation::AnimationEffect_NONE)
        , eNewSecondEffect(css::presentation::AnimationEffect_NONE)
        , eOldSecondSpeed(css::presentation::AnimationSpeed_SLOW)
        , eNewSecondSpeed(css::presentation::AnimationSpeed_SLOW)
        , eOldClickAction(css::presentation::ClickAction_NONE)
        , eNewClickAction(css::presentation::ClickAction_NONE)
        , nOldVerb(0)
        , nNewVerb(0)
        , bInfoCreated(bCreated)
    {
    }

        void SetActive(bool bTheOldActive, bool bTheNewActive)
            { bOldActive = bTheOldActive; bNewActive = bTheNewActive; }
        void SetEffect(css::presentation::AnimationEffect eTheOldEffect, css::presentation::AnimationEffect eTheNewEffect)
            { eOldEffect = eTheOldEffect; eNewEffect = eTheNewEffect; }
        void SetTextEffect(css::presentation::AnimationEffect eTheOldEffect, css::presentation::AnimationEffect eTheNewEffect)
            { eOldTextEffect = eTheOldEffect; eNewTextEffect = eTheNewEffect; }
        void SetSpeed(css::presentation::AnimationSpeed eTheOldSpeed, css::presentation::AnimationSpeed eTheNewSpeed)
            { eOldSpeed = eTheOldSpeed; eNewSpeed = eTheNewSpeed; }
        void SetDim(bool bTheOldDim, bool bTheNewDim)
            { bOldDimPrevious = bTheOldDim; bNewDimPrevious = bTheNewDim; }
        void SetDimColor(Color aTheOldDimColor, Color aTheNewDimColor)
            { aOldDimColor = aTheOldDimColor; aNewDimColor = aTheNewDimColor; }
        void SetDimHide(bool bTheOldDimHide, bool bTheNewDimHide)
            { bOldDimHide = bTheOldDimHide; bNewDimHide = bTheNewDimHide; }
        void SetSoundOn(bool bTheOldSoundOn, bool bTheNewSoundOn)
            { bOldSoundOn = bTheOldSoundOn; bNewSoundOn = bTheNewSoundOn; }
        void SetSound(const OUString& aTheOldSound, const OUString& aTheNewSound)
            { aOldSoundFile = aTheOldSound; aNewSoundFile = aTheNewSound; }
        void SetPlayFull(bool bTheOldPlayFull, bool bTheNewPlayFull)
            { bOldPlayFull = bTheOldPlayFull; bNewPlayFull = bTheNewPlayFull; }
        void SetClickAction(css::presentation::ClickAction eTheOldAction, css::presentation::ClickAction eTheNewAction)
            { eOldClickAction = eTheOldAction; eNewClickAction = eTheNewAction; }
        void SetBookmark(const OUString& aTheOldBookmark, const OUString& aTheNewBookmark)
            { aOldBookmark = aTheOldBookmark; aNewBookmark = aTheNewBookmark; }
        void SetVerb(sal_uInt16 nTheOldVerb, sal_uInt16 nTheNewVerb)
            { nOldVerb = nTheOldVerb; nNewVerb = nTheNewVerb; }
        void SetSecondEffect(css::presentation::AnimationEffect eTheOldEffect, css::presentation::AnimationEffect eTheNewEffect)
            { eOldSecondEffect = eTheOldEffect; eNewSecondEffect = eTheNewEffect; }
        void SetSecondSpeed(css::presentation::AnimationSpeed eTheOldSpeed, css::presentation::AnimationSpeed eTheNewSpeed)
            { eOldSecondSpeed = eTheOldSpeed; eNewSecondSpeed = eTheNewSpeed; }
        void SetSecondSoundOn(bool bTheOldSoundOn, bool bTheNewSoundOn)
            { bOldSecondSoundOn = bTheOldSoundOn; bNewSecondSoundOn = bTheNewSoundOn; }
        void SetSecondPlayFull(bool bTheOldPlayFull, bool bTheNewPlayFull)
            { bOldSecondPlayFull = bTheOldPlayFull; bNewSecondPlayFull = bTheNewPlayFull; }

    virtual ~SdAnimationPrmsUndoAction() override;
    virtual void Undo() override;
    virtual void Redo() override;
};

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */