KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > swing > outline > RenderDataProvider


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
20 package org.netbeans.swing.outline;
21
22 import java.awt.Color JavaDoc;
23 import javax.swing.Icon JavaDoc;
24
25 /** A class which can provide rendering data for the tree portion an Outline,
26  * such as converting values to text, providing tooltip text and icons.
27  * Makes it possible to provide most of the interesting data that affects
28  * display without needing to provide a custom cell renderer. An Outline
29  * will use its RenderDataProvider to fetch data for <strong>all</strong>
30  * its columns, so it is possible to affect the display of both property
31  * columns and the tree column via this interface.
32  *
33  * @author Tim Boudreau
34  */

35 public interface RenderDataProvider {
36     /** Convert an object in the tree to the string that should be used to
37      * display its node */

38     public String JavaDoc getDisplayName (Object JavaDoc o);
39     /** Returns true of the display name for this object should use HTML
40      * rendering (future support for integration of the lightweight HTML
41      * renderer into NetBeans). */

42     public boolean isHtmlDisplayName (Object JavaDoc o);
43     /** Get the background color to be used for rendering this node. Return
44      * null if the standard table background or selected color should be used.
45      */

46     public Color JavaDoc getBackground (Object JavaDoc o);
47     /** Get the foreground color to be used for rendering this node. Return
48      * null if the standard table foreground or selected foreground should be
49      * used. */

50     public Color JavaDoc getForeground (Object JavaDoc o);
51     /** Get a description for this object suitable for use in a tooltip. Return
52      * null if no tooltip is desired. */

53     public String JavaDoc getTooltipText (Object JavaDoc o);
54     /** Get an icon to be used for this object. Return null if the look and
55      * feel's default tree folder/leaf icons should be used as appropriate. */

56     public Icon JavaDoc getIcon (Object JavaDoc o);
57 }
58
Popular Tags