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_inspection_XPropertyControlFactory_idl__ 29#define __com_sun_star_inspection_XPropertyControlFactory_idl__ 30 31#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ 32#include <com/sun/star/lang/IllegalArgumentException.idl> 33#endif 34 35//============================================================================= 36module com { module sun { module star { module inspection { 37 38published interface XPropertyControl; 39 40//----------------------------------------------------------------------------- 41/** a factory for <type>XPropertyControl</type>s 42 43 @since OOo 2.0.3 44*/ 45published interface XPropertyControlFactory 46{ 47 /** creates a <type>XPropertyControl</type> 48 49 <p>A <type>XPropertyControlFactory</type> can create any of the control types denoted by 50 the <type>PropertyControlType</type> constants.</p> 51 52 @param ControlType 53 the type of the requested control 54 55 @param CreateReadOnly 56 determines whether the newly created control should be readonly. 57 58 <p>If this argument is <TRUE/>, this does not necessarily mean that the property cannot be 59 changed at all in the <type>ObjectInspector</type>. Instead, an <type>XPropertyHandler</type> 60 can still decide that there is a dedicated UI for entering the property value, 61 which is usually triggered by a <member>LineDescriptor::PrimaryButton</member>.</p> 62 63 <p>Note that this parameter might be ignored if the <member>XObjectInspectorModel::IsReadOnly</member> 64 attribute is <TRUE/>, in which case all created property controls must be readonly.</p> 65 66 @returns 67 a control of the given type. 68 69 @throws com::sun::star::lang::IllegalArgumentException 70 if the given <arg>ControlType</arg> is not a value <type>PropertyControlType</type> 71 */ 72 XPropertyControl createPropertyControl( [in] short ControlType, [in] boolean CreateReadOnly ) 73 raises ( com::sun::star::lang::IllegalArgumentException ); 74}; 75 76//============================================================================= 77 78}; }; }; }; 79 80#endif 81 82