1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_drawing_GenericDrawPage_idl__
28#define __com_sun_star_drawing_GenericDrawPage_idl__
29
30#ifndef __com_sun_star_drawing_XShapes_idl__
31#include <com/sun/star/drawing/XShapes.idl>
32#endif
33
34#ifndef __com_sun_star_drawing_XShapeGrouper_idl__
35#include <com/sun/star/drawing/XShapeGrouper.idl>
36#endif
37
38#ifndef __com_sun_star_drawing_XShapeCombiner_idl__
39#include <com/sun/star/drawing/XShapeCombiner.idl>
40#endif
41
42#ifndef __com_sun_star_drawing_XShapeBinder_idl__
43#include <com/sun/star/drawing/XShapeBinder.idl>
44#endif
45
46#ifndef __com_sun_star_container_XNamed_idl__
47#include <com/sun/star/container/XNamed.idl>
48#endif
49
50#ifndef __com_sun_star_lang_XServiceInfo_idl__
51#include <com/sun/star/lang/XServiceInfo.idl>
52#endif
53
54#ifndef __com_sun_star_beans_XPropertySet_idl__
55#include <com/sun/star/beans/XPropertySet.idl>
56#endif
57
58#ifndef __com_sun_star_view_PaperOrientation_idl__
59#include <com/sun/star/view/PaperOrientation.idl>
60#endif
61
62#ifndef __com_sun_star_container_XNameContainer_idl__
63#include <com/sun/star/container/XNameContainer.idl>
64#endif
65
66//=============================================================================
67
68 module com {  module sun {  module star {  module drawing {
69
70//=============================================================================
71
72// DocMerge from xml: service com::sun::star::drawing::GenericDrawPage
73/** This abstract service is implemented by every page of a
74	<type>DrawingDocument</type>.
75
76
77
78	@example create and insert a couple of <type>LineShape</type>s:
79
80	<listing>
81	xPage = xDoc.DrawPages(0)
82	for x% = 0 to 200
83	xShape = xProv.createInstance( "com::sun::star::drawing::LineShape" )
84	xShape.LineColor = rgb( 255, 0, n%+20 )
85	xShape.LineWidth = 20
86	xShape.Position = Point( x%, 2*x% )
87	xShape.Size = Size( 300-x%, 20 )
88	xPage.add( xShape )
89	next x%
90	</listing>
91 */
92published service GenericDrawPage
93{
94
95
96	// DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::drawing::XShapes
97	/** manages the <type>Shape</type>s of this page.
98
99				<p>It also lets you add new <type>Shape</type>s. The program currently
100				requires that these <type>Shape</type>s be created by the factory of
101				the	document.
102
103				@see	<type>DrawingDocument</type>
104	 */
105	interface com::sun::star::drawing::XShapes;
106
107
108	// DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::drawing::XShapeGrouper
109	/** With this interface you can group/ungroup a collection of
110				<type>Shape</type>s.
111	 */
112	interface com::sun::star::drawing::XShapeGrouper;
113
114
115	// DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::drawing::XShapeCombiner
116	/** With this interface you can combine/split a collection of
117				<type>Shape</type>s.
118	 */
119	[optional] interface com::sun::star::drawing::XShapeCombiner;
120
121
122	// DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::drawing::XShapeBinder
123	/** With this interface you can bind/unbind a collection of
124				<type>Shape</type>s.
125	 */
126	[optional] interface com::sun::star::drawing::XShapeBinder;
127
128
129	// DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::container::XNamed
130	/** Gets or sets the name of this page.
131
132				<p>Duplicated pagenames inside a document are not allowed.
133	 */
134	[optional] interface com::sun::star::container::XNamed;
135
136
137	// DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::lang::XServiceInfo
138	/** returns the services implemented by this
139				instance.
140	 */
141	interface com::sun::star::lang::XServiceInfo;
142
143
144	// DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::beans::XPropertySet
145	/** gives you access to the properties of this
146				<type>DrawPage</type>.
147	 */
148	[optional] interface com::sun::star::beans::XPropertySet;
149
150	//-------------------------------------------------------------------------
151
152	// DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::BorderBottom
153	/** This is the border at the bottom.
154	 */
155        [optional, property] long BorderBottom;
156
157	//-------------------------------------------------------------------------
158
159	// DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::BorderLeft
160	/** This is the border at the left.
161	 */
162        [optional, property] long BorderLeft;
163
164	//-------------------------------------------------------------------------
165
166	// DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::BorderRight
167	/** This is the border at the right.
168	 */
169        [optional, property] long BorderRight;
170
171	//-------------------------------------------------------------------------
172
173	// DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::BorderTop
174	/** This is the border at the top.
175	 */
176        [optional, property] long BorderTop;
177
178	//-------------------------------------------------------------------------
179
180	// DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::Height
181	/** This is the height.
182	 */
183        [optional, property] long Height;
184
185	//-------------------------------------------------------------------------
186
187	// DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::Width
188	/** This is the width.
189	 */
190        [optional, property] long Width;
191
192	//-------------------------------------------------------------------------
193
194	// DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::Number
195	/** This is the number of this page, starting with 1.
196	 */
197        [optional, readonly, property] short Number;
198
199	//-------------------------------------------------------------------------
200
201	// DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::Orientation
202	/** This is the orientation of this page.
203	 */
204        [optional, property] com::sun::star::view::PaperOrientation Orientation;
205
206	//-------------------------------------------------------------------------
207
208	/** this property stores xml attributes.
209		They will be saved to and restored from automatic styles inside xml files.
210
211		@see com::sun::star::xml::AttributeContainer
212	*/
213	[optional, property] com::sun::star::container::XNameContainer UserDefinedAttributes;
214
215	//-------------------------------------------------------------------------
216
217	/** this property is true if the avveraged background filling colors luminance
218		is belove an application specified threshold value. This can be used to
219		determine the actuall value of an auto color.
220	*/
221	[readonly, optional, property] boolean IsBackgroundDark;
222
223	//-------------------------------------------------------------------------
224
225	/** this index access defines a navigation order for the top level shapes
226		inside this page.
227		By default this is equal to the index access of the slide itself,
228		making the z-order the default navigation order for top level shapes.
229	*/
230	[optional, property] com::sun::star::container::XIndexAccess NavigationOrder;
231};
232
233//=============================================================================
234
235}; }; }; };
236
237#endif
238
239