def __init__(self, screen, info):
        """
        @param buttonarray is an array in the form ([radiobutton, widget], ...)
        """
        from snack import RadioGroup, Textbox, Entry, FLAG_DISABLED

        self.group = RadioGroup()
        self.list = []
        self.item = 0
        self.info = info

        Grid.__init__(self, 1, len(info.getSuggestions()) + 6)

        self.setField(Textbox(20, 1, "Default:"), 0, 0, padding=(0, 0, 0, 0), anchorLeft=1)
        db = self.group.add(info.getDefault(), info.getDefault(), info.getValue() == info.getDefault())

        # print >> sys.stderr, "default: %s, value %s" %(info.getDefault(), info.getValue())

        db.setCallback(self._hasManualToggled)
        self.setField(db, 0, 1, (0, 0, 0, 0), anchorLeft=1, growx=1)
        # self.setField(dt, 1, self.item)
        self.setField(Textbox(20, 1, "Detected:"), 0, 2, padding=(0, 0, 0, 0), anchorLeft=1)

        self.item = self.item + 3
        self.list.append(db)
        for value in info.getSuggestions():
            b = self.group.add(value, value, info.getValue() == value)
            b.setCallback(self._hasManualToggled)
            self.setField(b, 0, self.item, (0, 0, 1, 0), anchorLeft=1, growx=1)
            # self.setField(t, 1, self.item)
            self.item = self.item + 1

        self.setField(Textbox(20, 1, "Manual:"), 0, self.item, padding=(0, 0, 0, 0), anchorLeft=1)
        self.item = self.item + 1
        self.dm = self.group.add("edit", "manual", info.getValue() == info.getManual())
        self.dm.setCallback(self._hasManualToggled)
        self.manualentry = Entry(15, info.getManual())
        self.manualentry.setFlags(FLAG_DISABLED, sense=not (self.dm.selected()))
        self.setField(self.dm, 0, self.item, (0, 0, 1, 0), anchorLeft=1, growx=1)
        self.setField(self.manualentry, 0, self.item + 1, (0, 0, 1, 0), anchorLeft=1)
        self._hasManualToggled()
    def __init__(self, screen, info):
        """
        @param buttonarray is an array in the form ([radiobutton, widget], ...)
        """
        from snack import RadioGroup, Textbox, Entry, FLAG_DISABLED
        self.group = RadioGroup()
        self.list = []
        self.item = 0
        self.info = info

        Grid.__init__(self, 1, len(info.getSuggestions()) + 6)

        self.setField(Textbox(20, 1, "Default:"),
                      0,
                      0,
                      padding=(0, 0, 0, 0),
                      anchorLeft=1)
        db = self.group.add(info.getDefault(), info.getDefault(), \
                            info.getValue() == info.getDefault())

        #print >> sys.stderr, "default: %s, value %s" %(info.getDefault(), info.getValue())

        db.setCallback(self._hasManualToggled)
        self.setField(db, 0, 1, (0, 0, 0, 0), anchorLeft=1, growx=1)
        #self.setField(dt, 1, self.item)
        self.setField(Textbox(20, 1, "Detected:"),
                      0,
                      2,
                      padding=(0, 0, 0, 0),
                      anchorLeft=1)

        self.item = self.item + 3
        self.list.append(db)
        for value in info.getSuggestions():
            b = self.group.add(value, value, info.getValue() == value)
            b.setCallback(self._hasManualToggled)
            self.setField(b, 0, self.item, (0, 0, 1, 0), anchorLeft=1, growx=1)
            #self.setField(t, 1, self.item)
            self.item = self.item + 1

        self.setField(Textbox(20, 1, "Manual:"),
                      0,
                      self.item,
                      padding=(0, 0, 0, 0),
                      anchorLeft=1)
        self.item = self.item + 1
        self.dm = self.group.add("edit", "manual",
                                 info.getValue() == info.getManual())
        self.dm.setCallback(self._hasManualToggled)
        self.manualentry = Entry(15, info.getManual())
        self.manualentry.setFlags(FLAG_DISABLED,
                                  sense=not (self.dm.selected()))
        self.setField(self.dm,
                      0,
                      self.item, (0, 0, 1, 0),
                      anchorLeft=1,
                      growx=1)
        self.setField(self.manualentry,
                      0,
                      self.item + 1, (0, 0, 1, 0),
                      anchorLeft=1)
        self._hasManualToggled()