Creating a popup menubox in a specified notebook

*To*: mathgroup at smc.vnet.net*Subject*: [mg82380] Creating a popup menubox in a specified notebook*From*: "tom_toad at telus.net" <tom_toad at telus.net>*Date*: Fri, 19 Oct 2007 04:51:57 -0400 (EDT)

Hello! I wonder if anyone can give me a bit of help with this problem. I am thinking of using the popupmenubox idea in the tests I create in my math classes. Students would use the menu to select a response. These responses would be stored in variables corresponding to the problem number. For example PopupMenu[Dynamic[p1], {"a", "b", "c", "d", "e"}] would create a popup menu with 5 choices, and the choice would be stored in variable p1 PopupMenu[Dynamic[p2], {"a", "b", "c", "d", "e"}] would create a popup menu with 5 choices, and the choice would be stored in variable p2 I have written some programs that create "random" math problems and answers, and use this to create math tests and assignments Here is my problem I can create a popupmenu in another window using the following first create a new notebook fred = CreateWindow[]; then create the popup menu in the new notebook.... the cell context of p1 would mean the choice would be stored in variable p1 NotebookWrite[fred, Cell[BoxData[ PopupMenuBox[ Dynamic[$CellContext`p1], {"a" -> "\<\"a\"\>", "b" -> "\<\"b\"\>", "c" -> "\<\"c\"\>", "d" -> "\<\"d\"\>", "e" -> "\<\"e\"\>"}]], "Output"]] How would I write that so I can build a line where the cell context can be changed under program control.... I.E. how would I create the expression for the $CellContext`p1 part of that line if the variable will be different for each question (say p1 for problem1, p2 for problem 2, and so on) I could then take my list of CORRECT answers , compare them with the list {p1, p2, ..... } and "autograde" the test. Perhaps the whole idea is crazy, I was just thinking of ways I might learn and use some of these new features in Mathematica 6. Any comments or ideas would be appreciated. Sincerely, Tom De Vries