xref: /aoo41x/main/offapi/com/sun/star/ui/XUIElement.idl (revision cdf0e10c)
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