The text entry boxes for VisualizationApp arguments are created with handlers that call argumentChanged() with the entry widget as an argument when users type values in the box. Various other methods call argumentChanged() without an entry widget to initiate a check of the argument status for enabling buttons of operations requiring arguments. Perhaps argumentChanged() should only change button status to enabled when an entry widget is passed, signaling that a user's update has possibly enabled the operation. That would prevent spurious button enabling from program-initiated argument changes. I think we want to maintain that buttons can be disabled when program-initiated argument changes clear needed arguments.
The text entry boxes for
VisualizationApparguments are created with handlers that callargumentChanged()with the entry widget as an argument when users type values in the box. Various other methods callargumentChanged()without an entry widget to initiate a check of the argument status for enabling buttons of operations requiring arguments. PerhapsargumentChanged()should only change button status to enabled when an entry widget is passed, signaling that a user's update has possibly enabled the operation. That would prevent spurious button enabling from program-initiated argument changes. I think we want to maintain that buttons can be disabled when program-initiated argument changes clear needed arguments.