1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 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. 14 * 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). 20 * 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. 25 * 26 ************************************************************************/ 27 28#ifndef __com_sun_star_ui_XUIElement_idl__ 29#define __com_sun_star_ui_XUIElement_idl__ 30 31#ifndef __com_sun_star_uno_XInterface_idl__ 32#include <com/sun/star/uno/XInterface.idl> 33#endif 34 35#ifndef __com_sun_star_beans_XPropertySet_idl__ 36#include <com/sun/star/beans/XPropertySet.idl> 37#endif 38 39#ifndef __com_sun_star_frame_XFrame_idl__ 40#include <com/sun/star/frame/XFrame.idl> 41#endif 42 43//============================================================================= 44 45module com { module sun { module star { module ui { 46 47//============================================================================= 48 49/** provides a function to retrieve a special purpose interface dependent 50 on the user interface element type. 51 52 <p> 53 The type of the interface depends on the real type of the user interface 54 element. A menubar user interface element provides access to its 55 <type scope="com::sun::star::awt">XSystemDependentMenuBarPeer</type> 56 which supports to retrieve the system dependent menu handle. 57 A floating window or a toolbar user interface element return a 58 <type scope=com::sun::star::awt>XWindow</type> 59 interface. 60 </p> 61*/ 62 63published interface XUIElement : com::sun::star::uno::XInterface 64{ 65 /** returns an interface to get access to user interface type specific functions. 66 67 @return 68 a special purpose interface which depends on the type of the user 69 interface element. 70 */ 71 ::com::sun::star::uno::XInterface getRealInterface(); 72 73 /** determines the document frame to which this element is bound to. 74 75 <p>The life time of a user interface element does not explicitly depend on the 76 frame itself but on the visible component attached to the frame. It is possible 77 to exchange the visible component of a frame and that will lead to the end of 78 life of all user interface elements.</p> 79 */ 80 [readonly, attribute] ::com::sun::star::frame::XFrame Frame; 81 82 /** a resource URL which is a unique identifier of a user interface element. 83 */ 84 [readonly, attribute] string ResourceURL; 85 86 /** determines the type of the user interface element. 87 88 @see UIElementType 89 */ 90 [readonly, attribute] short Type; 91}; 92 93}; }; }; }; 94 95//============================================================================= 96 97#endif 98