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