Re: Input cells destroy Grids?
- To: mathgroup at smc.vnet.net
- Subject: [mg124724] Re: Input cells destroy Grids?
- From: A Retey <awnl at gmx-topmail.de>
- Date: Thu, 2 Feb 2012 04:57:39 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jgaufa$esh$1@smc.vnet.net>
Am 01.02.2012 09:51, schrieb Mark Green:
> I'm trying to make a slide which will allow students to insert arbitrary numbers into a matrix multiplication, and have gotten this:
>
> incel = {1, 2, 3, 4};
> matrix = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}};
> Style[Grid[{{MatrixForm[incel, TableDirections -> Row],
> ""}, {InputField[MatrixForm[matrix]], MatrixForm[incel.matrix]}}],
> FontSize -> 40]
>
> It looks fine if I remove the InputField call, but with it in there, the input field takes up the entire width of the notebook, ignoring the fact there's supposed to be a grid cell to the right of it. Also, I have a feeling this won't work in FreeCDF because the input is of a matrix, not a number.
>
> Is there a better way of doing this that inputs only numbers and that fits in a grid?
I think this is doing what you want:
matrix = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}};
MatrixForm[
Table[With[{i = i, j = j},
InputField[Dynamic[matrix[[i, j]]], Number, ImageSize -> 50]], {i,
4}, {j, 4}]]
If you want, you can use Appearance -> None for the InputFields which
makes the result look like what you had. On the other hand I think that
it usually is best to avoid overdressed user interface but instead stick
with conventions for guis so everyone will understand at first glance
how they work...
hth,
albert