1 package net.sf.bse.gui;
2
3 /*
4 * Copyright (c) 2002-2003 BSE project contributors
5 * (http://bse.sourceforge.net/)
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal
9 * in the Software without restriction, including without limitation the rights
10 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 * copies of the Software, and to permit persons to whom the Software is
12 * furnished to do so, subject to the following conditions:
13 *
14 * The above copyright notice and this permission notice shall be included in
15 * all copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 * THE SOFTWARE.
24 */
25
26 import java.awt.Component;
27 import java.io.File;
28
29 import javax.swing.ImageIcon;
30 import javax.swing.JTree;
31 import javax.swing.tree.DefaultTreeCellRenderer;
32
33 /***
34 * @author Aleksi Peebles (aleksi.peebles@infocast.fi)
35 * @version $Revision: 1.1 $ $Date: 2003/01/17 14:40:29 $
36 */
37 public class XletTreeCellRenderer extends DefaultTreeCellRenderer
38 {
39 private ImageIcon signedIcon =
40 new ImageIcon(getClass().getResource("signed.png"));
41
42 public Component getTreeCellRendererComponent(
43 JTree source, Object value, boolean selected, boolean expanded,
44 boolean leaf, int row, boolean hasFocus)
45 {
46 super.getTreeCellRendererComponent(
47 source, value, selected, expanded, leaf, row, hasFocus);
48
49 if (value.equals(source.getModel().getRoot()))
50 {
51 setText(File.separator);
52 }
53 else if (value instanceof File)
54 {
55 File file = (File)value;
56 setText(file.getName());
57 if (((XletTreeModel)source.getModel()).getAlgorithm(file) != null)
58 {
59 setIcon(signedIcon);
60 }
61 }
62
63 return this;
64 }
65 }