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