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_dialogs_XControlInformation_idl__
29#define __com_sun_star_ui_dialogs_XControlInformation_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_lang_IllegalArgumentException_idl__
36#include <com/sun/star/lang/IllegalArgumentException.idl>
37#endif
38
39//=============================================================================
40
41module com { module sun { module star { module ui { module dialogs {
42
43//=============================================================================
44/** Interface to query for controls and control properties supported by the
45    implementing instance.
46
47    @since OOo 1.1.2
48*/
49published interface XControlInformation: com::sun::star::uno::XInterface
50{
51//-------------------------------------------------------------------------
52/** Query for the supported controls of a service instance.
53
54    @returns
55        a sequence with the names of the supported controls.
56*/
57sequence<string> getSupportedControls( );
58
59//-------------------------------------------------------------------------
60/** Returns whether the specified control is supported or not.
61
62    @param aControlName
63        The name of the control. Common control names are for
64        instance 'OkButton' or 'CancelButton'.
65
66    @returns
67        <TRUE/> if the specified control is supported.
68        <FALSE/> if the specified control is not supported.
69*/
70boolean isControlSupported( [in] string aControlName );
71
72//-------------------------------------------------------------------------
73/** Returns a sequence with properties supported by the specified
74    control.
75
76    @param aControlName
77        The name of the control. Common control names are for
78        instance 'OkButton' or 'CancelButton'.
79
80    @returns
81        a sequence of control properties supported by the specified control.
82
83    @throws com::sun::star::lang::IllegalArgumentException
84        when the specified control is not supported.
85*/
86sequence<string> getSupportedControlProperties( [in] string aControlName )
87    raises( com::sun::star::lang::IllegalArgumentException );
88
89//-------------------------------------------------------------------------
90/** Returns whether control property is supported by a control.
91
92    @param aControlName
93       The name of the control.
94
95    @param aControlProperty
96        The control property to query for.
97
98    @returns
99        <TRUE/> if the specified control action is supported.
100        <FALSE/> if the specified control action is not supported.
101
102    @throws com::sun::star::lang::IllegalArgumentException
103        when the specified control is not supported.
104*/
105boolean isControlPropertySupported( [in] string aControlName, [in] string aControlProperty )
106    raises( com::sun::star::lang::IllegalArgumentException );
107};
108
109}; }; }; }; };
110
111#endif
112