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_DrawingDocumentDrawView_idl__
28#define __com_sun_star_drawing_DrawingDocumentDrawView_idl__
29
30#ifndef __com_sun_star_drawing_XDrawView_idl__
31#include <com/sun/star/drawing/XDrawView.idl>
32#endif
33
34#ifndef __com_sun_star_beans_XPropertySet_idl__
35#include <com/sun/star/beans/XPropertySet.idl>
36#endif
37
38#ifndef __com_sun_star_frame_Controller_idl__
39#include <com/sun/star/frame/Controller.idl>
40#endif
41
42#ifndef __com_sun_star_view_XSelectionSupplier_idl__
43#include <com/sun/star/view/XSelectionSupplier.idl>
44#endif
45
46#ifndef __com_sun_star_lang_XServiceInfo_idl__
47#include <com/sun/star/lang/XServiceInfo.idl>
48#endif
49
50#ifndef __com_sun_star_drawing_XDrawPage_idl__
51#include <com/sun/star/drawing/XDrawPage.idl>
52#endif
53
54#ifndef __com_sun_star_awt_XWindow_idl__
55#include <com/sun/star/awt/XWindow.idl>
56#endif
57
58#ifndef __com_sun_star_awt_Point_idl__
59#include <com/sun/star/awt/Point.idl>
60#endif
61
62//=============================================================================
63module com {  module sun {  module star {  module view {
64    published interface XFormLayerAccess;
65}; }; }; };
66
67//=============================================================================
68
69 module com {  module sun {  module star {  module drawing {
70
71//=============================================================================
72
73/** This componend integrates a view to a <type>DrawPage</type>s or
74	<type>MasterPage</type> from a <type>DrawingDocument</type>.
75 */
76published service DrawingDocumentDrawView
77{
78	//-------------------------------------------------------------------------
79
80	/** this services offers the  integration of this component into the
81		desktop.
82	*/
83	service com::sun::star::frame::Controller;
84
85	//-------------------------------------------------------------------------
86
87	/** lets you access the window for this view
88
89	    @since OOo 1.1.2
90	*/
91	[optional] interface com::sun::star::awt::XWindow;
92
93    /** let's you access the view part of the form layer contained in the document's view
94    */
95    [optional] interface com::sun::star::view::XFormLayerAccess;
96
97	//-------------------------------------------------------------------------
98
99	/** lets you set/get the current page displayed by this
100		view.
101	 */
102	interface com::sun::star::drawing::XDrawView;
103
104	//-------------------------------------------------------------------------
105
106
107	/** lets you access the properties of this service.
108	 */
109	interface com::sun::star::beans::XPropertySet;
110
111	//-------------------------------------------------------------------------
112
113
114	/** gives you access to the selected entities of this
115				view.
116	 */
117	interface com::sun::star::view::XSelectionSupplier;
118
119
120	//-------------------------------------------------------------------------
121
122	/** provides the names of the services implemented by
123				this instance.
124	 */
125	interface com::sun::star::lang::XServiceInfo;
126
127	//-------------------------------------------------------------------------
128
129	/** If the view is in masterpage mode, the view shows the masterpages
130		of this model.
131	 */
132	[property] boolean IsMasterPageMode;
133
134	//-------------------------------------------------------------------------
135
136	/** If the view is in layer mode, the user can modify the layer of the
137		model of this view in the user interface.
138	 */
139	[property] boolean IsLayerMode;
140
141
142	//-------------------------------------------------------------------------
143
144	/** This is the drawing page that is currently visible.
145	 */
146	[property] XDrawPage CurrentPage;
147
148	//-------------------------------------------------------------------------
149
150	/** This is the area that is currently visible.
151	 */
152	[readonly, property] com::sun::star::awt::Rectangle VisibleArea;
153
154	//-------------------------------------------------------------------------
155
156	/** This property defines the zoom type for the document.
157        @see com::sun::star::view::DocumentZoomType
158
159		Note: After setting other types then
160		<member scope="com::sun::star::view::DocumentZoomType">BY_VALUE</member>,
161		implementations may calculate the required zoom value and set the type
162		to <member scope="com::sun::star::view::DocumentZoomType">BY_VALUE</member>
163		afterwards.
164
165		@since OOo 1.1.2
166	*/
167   	[optional, property] short ZoomType;
168
169   	//-------------------------------------------------------------------------
170
171   	/** Defines the zoom value to use.
172        Valid only if the ZoomType is set to
173        <member scope="com::sun::star::view::DocumentZoomType">BY_VALUE</member>.
174
175		@since OOo 1.1.2
176	*/
177   	[optional, property] short ZoomValue;
178
179   	//-------------------------------------------------------------------------
180
181	/** defines the offset from the top left position of the displayed page
182		to the top left position of the view area in 100th/mm.
183
184		@since OOo 1.1.2
185	*/
186	[optional, property] com::sun::star::awt::Point ViewOffset;
187
188    /** The sub controller takes over view specific handling of properties,
189        the selection, and the current page/slide.
190
191        The following line is commented because XDrawSubController is not
192        (yet) published and the IDL compiler does not allow that.
193
194        [optional, property] ::com::sun::star::drawing::XDrawSubController SubController;
195    */
196};
197
198//=============================================================================
199
200}; }; }; };
201
202#endif
203
204