1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#ifndef __com_sun_star_drawing_DrawingDocumentDrawView_idl__
24#define __com_sun_star_drawing_DrawingDocumentDrawView_idl__
25
26#ifndef __com_sun_star_drawing_XDrawView_idl__
27#include <com/sun/star/drawing/XDrawView.idl>
28#endif
29
30#ifndef __com_sun_star_beans_XPropertySet_idl__
31#include <com/sun/star/beans/XPropertySet.idl>
32#endif
33
34#ifndef __com_sun_star_frame_Controller_idl__
35#include <com/sun/star/frame/Controller.idl>
36#endif
37
38#ifndef __com_sun_star_view_XSelectionSupplier_idl__
39#include <com/sun/star/view/XSelectionSupplier.idl>
40#endif
41
42#ifndef __com_sun_star_lang_XServiceInfo_idl__
43#include <com/sun/star/lang/XServiceInfo.idl>
44#endif
45
46#ifndef __com_sun_star_drawing_XDrawPage_idl__
47#include <com/sun/star/drawing/XDrawPage.idl>
48#endif
49
50#ifndef __com_sun_star_awt_XWindow_idl__
51#include <com/sun/star/awt/XWindow.idl>
52#endif
53
54#ifndef __com_sun_star_awt_Point_idl__
55#include <com/sun/star/awt/Point.idl>
56#endif
57
58//=============================================================================
59module com {  module sun {  module star {  module view {
60    published interface XFormLayerAccess;
61}; }; }; };
62
63//=============================================================================
64
65 module com {  module sun {  module star {  module drawing {
66
67//=============================================================================
68
69/** This componend integrates a view to a <type>DrawPage</type>s or
70	<type>MasterPage</type> from a <type>DrawingDocument</type>.
71 */
72published service DrawingDocumentDrawView
73{
74	//-------------------------------------------------------------------------
75
76	/** this services offers the  integration of this component into the
77		desktop.
78	*/
79	service com::sun::star::frame::Controller;
80
81	//-------------------------------------------------------------------------
82
83	/** lets you access the window for this view
84
85	    @since OpenOffice 1.1.2
86	*/
87	[optional] interface com::sun::star::awt::XWindow;
88
89    /** let's you access the view part of the form layer contained in the document's view
90    */
91    [optional] interface com::sun::star::view::XFormLayerAccess;
92
93	//-------------------------------------------------------------------------
94
95	/** lets you set/get the current page displayed by this
96		view.
97	 */
98	interface com::sun::star::drawing::XDrawView;
99
100	//-------------------------------------------------------------------------
101
102
103	/** lets you access the properties of this service.
104	 */
105	interface com::sun::star::beans::XPropertySet;
106
107	//-------------------------------------------------------------------------
108
109
110	/** gives you access to the selected entities of this
111				view.
112	 */
113	interface com::sun::star::view::XSelectionSupplier;
114
115
116	//-------------------------------------------------------------------------
117
118	/** provides the names of the services implemented by
119				this instance.
120	 */
121	interface com::sun::star::lang::XServiceInfo;
122
123	//-------------------------------------------------------------------------
124
125	/** If the view is in masterpage mode, the view shows the masterpages
126		of this model.
127	 */
128	[property] boolean IsMasterPageMode;
129
130	//-------------------------------------------------------------------------
131
132	/** If the view is in layer mode, the user can modify the layer of the
133		model of this view in the user interface.
134	 */
135	[property] boolean IsLayerMode;
136
137
138	//-------------------------------------------------------------------------
139
140	/** This is the drawing page that is currently visible.
141	 */
142	[property] XDrawPage CurrentPage;
143
144	//-------------------------------------------------------------------------
145
146	/** This is the area that is currently visible.
147	 */
148	[readonly, property] com::sun::star::awt::Rectangle VisibleArea;
149
150	//-------------------------------------------------------------------------
151
152	/** This property defines the zoom type for the document.
153        @see com::sun::star::view::DocumentZoomType
154
155		Note: After setting other types then
156		<member scope="com::sun::star::view::DocumentZoomType">BY_VALUE</member>,
157		implementations may calculate the required zoom value and set the type
158		to <member scope="com::sun::star::view::DocumentZoomType">BY_VALUE</member>
159		afterwards.
160
161		@since OpenOffice 1.1.2
162	*/
163   	[optional, property] short ZoomType;
164
165   	//-------------------------------------------------------------------------
166
167   	/** Defines the zoom value to use.
168        Valid only if the ZoomType is set to
169        <member scope="com::sun::star::view::DocumentZoomType">BY_VALUE</member>.
170
171		@since OpenOffice 1.1.2
172	*/
173   	[optional, property] short ZoomValue;
174
175   	//-------------------------------------------------------------------------
176
177	/** defines the offset from the top left position of the displayed page
178		to the top left position of the view area in 100th/mm.
179
180		@since OpenOffice 1.1.2
181	*/
182	[optional, property] com::sun::star::awt::Point ViewOffset;
183
184    /** The sub controller takes over view specific handling of properties,
185        the selection, and the current page/slide.
186
187        The following line is commented because XDrawSubController is not
188        (yet) published and the IDL compiler does not allow that.
189
190        [optional, property] ::com::sun::star::drawing::XDrawSubController SubController;
191    */
192};
193
194//=============================================================================
195
196}; }; }; };
197
198#endif
199
200