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
>
34 #ifndef __com_sun_star_frame_XDispatchProvider_idl__
35 #include
<com
/sun
/star
/frame
/XDispatchProvider.idl
>
38 #ifndef __com_sun_star_frame_XDispatchRecorderSupplier_idl__
39 #include
<com
/sun
/star
/frame
/XDispatchRecorderSupplier.idl
>
42 #ifndef __com_sun_star_frame_XDispatchProviderInterception_idl__
43 #include
<com
/sun
/star
/frame
/XDispatchProviderInterception.idl
>
46 #ifndef __com_sun_star_frame_XFramesSupplier_idl__
47 #include
<com
/sun
/star
/frame
/XFramesSupplier.idl
>
50 #ifndef __com_sun_star_task_XStatusIndicatorFactory_idl__
51 #include
<com
/sun
/star
/task
/XStatusIndicatorFactory.idl
>
54 #ifndef __com_sun_star_beans_XPropertySet_idl__
55 #include
<com
/sun
/star
/beans
/XPropertySet.idl
>
58 #ifndef __com_sun_star_frame_XDispatchInformationProvider_idl__
59 #include
<com
/sun
/star
/frame
/XDispatchInformationProvider.idl
>
62 #ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
63 #include
<com
/sun
/star
/xml
/UserDefinedAttributesSupplier.idl
>
66 //=============================================================================
68 module com
{ module sun
{ module star
{ module frame
{
70 //=============================================================================
71 /** represents the environment for a desktop component
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.
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.
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:
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>
123 @see XFrame::findFrame()
125 interface XDispatchProvider
;
127 //-------------------------------------------------------------------------
128 /** provides information about supported commands
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.
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.
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.
188 It's not recommended to cache an already getted supplier. Because there exist
189 no possibility to check for enabled/disabled recording then.
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 //=============================================================================