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_GenericDrawingDocument_idl__
24#define __com_sun_star_drawing_GenericDrawingDocument_idl__
25
26#ifndef __com_sun_star_drawing_XDrawPageDuplicator_idl__
27#include <com/sun/star/drawing/XDrawPageDuplicator.idl>
28#endif
29
30#ifndef __com_sun_star_drawing_XDrawPagesSupplier_idl__
31#include <com/sun/star/drawing/XDrawPagesSupplier.idl>
32#endif
33
34#ifndef __com_sun_star_drawing_XMasterPagesSupplier_idl__
35#include <com/sun/star/drawing/XMasterPagesSupplier.idl>
36#endif
37
38#ifndef __com_sun_star_drawing_XLayerSupplier_idl__
39#include <com/sun/star/drawing/XLayerSupplier.idl>
40#endif
41
42#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
43#include <com/sun/star/lang/XMultiServiceFactory.idl>
44#endif
45
46#ifndef __com_sun_star_beans_XPropertySet_idl__
47#include <com/sun/star/beans/XPropertySet.idl>
48#endif
49
50#ifndef __com_sun_star_style_XStyleFamiliesSupplier_idl__
51#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
52#endif
53
54#ifndef __com_sun_star_lang_Locale_idl__
55#include <com/sun/star/lang/Locale.idl>
56#endif
57
58#ifndef __com_sun_star_awt_Rectangle_idl__
59#include <com/sun/star/awt/Rectangle.idl>
60#endif
61
62#ifndef __com_sun_star_i18n_XForbiddenCharacters_idl__
63#include <com/sun/star/i18n/XForbiddenCharacters.idl>
64#endif
65
66#ifndef __com_sun_star_document_OfficeDocument_idl__
67#include <com/sun/star/document/OfficeDocument.idl>
68#endif
69
70//=============================================================================
71
72 module com {  module sun {  module star {  module drawing {
73
74//=============================================================================
75
76/** specifies a document which consists of multiple pages
77    with drawings.
78
79    <p>Because its function is needed more then once, its defined as generic one.</p>
80 */
81published service GenericDrawingDocument
82{
83    /** this base service describes storing and printing */
84    service com::sun::star::document::OfficeDocument;
85
86    /** this factory lets you create various services that are
87        used inside a drawing document
88
89        <p>The following services are <type>Shape</type>s.
90        They are created by the documents factory and must
91        be inserted into a <type>DrawPage</type> or <type>MasterPage</type>
92        of this document.
93
94        <ul>
95            <li><type>RectangleShape</type></li>
96            <li><type>EllipseShape</type></li>
97            <li><type>ControlShape</type></li>
98            <li><type>ConnectorShape</type></li>
99            <li><type>MeasureShape</type></li>
100            <li><type>LineShape</type></li>
101            <li><type>PolyPolygonShape</type></li>
102            <li><type>PolyLineShape</type></li>
103            <li><type>OpenBezierShape</type></li>
104            <li><type>ClosedBezierShape</type></li>
105            <li><type>GraphicObjectShape</type></li>
106            <li><type>GroupShape</type></li>
107            <li><type>TextShape</type></li>
108            <li><type>OLE2Shape</type></li>
109            <li><type>PageShape</type></li>
110            <li><type>CaptionShape</type></li>
111            <li><type>PluginShape</type></li>
112            <li><type>AppletShape</type></li>
113        </ul>
114
115        <p>The following services are all <type scope="com::sun::star::text">TextField</type>
116        and can be inserted into text as <type scope="com::sun::star::text">TextContent</type>.
117
118        <ul>
119            <li><member scope="com::sun::star::text">TextField::DateTime</member></li>
120            <li><member scope="com::sun::star::text">TextField::URL</member></li>
121            <li><member scope="com::sun::star::text">TextField::PageNumber</member></li>
122            <li><member scope="com::sun::star::text">TextField::PageCount</member></li>
123            <li><member scope="com::sun::star::text">TextField::SheetName</member></li>
124            <li><member scope="com::sun::star::text">TextField::FileName</member></li>
125            <li><member scope="com::sun::star::text">TextField::DocInfo.Title</member></li>
126            <li><member scope="com::sun::star::text">TextField::Author</member></li>
127            <li><member scope="com::sun::star::text">TextField::Measure</member></li>
128        </ul>
129
130        <p>The following services gives access to resources used inside the document
131        and let you add new resources.
132
133        <ul>
134            <li><type scope="com::sun::star::drawing">DashTable</type></li>
135            <li><type scope="com::sun::star::drawing">GradientTable</type></li>
136            <li><type scope="com::sun::star::drawing">HatchTable</type></li>
137            <li><type scope="com::sun::star::drawing">BitmapTable</type></li>
138            <li><type scope="com::sun::star::drawing">TransparencyGradientTable</type></li>
139            <li><type scope="com::sun::star::drawing">MarkerTable</type></li>
140        </ul>
141
142        <p>The following service can be set at the <code>Numbering</code> property
143        inside a <type scope="com::sun::star::style">ParagraphProperties</type>
144
145        <ul>
146            <li><type scope="com::sun::star::text">NumberingRules</type></li>
147        </ul>
148
149        <p>The following services can be used for a <type scope="com::sun::star::image">ImageMap</type>
150        inside the document.
151
152        <br>A <type scope="com::sun::star::image">ImageMap</type> can be obtained from a
153        <type>GraphicObjectShape</type>
154
155        <ul>
156            <li><type scope="com::sun::star::image">ImageMapRectangleObject</type></li>
157            <li><type scope="com::sun::star::image">ImageMapCircleObject</type></li>
158            <li><type scope="com::sun::star::image">ImageMapPolygonObject</type></li>
159        </ul>
160
161        <p>The following services lets you access the drawing property defaults
162        of a document.
163
164        <ul>
165            <li><type scope="com::sun::star::drawing">Defaults</type></li>
166        </ul>
167    */
168    interface com::sun::star::lang::XMultiServiceFactory;
169
170    /** lets you access the properties of this service.
171     */
172    interface com::sun::star::beans::XPropertySet;
173
174    /** lets you duplicate pages inside this document.
175     */
176    interface com::sun::star::drawing::XDrawPageDuplicator;
177
178
179    /** provides an object that is implementing the service
180                <type>DrawPage</type>s. With this service you have access to the
181                <type>DrawPage</type>s inside a document.
182     */
183    interface com::sun::star::drawing::XDrawPagesSupplier;
184
185
186    /** returns an object that is implementing the service
187                <type>MasterPages</type>. With this service you have access to the
188                <type>MasterPage</type>s inside a document.
189     */
190    interface com::sun::star::drawing::XMasterPagesSupplier;
191
192
193    /** returns an object that is implementing the service
194                <type>LayerManager</type>. This service lets you manipulate the
195                <type>Layer</type>s of this document.
196     */
197    interface com::sun::star::drawing::XLayerSupplier;
198
199    /** This interface lets you access the styles contained in this document
200     */
201    interface com::sun::star::style::XStyleFamiliesSupplier;
202
203    //-------------------------------------------------------------------------
204
205    /** This property specifies the length between the default tab stops
206        inside text in this document in 1/100th mm.
207     */
208    [property] long TabStop;
209
210    //-------------------------------------------------------------------------
211
212    /** contains the identifier of the default locale of the document.
213     */
214    [property] com::sun::star::lang::Locale CharLocale;
215
216    //-------------------------------------------------------------------------
217
218    /** if this document is an ole client, this is the current visible area
219        in 100th mm
220    */
221    [property] com::sun::star::awt::Rectangle VisibleArea;
222
223    //-------------------------------------------------------------------------
224
225    /** This property gives the XForbiddenCharacters.
226     */
227    [readonly, property] com::sun::star::i18n::XForbiddenCharacters ForbiddenCharacters;
228
229};
230
231//=============================================================================
232
233}; }; }; };
234
235#endif
236
237