xref: /aoo42x/main/offapi/com/sun/star/frame/Frame.idl (revision d1766043)
1*d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*d1766043SAndrew Rist * distributed with this work for additional information
6*d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9*d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*d1766043SAndrew Rist *
11*d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*d1766043SAndrew Rist *
13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d1766043SAndrew Rist * software distributed under the License is distributed on an
15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17*d1766043SAndrew Rist * specific language governing permissions and limitations
18*d1766043SAndrew Rist * under the License.
19*d1766043SAndrew Rist *
20*d1766043SAndrew Rist *************************************************************/
21*d1766043SAndrew Rist
22*d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_frame_Frame_idl__
24cdf0e10cSrcweir#define __com_sun_star_frame_Frame_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_frame_XFrame_idl__
27cdf0e10cSrcweir#include <com/sun/star/frame/XFrame.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir
30cdf0e10cSrcweir#ifndef __com_sun_star_frame_XDispatchProvider_idl__
31cdf0e10cSrcweir#include <com/sun/star/frame/XDispatchProvider.idl>
32cdf0e10cSrcweir#endif
33cdf0e10cSrcweir
34cdf0e10cSrcweir#ifndef __com_sun_star_frame_XDispatchRecorderSupplier_idl__
35cdf0e10cSrcweir#include <com/sun/star/frame/XDispatchRecorderSupplier.idl>
36cdf0e10cSrcweir#endif
37cdf0e10cSrcweir
38cdf0e10cSrcweir#ifndef __com_sun_star_frame_XDispatchProviderInterception_idl__
39cdf0e10cSrcweir#include <com/sun/star/frame/XDispatchProviderInterception.idl>
40cdf0e10cSrcweir#endif
41cdf0e10cSrcweir
42cdf0e10cSrcweir#ifndef __com_sun_star_frame_XFramesSupplier_idl__
43cdf0e10cSrcweir#include <com/sun/star/frame/XFramesSupplier.idl>
44cdf0e10cSrcweir#endif
45cdf0e10cSrcweir
46cdf0e10cSrcweir#ifndef __com_sun_star_task_XStatusIndicatorFactory_idl__
47cdf0e10cSrcweir#include <com/sun/star/task/XStatusIndicatorFactory.idl>
48cdf0e10cSrcweir#endif
49cdf0e10cSrcweir
50cdf0e10cSrcweir#ifndef __com_sun_star_beans_XPropertySet_idl__
51cdf0e10cSrcweir#include <com/sun/star/beans/XPropertySet.idl>
52cdf0e10cSrcweir#endif
53cdf0e10cSrcweir
54cdf0e10cSrcweir#ifndef __com_sun_star_frame_XDispatchInformationProvider_idl__
55cdf0e10cSrcweir#include <com/sun/star/frame/XDispatchInformationProvider.idl>
56cdf0e10cSrcweir#endif
57cdf0e10cSrcweir
58cdf0e10cSrcweir#ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
59cdf0e10cSrcweir#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
60cdf0e10cSrcweir#endif
61cdf0e10cSrcweir
62cdf0e10cSrcweir//=============================================================================
63cdf0e10cSrcweir
64cdf0e10cSrcweir module com {  module sun {  module star {  module frame {
65cdf0e10cSrcweir
66cdf0e10cSrcweir//=============================================================================
67cdf0e10cSrcweir/** represents the environment for a desktop component
68cdf0e10cSrcweir
69cdf0e10cSrcweir    <p>
70cdf0e10cSrcweir    Frames are the anchors for the office components and they are the components' link
71cdf0e10cSrcweir    to the outside world. They create a skeleton for the whole office api infrastructure
72cdf0e10cSrcweir    by building frame hierarchys. These hierarchies contains all currently loaded
73cdf0e10cSrcweir    documents and make it possible to walk during these trees.
74cdf0e10cSrcweir    A special service <type>Desktop</type> can(!) combine different of such trees
75cdf0e10cSrcweir    to a global one which life time will be controlled by it.
76cdf0e10cSrcweir    </p>
77cdf0e10cSrcweir
78cdf0e10cSrcweir    @see Desktop
79cdf0e10cSrcweir */
80cdf0e10cSrcweirpublished service Frame
81cdf0e10cSrcweir{
82cdf0e10cSrcweir    //-------------------------------------------------------------------------
83cdf0e10cSrcweir    /** contains user defined attributes.
84cdf0e10cSrcweir
85cdf0e10cSrcweir        @see    <type scope="com::sun::star::xml">UserDefinedAttributesSupplier</type>
86cdf0e10cSrcweir     */
87cdf0e10cSrcweir    [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
88cdf0e10cSrcweir
89cdf0e10cSrcweir    //-------------------------------------------------------------------------
90cdf0e10cSrcweir	/** allows the component to be loaded and accessed
91cdf0e10cSrcweir        within the frame; it is the main connection to the
92cdf0e10cSrcweir        environment of the component.
93cdf0e10cSrcweir	 */
94cdf0e10cSrcweir    interface XFrame;
95cdf0e10cSrcweir
96cdf0e10cSrcweir    //-------------------------------------------------------------------------
97cdf0e10cSrcweir	/** provides access to dispatchers for the frame.
98cdf0e10cSrcweir
99cdf0e10cSrcweir        <p>
100cdf0e10cSrcweir        What kind of URLs a frame accepts in the calls to <member>XDispatchProvider::queryDispatch()</member>,
101cdf0e10cSrcweir		and how the returned dispatcher handles dispatches is completely implementation dependent
102cdf0e10cSrcweir        (though of course the restrictions of <type>XDispatchProvider</type> must be met).
103cdf0e10cSrcweir        Frame implementations may (optionally) support special targets in the call to
104cdf0e10cSrcweir        <member>XDispatchProvider::queryDispatch()</member>.
105cdf0e10cSrcweir        Such special targets are passed as target frame name. They may, in addition,
106cdf0e10cSrcweir		require special frame search flags (see <type>FrameSearchFlag</type>), or,
107cdf0e10cSrcweir		in opposite, limit the set of allowed flags.<br>
108cdf0e10cSrcweir		Common special targets include:
109cdf0e10cSrcweir		<ul>
110cdf0e10cSrcweir                        <li><b>_blank</b><br> is used to create a new frame when dispatching the URL.</li>
111cdf0e10cSrcweir            <li><b>_default</b><br> is used to recycle empty or create a new frame when dispatching the URL.</li>
112cdf0e10cSrcweir            <li><b>_self</b><br> forces the frame to dispatch the URL into itself. ("" means the same)</li>
113cdf0e10cSrcweir                        <li><b>_parent</b><br> dispatches the URL into the parent frame.</li>
114cdf0e10cSrcweir                        <li><b>_top</b><br> dispatches the URL into the top level frame, the frame where this is invoked belongs to.</li>
115cdf0e10cSrcweir		</ul>
116cdf0e10cSrcweir		</p>
117cdf0e10cSrcweir
118cdf0e10cSrcweir		@see XDispatch
119cdf0e10cSrcweir        @see XFrame::findFrame()
120cdf0e10cSrcweir	*/
121cdf0e10cSrcweir    interface XDispatchProvider;
122cdf0e10cSrcweir
123cdf0e10cSrcweir    //-------------------------------------------------------------------------
124cdf0e10cSrcweir    /** provides information about supported commands
125cdf0e10cSrcweir
126cdf0e10cSrcweir        @since OOo 2.0
127cdf0e10cSrcweir    */
128cdf0e10cSrcweir    [optional] interface XDispatchInformationProvider;
129cdf0e10cSrcweir
130cdf0e10cSrcweir    //-------------------------------------------------------------------------
131cdf0e10cSrcweir    /** supports interception mechanism for dispatched URLs
132cdf0e10cSrcweir
133cdf0e10cSrcweir        <p>
134cdf0e10cSrcweir        Registered objects can intercept, supress or deroute dispatched URLs.
135cdf0e10cSrcweir        If they support another interface too (<type>XInterceptorInfo</type>)
136cdf0e10cSrcweir        it's possible to perform it by directly calling of right interceptor without
137cdf0e10cSrcweir        using list of all registered ones.
138cdf0e10cSrcweir        </p>
139cdf0e10cSrcweir	 */
140cdf0e10cSrcweir    interface XDispatchProviderInterception;
141cdf0e10cSrcweir
142cdf0e10cSrcweir    //-------------------------------------------------------------------------
143cdf0e10cSrcweir    /** provides access to sub frames within this frame
144cdf0e10cSrcweir	 */
145cdf0e10cSrcweir    interface XFramesSupplier;
146cdf0e10cSrcweir
147cdf0e10cSrcweir    //-------------------------------------------------------------------------
148cdf0e10cSrcweir    /** supplies access to <type scope="com::sun::star::task">XStatusIndicator</type> objects
149cdf0e10cSrcweir        for the component within the frame to show progresses
150cdf0e10cSrcweir	 */
151cdf0e10cSrcweir	[optional] interface com::sun::star::task::XStatusIndicatorFactory;
152cdf0e10cSrcweir
153cdf0e10cSrcweir    //-------------------------------------------------------------------------
154cdf0e10cSrcweir    /** if possible it sets/gets the UI title on/from the frame container window
155cdf0e10cSrcweir
156cdf0e10cSrcweir        <p>
157cdf0e10cSrcweir        It depends from the type of the frame container window. If it is a system
158cdf0e10cSrcweir        task window all will be OK. Otherwise the title can't be set.
159cdf0e10cSrcweir        Setting/getting of the pure value of this property must be possible in every
160cdf0e10cSrcweir        case. Only showing on the UI can be fail.
161cdf0e10cSrcweir        </p>
162cdf0e10cSrcweir     */
163cdf0e10cSrcweir    [property] string Title;
164cdf0e10cSrcweir
165cdf0e10cSrcweir    //-------------------------------------------------------------------------
166cdf0e10cSrcweir    /** provides access to the dispatch recorder of the frame
167cdf0e10cSrcweir
168cdf0e10cSrcweir        <p>
169cdf0e10cSrcweir        Such recorder can be used to record dispatch requests.
170cdf0e10cSrcweir        The supplier contains a dispatch recorder and provide the functionality
171cdf0e10cSrcweir        to use it for any dispatch object from outside which supports the interface
172cdf0e10cSrcweir        <type>XDispatch</type>. A supplier is available only, if recording was enabled.
173cdf0e10cSrcweir        That means: if somewhere whish to enable recoding on a frame he must set
174cdf0e10cSrcweir        a supplier with a recorder object inside of it. Every user of dispatches
175cdf0e10cSrcweir        has to check then if such supplier is available at this frame property.
176cdf0e10cSrcweir        If value of this property is <NULL/> he must call <member>XDispatch::dispatch()</member>
177cdf0e10cSrcweir        on the original dispatch object. If it's a valid value he must use the supplier
178cdf0e10cSrcweir        by calling his method <member>XDispatchRecorderSupplier::dispatchAndRecord()</member>
179cdf0e10cSrcweir        with the original dispatch object as argument.
180cdf0e10cSrcweir        </p>
181cdf0e10cSrcweir
182cdf0e10cSrcweir        <p>
183cdf0e10cSrcweir        Note:<br>
184cdf0e10cSrcweir        It's not recommended to cache an already getted supplier. Because there exist
185cdf0e10cSrcweir        no possibility to check for enabled/disabled recording then.
186cdf0e10cSrcweir        </p>
187cdf0e10cSrcweir
188cdf0e10cSrcweir	@since OOo 1.1.2
189cdf0e10cSrcweir     */
190cdf0e10cSrcweir    [optional, property] XDispatchRecorderSupplier RecorderSupplier;
191cdf0e10cSrcweir
192cdf0e10cSrcweir    //-------------------------------------------------------------------------
193cdf0e10cSrcweir    /** provides access to the <type>LayoutManager</type> of the frame.
194cdf0e10cSrcweir    */
195cdf0e10cSrcweir    [optional, property] com::sun::star::uno::XInterface LayoutManager;
196cdf0e10cSrcweir};
197cdf0e10cSrcweir
198cdf0e10cSrcweir//=============================================================================
199cdf0e10cSrcweir
200cdf0e10cSrcweir}; }; }; };
201cdf0e10cSrcweir
202cdf0e10cSrcweir#endif
203