Question on Dynamic with "DockedCell"
- To: mathgroup at smc.vnet.net
- Subject: [mg104137] Question on Dynamic with "DockedCell"
- From: Jason Ledbetter <jasonbrent at gmail.com>
- Date: Tue, 20 Oct 2009 04:54:42 -0400 (EDT)
Folk, I'm attempting to create a dynamically-appearing set of choices/menus using ButtonBar in a notebook window but I've been unable to get the desired affect to date. I've cobbled together the following code which almost does what I'm looking for but I could use some pointers in getting the rest of the way. The goal here is for the "topMenu" items to appear when the notebook is first instantiated and for the "secondMenu" option to appear when a "topMenu" option is selected. As it stands now, I'm having to start with the "secondMenu" option pre-defined to a bogus value. If I were to abstract my goal some more, I'm trying to figure out how to dynamically add/remove RowBox items that include ButtonBars from the notebook based on options that are selected. I'm guessing that I somehow need to programmatically generate the contents of a Dynamically wrapped RowBox (e.g., Dynamic[RowBox[...]]) but I'm not quite sure how to go about that just yet. Any help is greatly appreciated... Here's what I have thus far: --snip-- Module[ {topMenu, secondMenu}, topMenu = {"option1", "option2"}; secondMenu = {"No option selected"}; menuChoice[choice_] := Module[{}, Switch[choice, "option1", secondMenu = {"one", "selected"}, "option2", secondMenu = {"two", "selected"}, _, Print[choice] ]]; CreateWindow[DockedCells -> Cell[ RowBox[ { ToBoxes[ ButtonBar[ToString[#] :> menuChoice[#] & /@ topMenu] ], ToBoxes[ Dynamic[ ButtonBar[ToString[#] :> menuChoice[#] & /@ secondMenu] ] ] } ], "DockedCell"], TextAlignment -> Center ] ]; --snip-- thanks, -jbl
- Follow-Ups:
- Re: Question on Dynamic with "DockedCell"
- From: Adam Griffith <adamg@wolfram.com>
- Re: Question on Dynamic with "DockedCell"