Re: How to make an InputField inside of a graphic active...
- To: mathgroup at smc.vnet.net
- Subject: [mg89623] Re: How to make an InputField inside of a graphic active...
- From: David Reiss <dbreiss at gmail.com>
- Date: Sun, 15 Jun 2008 06:13:52 -0400 (EDT)
- References: <g2th4e$7j4$1@smc.vnet.net> <g3034g$mbc$1@smc.vnet.net>
On Jun 14, 5:30 am, Albert Retey <a... at arcor.net> wrote:
> David Reiss wrote:
> > One can place, say, a Checkbox in a graphic using Inset:
>
> > Deploy[Graphics[{LightGray, Disk[], Inset[Checkbox[]]}]]
>
> > and the resulting Checkbox is active: i.e., you can click on it and
> > the expected behavior happens.
>
> > Now if I try to do this with an InputField as in
>
> > Deploy[Graphics[{LightGray, Disk[], Inset[InputField[]]}]]
>
> > The resulting Inputfield cannot be accessed in the familiar way: i.e.,
> > clicking inside of it and then typing.
>
> > Do the Group members have a suggestion for how to do this sort of
> > thing with an InputField.
>
> > This, of course, is a distilled version of something else. I am
> > building a CAD application for a customer, and I would like to place
> > input fields within the visual design that is being created so that
> > values can be assigned to various things. This behavior would be
> > toggeled on and off as needed...
>
> > thanks for any help that you folks can give....
>
> I think the problem is with Deploy, which AFAIK sets ContentSelectable
> to False for Graphics. The following sets it to true for only the Inset
> around the Inputfield which kind of works. I don't know whether that is
> good enough for your customer, since you need to at least double klick
> to select the text to edit, but not always, so it doesn't give a very
> reliable impression, although I think the behavior is deterministic,
> just not easy to follow...
>
> text="hello";
>
> Deploy@Graphics[{
> LightGray,Disk[],
> Black,Inset[InputField[Dynamic[text],String,Enabled->True],\
> ContentSelectable->True]}
>
> ]
>
> Dynamic[text]
>
> hth,
>
> albert
Thank you. This was very helpful.
Best,
David