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

Last change on this file since 102 was 102, checked in by psniegowski, 11 years ago

HIGHLIGHTS:

for Joinables running

CHANGELOG:
Add WorkPackageLogic? and classes representing prime experiment state.

Add classes for PrimeExperiment? state.

Extract single netload routine in Simulator.

Working netload with dummy content in PrimeExperiment?.

More development with NetLoadSaveLogic? and PrimeExperiment?.

Improvement around prime.

Improve BufferedDispatcher?.isActive logic.

Add prime-all.xml configuration.

Manual connecting to existing simulators from GUI.

Guard in SimulatorConnector? against expdef mismatch.

Guard against empty target dispatcher in BufferedDispatcher?.

Make BufferedDispatcher? a Dispatcher (and Joinable).

Minor improvements.

Done StackedJoinable?, improve Experiment.

Develop StackedJoinable?.

Add StackedJoinable? utility joinables controller.

Add dependency on apache-commons-lang.

Add ready ListChange? on Simulators.

Improve hints in ListChange?.

Several improvements.

Found bug with dispatching in Experiment.

Minor improvements.

Fix bug with early finishing Server.

Many changes in Dispatching.

Fix bug with connection.

Do not obfuscate log with socket related exceptions.

Add SocketClosedException?.

Add SimulatorConnector?.

Work out conception of experiment composing of logics building blocks.

Rename SinkInterface? to Sink.

Move saving of Accesses into AccessOperations?.

Some improvements to Experiment.

Improve joinables.

Fix issue with joinables closing.

Add direct and managed consoles to popup menu.

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.