Re: Function Name Info Demonstration Attempt
- To: mathgroup at smc.vnet.net
 - Subject: [mg106333] Re: Function Name Info Demonstration Attempt
 - From: Albert Retey <awnl at gmx-topmail.de>
 - Date: Fri, 8 Jan 2010 04:18:36 -0500 (EST)
 - References: <hi42ef$n4g$1@smc.vnet.net>
 
Hi,
> Consider the following [Version 7] code which works except that the
> output is not _completely_ contained within the Manipulate "box". Can
> anyone suggest how to correct this?
> 
> Manipulate[ToExpression["??" <> f],
>  {{f, "Pi", "function info"}, b},
>  Initialization :> {
>    a = Append[CharacterRange["A", "Z"], "$"];
>    b = Flatten[Names["System`" <> # <> "*"] & /@ a, Infinity];
>    }
>  ]
Information prints its information as a side effect, I don't think there
is an easy way to redirect this to the Manipulate box. But the following
constructs the information that Information displays from some building
blocks:
Manipulate[
 Column[{
   Framed[
    Row[{
      Style[ToExpression[f <> "::usage"], "MSG"],
      Hyperlink[Style["\[RightSkeleton]", "SR"], "paclet:ref/" <> f]
      }],
    Background -> LightYellow, FrameStyle -> Orange
    ],
   Spacer[5],
   Definition[Evaluate[f]]
   }],
 {{f, "Pi", "function info"}, b},
 Initialization :> {
   a = Append[CharacterRange["A", "Z"], "$"];
   b = Flatten[Names["System`" <> # <> "*"] & /@ a, Infinity];
   }
 ]
of course you can spend hours to improve the formatting :-)
hth,
albert