KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jgap > gp > impl > JGAPTreeBranchRenderer


1 /*
2  * This file is part of JGAP.
3  *
4  * JGAP offers a dual license model containing the LGPL as well as the MPL.
5  *
6  * For licencing information please see the file license.txt included with JGAP
7  * or have a look at the top of class org.jgap.Chromosome which representatively
8  * includes the JGAP license policy applicable for any file delivered with JGAP.
9  */

10 package org.jgap.gp.impl;
11
12 //
13
// METreeRenderer.java
14
// MetaEvolve
15
//
16
// Version 1
17
//
18
// Created by Brian Risk of Geneffects on March 18, 2004.
19
// Last Modified on March 19, 2004.
20
// www.geneffects.com
21
//
22
// Modified by Klaus Meffert
23

24 import java.awt.*;
25 import org.jgap.util.tree.*;
26 import org.jgap.gp.function.*;
27 import org.jgap.gp.*;
28
29 /**
30  * Renders the branches' colors of a tree to display.
31  *
32  * @author Klaus Meffert
33  * @since 3.0
34  */

35 public class JGAPTreeBranchRenderer
36     implements TreeBranchRenderer {
37   /** String containing the CVS revision. Read out via reflection!*/
38   private final static String JavaDoc CVS_REVISION = "$Revision: 1.1 $";
39
40   public Color getBranchColor(Object JavaDoc a_node, int a_level) {
41     String JavaDoc name = ( (JGAPTreeNode) a_node).getName();
42     Color out = Color.white;
43     if (name.equals(IfElse.class.getName())) {
44       out = new Color(255, 30, 30);
45     }
46     else if (name.equals(Add.class.getName())) {
47       out = new Color(86, 140, 0);
48     }
49     else if (name.equals(AddAndStore.class.getName())) {
50       out = new Color(44, 200, 70);
51     }
52     else if (name.equals(Add3.class.getName())) {
53       out = new Color(0, 86, 22);
54     }
55     else if (name.equals(Subtract.class.getName())) {
56       out = new Color(171, 0, 0);
57     }
58     else if (name.equals(Multiply.class.getName())) {
59       out = new Color(85, 0, 85);
60     }
61     else if (name.equals(Multiply3.class.getName())) {
62       out = new Color(0, 190, 171);
63     }
64     else if (name.equals(Equals.class.getName())) {
65       out = new Color(0, 0, 255);
66     }
67     else if (name.equals(Or.class.getName())) {
68       out = new Color(20, 200, 40);
69     }
70     else if (name.equals(Xor.class.getName())) {
71       out = new Color(10, 150, 80);
72     }
73     else if (name.equals(And.class.getName())) {
74       out = new Color(90, 100, 90);
75     }
76     else if (name.equals(If.class.getName())) {
77       out = new Color(200, 250, 100);
78     }
79     else if (name.equals(Not.class.getName())) {
80       out = new Color(240, 50, 0);
81     }
82     else if (name.equals(Sine.class.getName())) {
83       out = new Color(50, 10, 0);
84     }
85     else if (name.equals(Cosine.class.getName())) {
86       out = new Color(50, 200, 0);
87     }
88     else if (name.equals(Exp.class.getName())) {
89       out = new Color(200, 0, 50);
90     }
91     else if (name.equals(Pow.class.getName())) {
92       out = new Color(100, 50, 150);
93     }
94     else if (name.equals(SubProgram.class.getName())) {
95       out = new Color(33, 66, 99);
96     }
97     else if (name.equals(StoreTerminal.class.getName())) {
98       out = new Color(100, 40, 200);
99     }
100     else if (name.equals(ReadTerminal.class.getName())) {
101       out = new Color(200, 80, 100);
102     }
103     else if (name.equals(TransferMemory.class.getName())) {
104       out = new Color(100, 200, 40);
105     }
106     else if (name.equals(ForLoop.class.getName())) {
107       out = new Color(77, 240, 110);
108     }
109     else if (name.equals(Increment.class.getName())) {
110       out = new Color(150, 150, 40);
111     }
112     return out;
113   }
114 }
115
Popular Tags