LibreOffice Module sd (master) 1
CustomAnimationDialog.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/weld.hxx>
23
24namespace sd {
25
26// property handles
27const sal_Int32 nHandleSound = 0;
28const sal_Int32 nHandleHasAfterEffect = 1;
29const sal_Int32 nHandleIterateType = 2;
30const sal_Int32 nHandleIterateInterval = 3;
31const sal_Int32 nHandleStart = 4;
32const sal_Int32 nHandleBegin = 5;
33const sal_Int32 nHandleDuration = 6;
34const sal_Int32 nHandleRepeat = 7;
35const sal_Int32 nHandleRewind = 8;
36const sal_Int32 nHandleEnd = 9;
37const sal_Int32 nHandleAfterEffectOnNextEffect = 10;
38const sal_Int32 nHandleDimColor = 11;
39const sal_Int32 nHandleMaxParaDepth = 12;
40const sal_Int32 nHandlePresetId = 13;
41const sal_Int32 nHandleProperty1Type = 14;
42const sal_Int32 nHandleProperty1Value = 15;
43const sal_Int32 nHandleProperty2Type = 16;
44const sal_Int32 nHandleProperty2Value = 17;
45
46const sal_Int32 nHandleAccelerate = 18;
47const sal_Int32 nHandleDecelerate = 19;
48const sal_Int32 nHandleAutoReverse = 20;
49const sal_Int32 nHandleTrigger = 21;
50
51const sal_Int32 nHandleHasText = 22;
52const sal_Int32 nHandleTextGrouping = 23;
53const sal_Int32 nHandleAnimateForm = 24;
54const sal_Int32 nHandleTextGroupingAuto = 25;
55const sal_Int32 nHandleTextReverse = 26;
56
57const sal_Int32 nHandleCurrentPage = 27;
58const sal_Int32 nHandleSoundURL = 28;
59const sal_Int32 nHandleSoundVolume = 29;
60const sal_Int32 nHandleSoundEndAfterSlide = 30;
61
62const sal_Int32 nHandleCommand = 31;
63
64const sal_Int32 nHandleHasVisibleShape = 32;
65
66const sal_Int32 nPropertyTypeNone = 0;
67const sal_Int32 nPropertyTypeDirection = 1;
68const sal_Int32 nPropertyTypeSpokes = 2;
69const sal_Int32 nPropertyTypeFirstColor = 3;
70const sal_Int32 nPropertyTypeSecondColor = 4;
71const sal_Int32 nPropertyTypeZoom = 5;
72const sal_Int32 nPropertyTypeFillColor = 6;
73const sal_Int32 nPropertyTypeColorStyle = 7;
74const sal_Int32 nPropertyTypeFont = 8;
75const sal_Int32 nPropertyTypeCharHeight = 9;
76const sal_Int32 nPropertyTypeCharColor = 10;
77const sal_Int32 nPropertyTypeCharHeightStyle = 11;
78const sal_Int32 nPropertyTypeCharDecoration = 12;
79const sal_Int32 nPropertyTypeLineColor = 13;
80const sal_Int32 nPropertyTypeRotate = 14;
81const sal_Int32 nPropertyTypeColor = 15;
82const sal_Int32 nPropertyTypeAccelerate = 16;
83const sal_Int32 nPropertyTypeDecelerate = 17;
84const sal_Int32 nPropertyTypeAutoReverse = 18;
85const sal_Int32 nPropertyTypeTransparency = 19;
86const sal_Int32 nPropertyTypeFontStyle = 20;
87const sal_Int32 nPropertyTypeScale = 21;
88
90{
91public:
92 explicit SdPropertySubControl(weld::Container* pParent);
93 virtual ~SdPropertySubControl();
94
95 virtual css::uno::Any getValue() = 0;
96 virtual void setValue( const css::uno::Any& rValue, const OUString& rPresetId ) = 0;
97
98 static std::unique_ptr<SdPropertySubControl>
99 create( sal_Int32 nType,
100 weld::Label* pLabel,
101 weld::Container* pParent,
102 weld::Window* pTopLevel,
103 const css::uno::Any& rValue,
104 const OUString& rPresetId,
105 const Link<LinkParamNone*,void>& rModifyHdl );
106
107protected:
108 std::unique_ptr<weld::Builder> mxBuilder;
109 std::unique_ptr<weld::Container> mxContainer;
111};
112
116class STLPropertySet;
117
119{
120public:
121 CustomAnimationDialog(weld::Window* pParent, std::unique_ptr<STLPropertySet> pSet, const OUString& Page);
122 virtual ~CustomAnimationDialog() override;
123
125 STLPropertySet* getPropertySet() const { return mxSet.get(); }
126
127 static std::unique_ptr<STLPropertySet> createDefaultSet();
128
129private:
130 std::unique_ptr<STLPropertySet> mxSet;
131 std::unique_ptr<STLPropertySet> mxResultSet;
132
133 std::unique_ptr<weld::Notebook> mxTabControl;
134 std::unique_ptr<CustomAnimationDurationTabPage> mxDurationTabPage;
135 std::unique_ptr<CustomAnimationEffectTabPage> mxEffectTabPage;
136 std::unique_ptr<CustomAnimationTextAnimTabPage> mxTextAnimTabPage;
137};
138
139}
140
141/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Page
STLPropertySet * getPropertySet() const
std::unique_ptr< STLPropertySet > mxSet
std::unique_ptr< CustomAnimationEffectTabPage > mxEffectTabPage
std::unique_ptr< STLPropertySet > mxResultSet
std::unique_ptr< CustomAnimationTextAnimTabPage > mxTextAnimTabPage
CustomAnimationDialog(weld::Window *pParent, std::unique_ptr< STLPropertySet > pSet, const OUString &Page)
static std::unique_ptr< STLPropertySet > createDefaultSet()
std::unique_ptr< CustomAnimationDurationTabPage > mxDurationTabPage
virtual ~CustomAnimationDialog() override
std::unique_ptr< weld::Notebook > mxTabControl
virtual css::uno::Any getValue()=0
SdPropertySubControl(weld::Container *pParent)
static std::unique_ptr< SdPropertySubControl > create(sal_Int32 nType, weld::Label *pLabel, weld::Container *pParent, weld::Window *pTopLevel, const css::uno::Any &rValue, const OUString &rPresetId, const Link< LinkParamNone *, void > &rModifyHdl)
std::unique_ptr< weld::Container > mxContainer
virtual void setValue(const css::uno::Any &rValue, const OUString &rPresetId)=0
std::unique_ptr< weld::Builder > mxBuilder
const sal_Int32 nHandleEnd
const sal_Int32 nPropertyTypeFillColor
const sal_Int32 nHandleTrigger
const sal_Int32 nPropertyTypeDirection
const sal_Int32 nHandleProperty1Type
const sal_Int32 nHandleIterateType
const sal_Int32 nPropertyTypeAutoReverse
const sal_Int32 nHandleRepeat
const sal_Int32 nPropertyTypeZoom
const sal_Int32 nPropertyTypeScale
const sal_Int32 nPropertyTypeFont
const sal_Int32 nHandleCurrentPage
const sal_Int32 nPropertyTypeSpokes
const sal_Int32 nHandleProperty2Value
const sal_Int32 nPropertyTypeColorStyle
const sal_Int32 nHandleBegin
const sal_Int32 nPropertyTypeCharHeightStyle
const sal_Int32 nPropertyTypeSecondColor
const sal_Int32 nHandleDimColor
const sal_Int32 nPropertyTypeLineColor
const sal_Int32 nHandleAccelerate
const sal_Int32 nHandleSoundVolume
const sal_Int32 nPropertyTypeColor
const sal_Int32 nHandleAfterEffectOnNextEffect
const sal_Int32 nHandlePresetId
const sal_Int32 nHandleSoundURL
const sal_Int32 nHandleTextGroupingAuto
const sal_Int32 nHandleDecelerate
const sal_Int32 nHandleSound
const sal_Int32 nPropertyTypeFontStyle
const sal_Int32 nHandleTextGrouping
const sal_Int32 nPropertyTypeFirstColor
const sal_Int32 nHandleIterateInterval
const sal_Int32 nHandleStart
const sal_Int32 nHandleHasVisibleShape
const sal_Int32 nPropertyTypeCharDecoration
const sal_Int32 nHandleHasText
const sal_Int32 nPropertyTypeCharHeight
const sal_Int32 nHandleAutoReverse
const sal_Int32 nHandleRewind
const sal_Int32 nHandleMaxParaDepth
const sal_Int32 nHandleProperty1Value
const sal_Int32 nPropertyTypeRotate
const sal_Int32 nHandleDuration
const sal_Int32 nPropertyTypeAccelerate
const sal_Int32 nHandleSoundEndAfterSlide
const sal_Int32 nHandleTextReverse
const sal_Int32 nPropertyTypeCharColor
const sal_Int32 nHandleProperty2Type
const sal_Int32 nHandleAnimateForm
const sal_Int32 nHandleCommand
const sal_Int32 nPropertyTypeDecelerate
const sal_Int32 nPropertyTypeNone
const sal_Int32 nHandleHasAfterEffect
const sal_Int32 nPropertyTypeTransparency