Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

This question is based on my earlier question about randomizing labs for students in my computer lab courses. There a perfectly good solution was posted; however, because of privilege problems, I cannot use the exact method there, as I do not have the ability to modify global settings.

So now I've decided on a different approach: having an input field at the top of the lab, where the student is prompted to enter their name, and hit a button "Begin Lab". The button will use the name (among other things) as a seed to randomize the lab. All well and good.

However, before that button is clicked, I would like to "gray out" or hide all other cells in the lab. In other words, the only active, usable cell is this one containing the "Begin Lab" button, until that button is clicked!

Is this possible? Can it be done without making changes to the global settings (preferably) ?

share|improve this question

1 Answer 1

One possibility would be to (programmatically) add dynamic options to all cells. E.g., one cell could look like :

Cell["1-1", "Input",
 Evaluatable->Dynamic[eval],
 CellOpen->Dynamic[open],
 Background->Dynamic[bcolor]]

Then, if you evaluate in a subsequenc cell (or by Button) this:

eval = True; open = True; bcolor = LightGray

the Cell becomes visible.

Kind of scary, because the cells all get closed once you quit the kernel, but maybe with Deploy or another button you could fix that.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.