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