MathGroup Archive 2008

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

Search the Archive

Use of RuleDelayed in PaneSelector

  • To: mathgroup at smc.vnet.net
  • Subject: [mg91104] Use of RuleDelayed in PaneSelector
  • From: "Eugene Kirpichov" <ekirpichov at gmail.com>
  • Date: Wed, 6 Aug 2008 05:05:56 -0400 (EDT)

I'm trying to implement a potentially infinite GUI tree control using
PaneSelector's and Opener's.
The issue is that I use RuleDelayed in the PaneSelector's first
argument to make the contents of panels lazy, so that the contents
would be constructed only when the corresponding panel is activated.
For example:

{Toggler[Dynamic[x]],  PaneSelector[{False -> "Inactive", True :>
Print["Activated!"]},   Dynamic[x]]}

I want this to produce a widget that prints "Activated!" each time x
transitions to True. However, all I get is an expression
Print["Activated!"].
If I wrap it into Evaluate[], I get "Activated!" printed immediately
and only once.

How should this code be written to satisfy the condition above?

...OK, perhaps is a 'potentially infinite GUI tree control' already
written somewhere in the standard library? :)

-- 
Eugene Kirpichov
Web IR developer, Yandex


  • Prev by Date: Re: Evaluate part of rhs of RuleDelayed
  • Next by Date: Re: Derivative of Dot[]
  • Previous by thread: Re: No preferences for OSX
  • Next by thread: Re: Use of RuleDelayed in PaneSelector