1 19 package ca.mcgill.sable.soot.ui; 20 21 import java.util.*; 22 23 import org.eclipse.swt.widgets.*; 24 import ca.mcgill.sable.soot.ui.*; 25 26 27 public class EnableGroup { 28 29 private String phaseAlias; 30 private String subPhaseAlias; 31 private BooleanOptionWidget leader; 32 private ArrayList controls; 33 private boolean phaseOptType; 34 35 public EnableGroup(){ 36 37 } 38 39 public void addControl(ISootOptionWidget c){ 40 if (getControls() == null){ 41 setControls(new ArrayList()); 42 } 43 getControls().add(c); 44 } 45 46 public void addControls(ArrayList c){ 47 if (getControls() == null){ 48 setControls(new ArrayList()); 49 } 50 getControls().addAll(c); 51 } 52 53 public boolean isLeader(BooleanOptionWidget l){ 54 if (l.equals(getLeader())) return true; 55 return false; 56 } 57 58 public void changeControlState(boolean enabled){ 59 if (getControls() == null) return; 60 Iterator it = getControls().iterator(); 61 while (it.hasNext()){ 62 ISootOptionWidget control = (ISootOptionWidget)it.next(); 63 if (control.getControls() == null) continue; 64 Iterator conIt = control.getControls().iterator(); 65 while (conIt.hasNext()){ 66 Object obj = conIt.next(); 67 ((Control)obj).setEnabled(enabled); 68 } 69 70 } 71 } 72 73 76 public ArrayList getControls() { 77 return controls; 78 } 79 80 83 public BooleanOptionWidget getLeader() { 84 return leader; 85 } 86 87 90 private void setControls(ArrayList list) { 91 controls = list; 92 } 93 94 97 public void setLeader(BooleanOptionWidget button) { 98 leader = button; 99 } 100 101 public String toString(){ 102 StringBuffer sb = new StringBuffer (); 103 sb.append("Phase: "+getPhaseAlias()+" SubPhase: "+getSubPhaseAlias()); 104 sb.append("Leader: "+getLeader().getAlias()+" sel: "+getLeader().getButton().getSelection()+" enabled: "+getLeader().getButton().isEnabled()+"\n"); 105 if (getControls() != null){ 106 Iterator it = getControls().iterator(); 107 while (it.hasNext()){ 108 ISootOptionWidget next = (ISootOptionWidget)it.next(); 109 sb.append("control: "+next.getId()+"\n"); 110 if (next instanceof BooleanOptionWidget){ 111 sb.append("control is boolean and enable state: "+((BooleanOptionWidget)next).getButton().isEnabled()+"\n"); 112 } 113 } 114 } 115 return sb.toString(); 116 } 117 118 121 public String getPhaseAlias() { 122 return phaseAlias; 123 } 124 125 128 public String getSubPhaseAlias() { 129 return subPhaseAlias; 130 } 131 132 135 public void setPhaseAlias(String string) { 136 phaseAlias = string; 137 } 138 139 142 public void setSubPhaseAlias(String string) { 143 subPhaseAlias = string; 144 } 145 146 149 public boolean isPhaseOptType() { 150 return phaseOptType; 151 } 152 153 156 public void setPhaseOptType(boolean b) { 157 phaseOptType = b; 158 } 159 160 } 161 | Popular Tags |