Re: Manually culling a list
- To: mathgroup at smc.vnet.net
- Subject: [mg115131] Re: Manually culling a list
- From: Albert Retey <awnl at gmx-topmail.de>
- Date: Sat, 1 Jan 2011 04:25:56 -0500 (EST)
- References: <ifhi9c$i2o$1@smc.vnet.net>
Hi, > Suppose I have a longish list of items that I want to manually cull. > It seems I should be able to do something like > > checkList = ({Checkbox[], #)& /@ list > > Then, I could write > > instanceOfCheckList = checkList > > check away, and hopefully see something like > > {{True, item1}, {False, item2}, ...} > > which I could manipulate. But all I see is the the list of "checked" > checkboxs and items, not the consequence of checking the boxes. I can > do a FullForm on instanceOfCheckList and extract what I need via list > surgery-- but that is inelegant. I'm sure there is some magic > incantation involving Evaluate or Interpretation or Dynamic. Can you > help? I have seen you got some other solutions, but I wanted to mention that there is CheckboxBar, which does almost exactly what you try to achieve with much less trouble: values = CharacterRange["A", "F"]; selection = {}; CheckboxBar[Dynamic[selection], values, Appearance -> "Vertical"] this will dynamically set the variable selection to a list of all checked values. You can check that with this: Dynamic[selection] if you need the form you first suggested this would give you such a list: Map[{MemberQ[selection, #], #} &, values] of course you could also wrap that into an InputDialog, if you think that makes sense... hth, albert