DynamicModule question

*To*: mathgroup at smc.vnet.net*Subject*: [mg88549] DynamicModule question*From*: "J. McKenzie Alexander" <jalex at lse.ac.uk>*Date*: Thu, 8 May 2008 04:13:19 -0400 (EDT)

Can someone please explain to me why the following happens? It's a silly little example to illustrate a problem I ran into recently... First, evaluate the following in separate cells: Needs["PieCharts`"]; data = {.25, .75} Then evaluate the following: DynamicModule[{size = 300}, Column[{ Slider[Dynamic[size], {100, 500}], Dynamic[PieChart[data, ImageSize -> size]] }] ] Notice that you can not only resize the graphic by dragging the slider, but if you change the definition of data, that's reflected automatically in the graphic as well. However, suppose you wrap the DynamicModule in a function like so: foo[data_] := DynamicModule[{size = 300}, Column[{ Slider[Dynamic[size], {100, 500}], Dynamic@PieChart[data, ImageSize -> size] }] ] Now evaluate foo[ data ] If you change the definition of data in the notebook, the second DynamicModule doesn't update the pie charts. I don't understand what breaks when you wrap the DynamicModule in a function definition. Many thanks! Jason -- Dr J. McKenzie Alexander Department of Philosophy, Logic and Scientific Method London School of Economics and Political Science Houghton Street, London WC2A 2AE Please access the attached hyperlink for an important electronic communications disclaimer: http://www.lse.ac.uk/collections/secretariat/legal/disclaimer.htm