2011-10-20 17:22 UTC
I have a few modeless dialogs my progs use.
If the user is in the middle of some other lisp function, and they pick a button on the modeless, the code for the modeless cannot run, as that would interrupt the other function running - right?
Is there any way to allow the modeless code to run for that button in a graceful way?
Let's assume i have code for both the original command the user is running, as well as the dialog and callbacks.
Does the synchronous or asynchronous property of the button have anything to do with it?
I say button, but really what is going on is the user is switching the value of a dropdown list while in another command. I guess I could disable the modeless at start of command to prevent this, but the error catching of the command must be perfect to re-enable the modeless when done, rather fragile.
Currently, I have to save the state of the dropdown, then check its state whenever commands are run that rely on it. The problem is that when the user changes the dropdown while within another command, its code does not run, but the user thinks it worked because the dropdown shows the new value.
If the user is in the middle of some other lisp function, and they pick a button on the modeless, the code for the modeless cannot run, as that would interrupt the other function running - right?
Is there any way to allow the modeless code to run for that button in a graceful way?
Let's assume i have code for both the original command the user is running, as well as the dialog and callbacks.
Does the synchronous or asynchronous property of the button have anything to do with it?
I say button, but really what is going on is the user is switching the value of a dropdown list while in another command. I guess I could disable the modeless at start of command to prevent this, but the error catching of the command must be perfect to re-enable the modeless when done, rather fragile.
Currently, I have to save the state of the dropdown, then check its state whenever commands are run that rely on it. The problem is that when the user changes the dropdown while within another command, its code does not run, but the user thinks it worked because the dropdown shows the new value.