MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Question on Dynamic with "DockedCell"

  • To: mathgroup at smc.vnet.net
  • Subject: [mg104148] Re: Question on Dynamic with "DockedCell"
  • From: Adam Griffith <adamg at wolfram.com>
  • Date: Wed, 21 Oct 2009 06:29:20 -0400 (EDT)
  • References: <200910200854.EAA06280@smc.vnet.net>

I would suggest placing the code for the menus in a DynamicModule.


Notebook[........ , 
DockedCells->Cell[BoxData[ToBoxes at DynamicModule[..... all code.....], 
"DockedCell"]]

-Adam

Jason Ledbetter wrote:
> 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
>   


  • Prev by Date: Re: Simplifying the angle between two vectors
  • Next by Date: Re: Question on Dynamic with "DockedCell"
  • Previous by thread: Question on Dynamic with "DockedCell"
  • Next by thread: Re: Question on Dynamic with "DockedCell"