1 package prefuse.action.assignment; 2 3 import java.util.logging.Logger ; 4 5 import prefuse.action.EncoderAction; 6 import prefuse.data.expression.Predicate; 7 import prefuse.data.expression.parser.ExpressionParser; 8 import prefuse.visual.VisualItem; 9 10 11 34 public class SizeAction extends EncoderAction { 35 36 protected double m_defaultSize = 1.0; 37 38 41 public SizeAction() { 42 super(); 43 } 44 45 49 public SizeAction(String group) { 50 super(group); 51 } 52 53 58 public SizeAction(String group, double size) { 59 super(group); 60 m_defaultSize = size; 61 } 62 63 67 public double getDefaultSize() { 68 return m_defaultSize; 69 } 70 71 76 public void setDefaultSize(double defaultSize) { 77 m_defaultSize = defaultSize; 78 } 79 80 87 public void add(Predicate p, double size) { 88 super.add(p, new Double (size)); 89 } 90 91 101 public void add(String expr, double size) { 102 Predicate p = (Predicate)ExpressionParser.parse(expr); 103 add(p, size); 104 } 105 106 113 public void add(Predicate p, SizeAction f) { 114 super.add(p, f); 115 } 116 117 127 public void add(String expr, SizeAction f) { 128 Predicate p = (Predicate)ExpressionParser.parse(expr); 129 super.add(p, f); 130 } 131 132 134 137 public void process(VisualItem item, double frac) { 138 double size = getSize(item); 139 double old = item.getSize(); 140 item.setStartSize(old); 141 item.setEndSize(size); 142 item.setSize(size); 143 } 144 145 150 public double getSize(VisualItem item) { 151 Object o = lookup(item); 152 if ( o != null ) { 153 if ( o instanceof SizeAction ) { 154 return ((SizeAction)o).getSize(item); 155 } else if ( o instanceof Number ) { 156 return ((Number )o).doubleValue(); 157 } else { 158 Logger.getLogger(this.getClass().getName()) 159 .warning("Unrecognized Object from predicate chain."); 160 } 161 } 162 return m_defaultSize; 163 } 164 165 } | Popular Tags |