1*c45d927aSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*c45d927aSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*c45d927aSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*c45d927aSAndrew Rist  * distributed with this work for additional information
6*c45d927aSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*c45d927aSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*c45d927aSAndrew Rist  * "License"); you may not use this file except in compliance
9*c45d927aSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*c45d927aSAndrew Rist  *
11*c45d927aSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*c45d927aSAndrew Rist  *
13*c45d927aSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*c45d927aSAndrew Rist  * software distributed under the License is distributed on an
15*c45d927aSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*c45d927aSAndrew Rist  * KIND, either express or implied.  See the License for the
17*c45d927aSAndrew Rist  * specific language governing permissions and limitations
18*c45d927aSAndrew Rist  * under the License.
19*c45d927aSAndrew Rist  *
20*c45d927aSAndrew Rist  *************************************************************/
21*c45d927aSAndrew Rist 
22*c45d927aSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef _SD_CUSTOMANIMATIONDIALOG_HXX
25cdf0e10cSrcweir #define _SD_CUSTOMANIMATIONDIALOG_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include "CustomAnimationEffect.hxx"
28cdf0e10cSrcweir #include "CustomAnimationPreset.hxx"
29cdf0e10cSrcweir #include <vcl/tabdlg.hxx>
30cdf0e10cSrcweir #include <vcl/lstbox.hxx>
31cdf0e10cSrcweir 
32cdf0e10cSrcweir class TabControl;
33cdf0e10cSrcweir class OKButton;
34cdf0e10cSrcweir class CancelButton;
35cdf0e10cSrcweir class HelpButton;
36cdf0e10cSrcweir namespace sd {
37cdf0e10cSrcweir 
38cdf0e10cSrcweir 
39cdf0e10cSrcweir // --------------------------------------------------------------------
40cdf0e10cSrcweir 
41cdf0e10cSrcweir // property handles
42cdf0e10cSrcweir const sal_Int32 nHandleSound = 0;
43cdf0e10cSrcweir const sal_Int32 nHandleHasAfterEffect = 1;
44cdf0e10cSrcweir const sal_Int32 nHandleIterateType = 2;
45cdf0e10cSrcweir const sal_Int32 nHandleIterateInterval = 3;
46cdf0e10cSrcweir const sal_Int32 nHandleStart = 4;
47cdf0e10cSrcweir const sal_Int32 nHandleBegin = 5;
48cdf0e10cSrcweir const sal_Int32 nHandleDuration = 6;
49cdf0e10cSrcweir const sal_Int32 nHandleRepeat = 7;
50cdf0e10cSrcweir const sal_Int32 nHandleRewind = 8;
51cdf0e10cSrcweir const sal_Int32 nHandleEnd = 9;
52cdf0e10cSrcweir const sal_Int32 nHandleAfterEffectOnNextEffect = 10;
53cdf0e10cSrcweir const sal_Int32 nHandleDimColor = 11;
54cdf0e10cSrcweir const sal_Int32 nHandleMaxParaDepth = 12;
55cdf0e10cSrcweir const sal_Int32 nHandlePresetId = 13;
56cdf0e10cSrcweir const sal_Int32 nHandleProperty1Type = 14;
57cdf0e10cSrcweir const sal_Int32 nHandleProperty1Value = 15;
58cdf0e10cSrcweir const sal_Int32 nHandleProperty2Type = 16;
59cdf0e10cSrcweir const sal_Int32 nHandleProperty2Value = 17;
60cdf0e10cSrcweir 
61cdf0e10cSrcweir const sal_Int32 nHandleAccelerate = 18;
62cdf0e10cSrcweir const sal_Int32 nHandleDecelerate = 19;
63cdf0e10cSrcweir const sal_Int32 nHandleAutoReverse = 20;
64cdf0e10cSrcweir const sal_Int32 nHandleTrigger = 21;
65cdf0e10cSrcweir 
66cdf0e10cSrcweir const sal_Int32 nHandleHasText = 22;
67cdf0e10cSrcweir const sal_Int32 nHandleTextGrouping = 23;
68cdf0e10cSrcweir const sal_Int32 nHandleAnimateForm = 24;
69cdf0e10cSrcweir const sal_Int32 nHandleTextGroupingAuto = 25;
70cdf0e10cSrcweir const sal_Int32 nHandleTextReverse = 26;
71cdf0e10cSrcweir 
72cdf0e10cSrcweir const sal_Int32 nHandleCurrentPage = 27;
73cdf0e10cSrcweir const sal_Int32 nHandleSoundURL = 28;
74cdf0e10cSrcweir const sal_Int32 nHandleSoundVolumne = 29;
75cdf0e10cSrcweir const sal_Int32 nHandleSoundEndAfterSlide = 30;
76cdf0e10cSrcweir 
77cdf0e10cSrcweir const sal_Int32 nHandleCommand = 31;
78cdf0e10cSrcweir 
79cdf0e10cSrcweir const sal_Int32 nHandleHasVisibleShape = 32;
80cdf0e10cSrcweir 
81cdf0e10cSrcweir const sal_Int32 nPropertyTypeNone = 0;
82cdf0e10cSrcweir const sal_Int32 nPropertyTypeDirection = 1;
83cdf0e10cSrcweir const sal_Int32 nPropertyTypeSpokes = 2;
84cdf0e10cSrcweir const sal_Int32 nPropertyTypeFirstColor = 3;
85cdf0e10cSrcweir const sal_Int32 nPropertyTypeSecondColor = 4;
86cdf0e10cSrcweir const sal_Int32 nPropertyTypeZoom = 5;
87cdf0e10cSrcweir const sal_Int32 nPropertyTypeFillColor = 6;
88cdf0e10cSrcweir const sal_Int32 nPropertyTypeColorStyle = 7;
89cdf0e10cSrcweir const sal_Int32 nPropertyTypeFont = 8;
90cdf0e10cSrcweir const sal_Int32 nPropertyTypeCharHeight = 9;
91cdf0e10cSrcweir const sal_Int32 nPropertyTypeCharColor = 10;
92cdf0e10cSrcweir const sal_Int32 nPropertyTypeCharHeightStyle = 11;
93cdf0e10cSrcweir const sal_Int32 nPropertyTypeCharDecoration = 12;
94cdf0e10cSrcweir const sal_Int32 nPropertyTypeLineColor = 13;
95cdf0e10cSrcweir const sal_Int32 nPropertyTypeRotate = 14;
96cdf0e10cSrcweir const sal_Int32 nPropertyTypeColor = 15;
97cdf0e10cSrcweir const sal_Int32 nPropertyTypeAccelerate = 16;
98cdf0e10cSrcweir const sal_Int32 nPropertyTypeDecelerate = 17;
99cdf0e10cSrcweir const sal_Int32 nPropertyTypeAutoReverse = 18;
100cdf0e10cSrcweir const sal_Int32 nPropertyTypeTransparency = 19;
101cdf0e10cSrcweir const sal_Int32 nPropertyTypeFontStyle = 20;
102cdf0e10cSrcweir const sal_Int32 nPropertyTypeScale = 21;
103cdf0e10cSrcweir 
104cdf0e10cSrcweir // --------------------------------------------------------------------
105cdf0e10cSrcweir 
106cdf0e10cSrcweir class PropertySubControl
107cdf0e10cSrcweir {
108cdf0e10cSrcweir public:
PropertySubControl(sal_Int32 nType)109cdf0e10cSrcweir 	PropertySubControl( sal_Int32 nType ) : mnType( nType ) {}
110cdf0e10cSrcweir 	virtual	~PropertySubControl();
111cdf0e10cSrcweir 
112cdf0e10cSrcweir 	virtual				::com::sun::star::uno::Any getValue() = 0;
113cdf0e10cSrcweir 	virtual				void setValue( const ::com::sun::star::uno::Any& rValue, const rtl::OUString& rPresetId ) = 0;
114cdf0e10cSrcweir 
115cdf0e10cSrcweir 	virtual Control*	getControl() = 0;
116cdf0e10cSrcweir 
117cdf0e10cSrcweir 	static PropertySubControl*
118cdf0e10cSrcweir 						create(	sal_Int32 nType,
119cdf0e10cSrcweir 								::Window* pParent,
120cdf0e10cSrcweir 								const ::com::sun::star::uno::Any& rValue,
121cdf0e10cSrcweir 								const rtl::OUString& rPresetId,
122cdf0e10cSrcweir 								const Link& rModifyHdl );
123cdf0e10cSrcweir 
getControlType() const124cdf0e10cSrcweir 	sal_Int32 getControlType() const { return mnType; }
125cdf0e10cSrcweir 
126cdf0e10cSrcweir protected:
127cdf0e10cSrcweir 	sal_Int32			mnType;
128cdf0e10cSrcweir };
129cdf0e10cSrcweir 
130cdf0e10cSrcweir // --------------------------------------------------------------------
131cdf0e10cSrcweir 
132cdf0e10cSrcweir class PropertyControl : public ListBox
133cdf0e10cSrcweir {
134cdf0e10cSrcweir public:
135cdf0e10cSrcweir 	PropertyControl( Window* pParent, const ResId& rResId );
136cdf0e10cSrcweir 	~PropertyControl();
137cdf0e10cSrcweir 
138cdf0e10cSrcweir 	void setSubControl( PropertySubControl* pSubControl );
getSubControl() const139cdf0e10cSrcweir 	PropertySubControl* getSubControl() const { return mpSubControl; }
140cdf0e10cSrcweir 
141cdf0e10cSrcweir     virtual void Resize();
142cdf0e10cSrcweir 
143cdf0e10cSrcweir private:
144cdf0e10cSrcweir 	PropertySubControl* mpSubControl;
145cdf0e10cSrcweir };
146cdf0e10cSrcweir 
147cdf0e10cSrcweir // --------------------------------------------------------------------
148cdf0e10cSrcweir 
149cdf0e10cSrcweir class CustomAnimationDurationTabPage;
150cdf0e10cSrcweir class CustomAnimationEffectTabPage;
151cdf0e10cSrcweir class CustomAnimationTextAnimTabPage;
152cdf0e10cSrcweir class STLPropertySet;
153cdf0e10cSrcweir 
154cdf0e10cSrcweir class CustomAnimationDialog : public TabDialog
155cdf0e10cSrcweir {
156cdf0e10cSrcweir public:
157cdf0e10cSrcweir 	CustomAnimationDialog( Window* pParent, STLPropertySet* pSet, sal_uInt16 nPage = 0 );
158cdf0e10cSrcweir 	~CustomAnimationDialog();
159cdf0e10cSrcweir 
getDefaultSet()160cdf0e10cSrcweir 	STLPropertySet* getDefaultSet() { return mpSet; }
161cdf0e10cSrcweir 	STLPropertySet* getResultSet();
162cdf0e10cSrcweir 
163cdf0e10cSrcweir 	static STLPropertySet* createDefaultSet();
164cdf0e10cSrcweir 
165cdf0e10cSrcweir private:
166cdf0e10cSrcweir 	STLPropertySet* mpSet;
167cdf0e10cSrcweir 	STLPropertySet* mpResultSet;
168cdf0e10cSrcweir 
169cdf0e10cSrcweir 	CustomAnimationEffectPtr mpEffect;
170cdf0e10cSrcweir 	TabControl* mpTabControl;
171cdf0e10cSrcweir 	OKButton* mpOKButton;
172cdf0e10cSrcweir 	CancelButton* mpCancelButton;
173cdf0e10cSrcweir 	HelpButton* mpHelpButton;
174cdf0e10cSrcweir 
175cdf0e10cSrcweir 	CustomAnimationDurationTabPage* mpDurationTabPage;
176cdf0e10cSrcweir 	CustomAnimationEffectTabPage* mpEffectTabPage;
177cdf0e10cSrcweir 	CustomAnimationTextAnimTabPage* mpTextAnimTabPage;
178cdf0e10cSrcweir };
179cdf0e10cSrcweir 
180cdf0e10cSrcweir }
181cdf0e10cSrcweir 
182cdf0e10cSrcweir #endif // _SD_CUSTOMANIMATIONDIALOG_HXX
183