Skip to main content

manipulate - Object isn't fully displayed in DialogInput


Update: Here's a simper example to reproduce the issue:



DialogInput[Table[InputField[], {50}], WindowSize -> All]

On my 1366×768 screen only no more than 17 InputFields are displayed.




This happens at least when a Manipulate that owns a big enough image and an adequate number of controller is inside DialogInput. Try the following example:


picture = Rasterize[Table[i + j, {i, 40}, {j, 40}] // MatrixForm];
DialogInput[{Manipulate[picture, {a}, {a}, {a}, {a}, {a}],
DefaultButton@DialogReturn[]}, WindowSize -> All]

enter image description here



As one can see, the last line of the matrix and the DefaultButton aren't displayed, and the WindowSize -> All option doesn't work. What am I doing wrong here? Or it's a bug? Let alone whether it's a bug or not, how to fix it (in a general way if possible)?


The issue seems to be related to the screen resolution. (Mine is 1366×768.) If you own a better screen, you may need to make the picture larger to reproduce it.



Answer



I might not have understood the question correctly. But it seems to me that adding


WindowElements->"VerticalScrollBar" to the code should fix the problem. a simple code


DialogInput[Table[InputField[i], {i, 2000}], WindowElements -> "VerticalScrollBar"]

works real well.


Here's my screenshot of the last several InputField:


enter image description here



Still works for the original Dialog with Manipulate.


picture = Rasterize[Table[i + j, {i, 40}, {j, 40}] // MatrixForm];
DialogInput[{Manipulate[picture, {a}, {a}, {a}, {a}, {a}],
DefaultButton@DialogReturn[]}, WindowSize -> All,
WindowElements -> "VerticalScrollBar"]

enter image description here


Comments