1 /* 2 * The contents of this file are subject to the terms of the Common Development 3 * and Distribution License (the License). You may not use this file except in 4 * compliance with the License. 5 * 6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html 7 * or http://www.netbeans.org/cddl.txt. 8 * 9 * When distributing Covered Code, include this CDDL Header Notice in each file 10 * and include the License file at http://www.netbeans.org/cddl.txt. 11 * If applicable, add the following below the CDDL Header, with the fields 12 * enclosed by brackets [] replaced by your own identifying information: 13 * "Portions Copyrighted [year] [name of copyright owner]" 14 * 15 * The Original Software is NetBeans. The Initial Developer of the Original 16 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun 17 * Microsystems, Inc. All Rights Reserved. 18 */ 19 package org.openide.explorer.propertysheet.editors; 20 21 import java.awt.Component; 22 23 24 /** Enhances standard property editor to support in-place custom editors and tagged values. 25 * <strong>Use of this class is strongly discouraged</strong> - the original 26 * NetBeans property sheet did not specify a strong contract for when the 27 * property should be updated from an editor such as the custom inplace editor 28 * this interface allows you to provide. The new (NetBeans 4.0 and later) 29 * property sheet does specify such a contract, and the InplaceEditor 30 * interface exists to allow it to be fulfilled. 31 * @author Jan Jancura, Ian Formanek 32 * @deprecated Instead of this class, implement ExPropertyEditor and InplaceEditor.Factory. Also 33 * create an implementation of InplaceEditor for the custom inline editor. 34 * In the <code>attachEnv()</code> method of your ExPropertyEditor, call 35 * <code>PropertyEnv.registerInplaceEditorFactory(this)</code>. <p><strong> 36 * Before you do any of this</strong> read the prose documentation on the 37 * Explorer API and be sure you cannot do what you need with an existing 38 * property editor - it is very rare to actually need to provide a custom 39 * editor component. 40 * @see org.openide.explorer.propertysheet.InplaceEditor 41 * @see org.openide.explorer.propertysheet.InplaceEditor.Factory 42 * @see org.openide.explorer.propertysheet.PropertyEnv 43 */ 44 public @Deprecated interface EnhancedPropertyEditor extends java.beans.PropertyEditor { 45 /** Get an in-place editor. 46 * @return a custom property editor to be shown inside the property 47 * sheet 48 */ 49 public Component getInPlaceCustomEditor(); 50 51 /** Test for support of in-place custom editors. 52 * @return <code>true</code> if supported 53 */ 54 public boolean hasInPlaceCustomEditor(); 55 56 /** Test for support of editing of tagged values. 57 * Must also accept custom strings, otherwise you may may specify a standard property editor accepting only tagged values. 58 * @return <code>true</code> if supported 59 */ 60 public boolean supportsEditingTaggedValues(); 61 } 62