MathGroup Archive 2012

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

Search the Archive

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



  • Prev by Date: Dynamically launching more kernels *during* a parallel calculation -- is it safe?
  • Next by Date: Plots for terms of polynomials. Slider initial values?
  • Previous by thread: Re: Input cells destroy Grids?
  • Next by thread: Re: Input cells destroy Grids?