merged tag ooo/OOO330_m14
[LibreOffice.git] / offapi / com / sun / star / frame / Frame.idl
blob2111775c99482ca7630c4ca1f82ef4456ec6f238
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
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.
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).
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.
26 ************************************************************************/
27 #ifndef __com_sun_star_frame_Frame_idl__
28 #define __com_sun_star_frame_Frame_idl__
30 #ifndef __com_sun_star_frame_XFrame_idl__
31 #include <com/sun/star/frame/XFrame.idl>
32 #endif
34 #ifndef __com_sun_star_frame_XDispatchProvider_idl__
35 #include <com/sun/star/frame/XDispatchProvider.idl>
36 #endif
38 #ifndef __com_sun_star_frame_XDispatchRecorderSupplier_idl__
39 #include <com/sun/star/frame/XDispatchRecorderSupplier.idl>
40 #endif
42 #ifndef __com_sun_star_frame_XDispatchProviderInterception_idl__
43 #include <com/sun/star/frame/XDispatchProviderInterception.idl>
44 #endif
46 #ifndef __com_sun_star_frame_XFramesSupplier_idl__
47 #include <com/sun/star/frame/XFramesSupplier.idl>
48 #endif
50 #ifndef __com_sun_star_task_XStatusIndicatorFactory_idl__
51 #include <com/sun/star/task/XStatusIndicatorFactory.idl>
52 #endif
54 #ifndef __com_sun_star_beans_XPropertySet_idl__
55 #include <com/sun/star/beans/XPropertySet.idl>
56 #endif
58 #ifndef __com_sun_star_frame_XDispatchInformationProvider_idl__
59 #include <com/sun/star/frame/XDispatchInformationProvider.idl>
60 #endif
62 #ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
63 #include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
64 #endif
66 //=============================================================================
68 module com { module sun { module star { module frame {
70 //=============================================================================
71 /** represents the environment for a desktop component
73 <p>
74 Frames are the anchors for the office components and they are the components' link
75 to the outside world. They create a skeleton for the whole office api infrastructure
76 by building frame hierarchys. These hierarchies contains all currently loaded
77 documents and make it possible to walk during these trees.
78 A special service <type>Desktop</type> can(!) combine different of such trees
79 to a global one which life time will be controlled by it.
80 </p>
82 @see Desktop
84 published service Frame
86 //-------------------------------------------------------------------------
87 /** contains user defined attributes.
89 @see <type scope="com::sun::star::xml">UserDefinedAttributesSupplier</type>
91 [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
93 //-------------------------------------------------------------------------
94 /** allows the component to be loaded and accessed
95 within the frame; it is the main connection to the
96 environment of the component.
98 interface XFrame;
100 //-------------------------------------------------------------------------
101 /** provides access to dispatchers for the frame.
104 What kind of URLs a frame accepts in the calls to <member>XDispatchProvider::queryDispatch()</member>,
105 and how the returned dispatcher handles dispatches is completely implementation dependent
106 (though of course the restrictions of <type>XDispatchProvider</type> must be met).
107 Frame implementations may (optionally) support special targets in the call to
108 <member>XDispatchProvider::queryDispatch()</member>.
109 Such special targets are passed as target frame name. They may, in addition,
110 require special frame search flags (see <type>FrameSearchFlag</type>), or,
111 in opposite, limit the set of allowed flags.<br>
112 Common special targets include:
113 <ul>
114 <li><b>_blank</b><br> is used to create a new frame when dispatching the URL.</li>
115 <li><b>_default</b><br> is used to recycle empty or create a new frame when dispatching the URL.</li>
116 <li><b>_self</b><br> forces the frame to dispatch the URL into itself. ("" means the same)</li>
117 <li><b>_parent</b><br> dispatches the URL into the parent frame.</li>
118 <li><b>_top</b><br> dispatches the URL into the top level frame, the frame where this is invoked belongs to.</li>
119 </ul>
120 </p>
122 @see XDispatch
123 @see XFrame::findFrame()
125 interface XDispatchProvider;
127 //-------------------------------------------------------------------------
128 /** provides information about supported commands
130 @since OOo 2.0.0
132 [optional] interface XDispatchInformationProvider;
134 //-------------------------------------------------------------------------
135 /** supports interception mechanism for dispatched URLs
138 Registered objects can intercept, supress or deroute dispatched URLs.
139 If they support another interface too (<type>XInterceptorInfo</type>)
140 it's possible to perform it by directly calling of right interceptor without
141 using list of all registered ones.
142 </p>
144 interface XDispatchProviderInterception;
146 //-------------------------------------------------------------------------
147 /** provides access to sub frames within this frame
149 interface XFramesSupplier;
151 //-------------------------------------------------------------------------
152 /** supplies access to <type scope="com::sun::star::task">XStatusIndicator</type> objects
153 for the component within the frame to show progresses
155 [optional] interface com::sun::star::task::XStatusIndicatorFactory;
157 //-------------------------------------------------------------------------
158 /** if possible it sets/gets the UI title on/from the frame container window
161 It depends from the type of the frame container window. If it is a system
162 task window all will be OK. Otherwise the title can't be set.
163 Setting/getting of the pure value of this property must be possible in every
164 case. Only showing on the UI can be fail.
165 </p>
167 [property] string Title;
169 //-------------------------------------------------------------------------
170 /** provides access to the dispatch recorder of the frame
173 Such recorder can be used to record dispatch requests.
174 The supplier contains a dispatch recorder and provide the functionality
175 to use it for any dispatch object from outside which supports the interface
176 <type>XDispatch</type>. A supplier is available only, if recording was enabled.
177 That means: if somewhere whish to enable recoding on a frame he must set
178 a supplier with a recorder object inside of it. Every user of dispatches
179 has to check then if such supplier is available at this frame property.
180 If value of this property is <NULL/> he must call <member>XDispatch::dispatch()</member>
181 on the original dispatch object. If it's a valid value he must use the supplier
182 by calling his method <member>XDispatchRecorderSupplier::dispatchAndRecord()</member>
183 with the original dispatch object as argument.
184 </p>
187 Note:<br>
188 It's not recommended to cache an already getted supplier. Because there exist
189 no possibility to check for enabled/disabled recording then.
190 </p>
192 @since OOo 1.1.2
194 [optional, property] XDispatchRecorderSupplier RecorderSupplier;
196 //-------------------------------------------------------------------------
197 /** provides access to the <type>LayoutManager</type> of the frame.
199 [optional, property] com::sun::star::uno::XInterface LayoutManager;
202 //=============================================================================
204 }; }; }; };
206 #endif