1 2 package org.catacomb.druid.blocks; 3 4 import org.catacomb.druid.build.Context; 5 import org.catacomb.druid.build.GUIPath; 6 import org.catacomb.druid.gui.base.DruPanel; 7 import org.catacomb.druid.gui.edit.DruRadioButtons; 8 9 10 11 public class RadioButtons extends Panel { 12 13 public String action; 14 public String layout; 15 16 public String label; 17 18 public String store; 19 20 public String options; 21 public String labels; 22 23 public String from; 24 public int autoSelect; 25 26 27 28 public RadioButtons() { 29 autoSelect = -1; 30 } 31 32 33 34 public DruPanel instantiatePanel() { 35 36 if (layout == null) { 37 layout = "vertical"; 38 } 39 40 return new DruRadioButtons(label, action, layout); 41 } 42 43 public void populatePanel(DruPanel dp, Context ctx, GUIPath gpath) { 44 45 DruRadioButtons drup = (DruRadioButtons)dp; 46 47 if (options != null) { 48 String[] sa = options.split(","); 49 50 String[] sopts = new String[sa.length]; 51 String[] slabs = new String[sa.length]; 52 53 for (int i = 0; i < sa.length; i++) { 54 String s = sa[i].trim(); 55 sopts[i] = s; 56 slabs[i] = s; 57 } 58 59 if (labels != null) { 60 String[] sb = labels.split(","); 61 for (int i = 0; i < sa.length && i < sopts.length; i++) { 62 slabs[i] = sb[i].trim(); 63 } 64 } 65 66 drup.setOptions(sopts, slabs); 67 } 68 69 70 if (autoSelect >= 0) { 71 drup.setAutoSelect(autoSelect); 72 } 73 74 if (from != null && from.length() > 0) { 75 ctx.getMarketplace().addConsumer("ChoiceOptions", drup, from); 76 } 77 78 } 79 80 }