source: java/main/src/main/java/com/framsticks/gui/tree/TreeCellRenderer.java @ 193

Last change on this file since 193 was 193, checked in by Maciej Komosinski, 10 years ago

Set svn:eol-style native for all textual files

  • Property svn:eol-style set to native
File size: 2.9 KB
Line 
1package com.framsticks.gui.tree;
2
3import java.awt.Component;
4
5import javax.swing.JTree;
6import javax.swing.tree.DefaultTreeCellRenderer;
7
8import com.framsticks.gui.ImageProvider;
9import com.framsticks.params.CompositeParam;
10
11/**
12 * Renderer of Tree. Sets appropriate icons for nodes.
13 */
14@SuppressWarnings("serial")
15public class TreeCellRenderer extends DefaultTreeCellRenderer {
16
17        protected final TreeModel treeModel;
18
19
20        /**
21         * @param treeModel
22         */
23        public TreeCellRenderer(TreeModel treeModel) {
24                this.treeModel = treeModel;
25        }
26
27        @Override
28        public Component getTreeCellRendererComponent(JTree tree, Object value,
29                        boolean sel, boolean expanded, boolean leaf, int row,
30                        boolean hasFocus) {
31
32                super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
33
34                if (value == null) {
35                        setText("!null value");
36                        return this;
37                }
38
39                if (!(value instanceof AbstractNode)) {
40                        setText("?");
41                        // treeModel.renderTreeObject(Casting.throwCast(TreeNode.class, value), this);
42                        return this;
43                }
44                ((AbstractNode) value).render(this);
45
46                return this;
47        }
48
49        public static String findIconName(CompositeParam param) {
50                switch (param.getFramsTypeName()) {
51                        case "o Server": return ImageProvider.SERVER;
52                        case "o Simulator": return ImageProvider.SIMULATOR;
53                        case "o CLI": return ImageProvider.CLI;
54                        case "o World": return ImageProvider.WORLD;
55                        case "o GenePools": return ImageProvider.GENEPOOLS;
56                        case "l GenePool": return ImageProvider.SIMULATOR; //HERE
57                        case "o GenePool": return ImageProvider.GENEPOOLS_GROUP; //HERE
58
59                        case "o Populations": return ImageProvider.POPULATIONS;
60                        case "l Population": return ImageProvider.SIMULATOR; ///HERE
61                        case "o Population": return ImageProvider.POPULATION_GROUP;
62                        case "o ExpParams": return ImageProvider.EXPERIMENT;
63                        case "o stats": return ImageProvider.STATISTIC;
64                        case "l Genotype uid": return ImageProvider.GENOTYPES_GROUP;
65                        case "o Genotype": return ImageProvider.GENOTYPES;
66
67                        case "o Part": return ImageProvider.PART;
68                        case "o Joint": return ImageProvider.JOINT;
69                        case "o NeuroDef": return ImageProvider.NEURON_DEF;
70                        case "o NeuroConn": return ImageProvider.NEURON_DEF;
71
72                        case "o MechPart": return ImageProvider.MECH_PART;
73                        case "o MechJoint": return ImageProvider.MECH_JOINT;
74                        case "o Neuro": return ImageProvider.NEURON;
75
76                        case "l Part": return ImageProvider.PART_GROUP;
77                        case "l Joint": return ImageProvider.JOINT_GROUP;
78                        case "l NeuroDef": return ImageProvider.NEURON_DEF_GROUP;
79                        case "l NeuroConn": return ImageProvider.NEURON_DEF_GROUP;
80
81                        case "l MechPart": return ImageProvider.MECH_PART_GROUP;
82                        case "l MechJoint": return ImageProvider.MECH_JOINT_GROUP;
83                        case "l Neuro": return ImageProvider.NEURON_GROUP;
84
85                        case "o Creature": return ImageProvider.CREATURE;
86                        case "l Creature uid": return ImageProvider.CREATURES_GROUP;
87                        case "l Event id": return ImageProvider.EVENT;
88                        case "o Event": return ImageProvider.EVENT;
89
90                }
91                return ImageProvider.FOLDER_OPEN;
92        }
93
94
95}
Note: See TracBrowser for help on using the repository browser.