View Javadoc

1   package org.catacomb.druid.gui.base;
2   
3   
4   import org.catacomb.druid.gui.edit.Effect;
5   import org.catacomb.interlish.structure.Ablable;
6   import org.catacomb.report.E;
7   
8   
9   
10  
11  public class DruAbleEffect extends Effect  {
12  
13  
14      boolean enabledState;
15  
16      String enabledValue;
17  
18  
19      public DruAbleEffect(String tgt, boolean b, String s) {
20          super(tgt);
21          enabledState = b;
22          enabledValue = s;
23      }
24  
25  
26  
27      public void apply(String s) {
28          Object tgt = getTarget();
29  
30          if (tgt instanceof Ablable) {
31              if (s != null && s.equals(enabledValue)) {
32                  ((Ablable)tgt).able(true);
33              } else {
34                  ((Ablable)tgt).able(false);
35              }
36  
37  
38          } else {
39              E.error("must have ableable component, not " + tgt);
40          }
41  
42      }
43  
44      public void apply(boolean b) {
45          Object tgt = getTarget();
46  
47          if (tgt instanceof Ablable) {
48              if (b == enabledState) {
49                  ((Ablable)tgt).able(true);
50              } else {
51                  ((Ablable)tgt).able(false);
52              }
53  
54  
55          } else {
56              E.error("must have ableable component, not " + tgt);
57          }
58  
59      }
60  
61  }