| 1 19 20 package ca.mcgill.sable.soot.ui; 21 22 import org.eclipse.swt.widgets.*; 23 import org.eclipse.swt.*; 24 import org.eclipse.swt.layout.*; 25 import java.util.*; 26 27 public class MultiOptionWidget implements ISootOptionWidget { 28 private String alias; 29 private OptionData [] dataVals; 30 private String [] values; 31 private String [] aliases; 32 private Button [] buttons; 33 34 35 40 public MultiOptionWidget(Composite parent, int style, 41 OptionData [] dataVals, OptionData data) { 42 43 setAlias(data.getRealAlias()); 44 45 Group multi = new Group(parent, SWT.NONE); 46 GridLayout gl = new GridLayout(); 47 gl.numColumns = 2; 48 49 multi.setLayout(gl); 50 51 GridData gridData2 = new GridData(GridData.HORIZONTAL_ALIGN_FILL); 52 gridData2.horizontalSpan = 2; 53 multi.setLayoutData(gridData2); 54 55 GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); 56 57 58 GridData gd = new GridData(GridData.CENTER ); 59 gd.horizontalSpan = 4; 60 Label label = new Label(multi, SWT.NONE); 61 label.setText(data.getText()); 62 label.setLayoutData(gd); 63 label.setToolTipText(data.getTooltip().trim()); 64 65 setButtons(new Button [dataVals.length]); 66 setDataVals(dataVals); 67 68 69 for (int i = 0; i < dataVals.length; i++) { 70 buttons[i] = new Button(multi, SWT.RADIO); 71 buttons[i].setText(dataVals[i].getText()); 72 buttons[i].setToolTipText(dataVals[i].getTooltip().trim()); 73 74 if (dataVals[i].isDefaultVal()) { 75 buttons[i].setSelection(true); 76 } 77 } 78 79 80 } 81 82 public ArrayList getControls(){ 83 ArrayList controls = new ArrayList(); 84 for (int i = 0; i < getDataVals().length; i++){ 85 controls.add(buttons[i]); 86 } 87 return controls; 88 } 89 90 public String getId(){ 91 return getAlias(); 92 } 93 94 public void setDef(String id) { 95 for (int i = 0; i < buttons.length; i++) { 96 if (dataVals[i].getAlias().equals(id)) { 97 buttons[i].setSelection(true); 98 } 99 else { 100 buttons[i].setSelection(false); 101 } 102 } 103 } 104 105 public String getSelectedAlias() { 106 for (int i = 0; i < buttons.length; i++) { 107 if (buttons[i].getSelection()) { 108 return dataVals[i].getAlias(); 109 } 110 } 111 return ""; 112 } 113 114 118 public String getAlias() { 119 return alias; 120 } 121 122 126 public void setAlias(String alias) { 127 this.alias = alias; 128 } 129 130 134 public String [] getAliases() { 135 return aliases; 136 } 137 138 142 public Button[] getButtons() { 143 return buttons; 144 } 145 146 150 public String [] getValues() { 151 return values; 152 } 153 154 158 public void setAliases(String [] aliases) { 159 this.aliases = aliases; 160 } 161 162 166 public void setButtons(Button[] buttons) { 167 this.buttons = buttons; 168 } 169 170 174 public void setValues(String [] values) { 175 this.values = values; 176 } 177 178 182 public OptionData[] getDataVals() { 183 return dataVals; 184 } 185 186 190 public void setDataVals(OptionData[] dataVals) { 191 this.dataVals = dataVals; 192 } 193 194 } 195 | Popular Tags |