Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.swing / org.gvsig.fmap.dal.swing.impl / src / main / java / org / gvsig / fmap / dal / swing / impl / searchpanel / AdvancedAttributeSelectionTreeCellRenderer.java @ 44262

History | View | Annotate | Download (1.83 KB)

1
package org.gvsig.fmap.dal.swing.impl.searchpanel;
2

    
3
import java.awt.Component;
4
import javax.swing.ImageIcon;
5
import javax.swing.JLabel;
6
import javax.swing.JTree;
7
import javax.swing.tree.DefaultTreeCellRenderer;
8
import org.gvsig.fmap.dal.swing.impl.searchpanel.AdvancedAttributeSelectionTreeModel.Node;
9
import org.gvsig.tools.swing.api.ToolsSwingLocator;
10
import org.gvsig.tools.swing.icontheme.IconTheme;
11

    
12
/**
13
 *
14
 * @author jjdelcerro
15
 */
16
public class AdvancedAttributeSelectionTreeCellRenderer extends DefaultTreeCellRenderer {
17
    
18
    private final ImageIcon iconTable;
19
    private final ImageIcon iconColumn;
20
    private final ImageIcon iconForeingKey;
21
    
22
    public AdvancedAttributeSelectionTreeCellRenderer() {
23
        IconTheme theme = ToolsSwingLocator.getIconThemeManager().getCurrent();
24
        this.iconTable = theme.get("featurestore-table");
25
        this.iconColumn = theme.get("featurestore-column");
26
        this.iconForeingKey = theme.get("featurestore-foreing-key");
27
    }
28
    
29
    @Override
30
    public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
31
        JLabel label = (JLabel) super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); //To change body of generated methods, choose Tools | Templates.
32
        if( !(value instanceof Node) ) {
33
            return label;
34
        }
35
        Node node = (Node) value;
36
        if( node.isRoot() ) {
37
            label.setIcon(this.iconTable);
38
            label.setText(node.getLabel());
39
            return label;
40
        }
41
        if( leaf ) {
42
            label.setIcon(this.iconColumn);
43
            label.setText(node.getLabel());
44
            return label;
45
        }
46
        label.setIcon(this.iconForeingKey);
47
        label.setText(node.getLabel());
48
        return label;
49
    }
50
    
51
    
52
}