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 |
} |