I'm trying to construct a GUI that changes depending on what's chosen in certain popup menu's. For example: The default state of the menu is condition one, but when the first PopupMenu is selected other menu configurations are displayed. To keep the GUI simple each popup menu has a function attached and the menu change allows the user to use a different set of functions. Data input is done by importing so non of these menus provide variable input to functions. I have reviewed this code: Manipulate with a variable number of sliders but have not been able to figure out how to modify it to produce the results I need. Thanks very much for your help! Bad code example follows:

DynamicModule[{n = 1},
Column[{Dynamic[
Grid[Table[
With[{i = i}, {i,
Dynamic[data[[i]]], {a -> "one menu" ,
n}](*Table*)]](*Dynamic*)}, Center](*Column*)]


-
Ok, now I saw that I was way off in your intentions –  Rojo Jul 3 '12 at 1:47
@Rojo no prob, In the future I'll try and post a better example. Thanks! –  R Hall Jul 3 '12 at 1:55
@Rojo your answer had been deleted but just to follow up -- I am not rejecting the use of tagging rules per se -- I use them often -- just noting that they can be a bottleneck if you have a lot of them and it wasn't clear how big E Halls actual GUI is -- so worth the caveat. –  Mike Honeychurch Jul 3 '12 at 2:01
Mike, I had totally misinterpreted his question, my bad. I thought he wanted a separate dialog in which to choose from certain functions that would be available to him in another separate dialog. Somehow I read popup and thought dialog. So, I thought that if I used dynamic module wormholes, I would still need the generating notebook to link those dialogs... –  Rojo Jul 3 '12 at 2:10
@MikeHoneychurch, forgot to ping you in the previous comment –  Rojo Jul 3 '12 at 3:38

Let's see if now I got it better...

DynamicModule[{var = False},
Dynamic[var], {False -> #,

-
+1 for #0 and ##&[] :-) –  Mr.Wizard Jul 3 '12 at 2:28
@Mr.Wizard, I already used him once earlier today, which is weird because I never use it, check this. –  Rojo Jul 3 '12 at 2:30
@Rojo nicely done! Thanks! –  R Hall Jul 3 '12 at 2:30
One more thing to add to the long list of code samples I need to work through. –  Mr.Wizard Jul 3 '12 at 2:30
@Rojo actually that makes it of interest to me; after all "I code perverse Mathematica" according to Simon. –  Mr.Wizard Jul 3 '12 at 2:44

Some generic examples:

DynamicModule[{var = 3, var2 = 1, var3 = "hello"},

Column[{
Dynamic[var], {1 -> "Display Popup", 2 -> "Display Input field",
3 -> "None"}],

PaneSelector[{
2 -> InputField[Dynamic[var3]],
3 -> Spacer[0]
}, Dynamic[var]]

}]
]


Alternatively use Join and If | Switch | Which to determine what gets displayed:

DynamicModule[{var = 3, var2 = 1, var3 = "hello"},

Dynamic[
Column[
Join[
Dynamic[var], {1 -> "Display Popup", 2 -> "Display Input field",
3 -> "None"}]},

Switch[var,
2, {InputField[Dynamic[var3]]},
3, {}
]
]

],
TrackedSymbols :> {var}]
]


And you can set other variables based on what gets chosen in your "starting" popup e.g.:

PopupMenu[
Dynamic[var, (var = #; If[var==1,var2 = 2; var3 = "something"]) &], {1 ->
"Display Popup", 2 -> "Display Input field", 3 -> "None"}]

-
Very cool solution Mike. Works great! Thanks for the help! –  R Hall Jul 3 '12 at 1:53