Well, I apologize if I'm a little off tonight, got a little headache going on.
Regards, Bob On Tue, Jan 26, 2010 at 10:17 PM, Bob Santos <[email protected]> wrote: > Hi Chris, > > Thanks for clearing that up! > > Well, I haven't implemented one yet but I guess since in Clint's scenario > example he can put the code to for the next dialog to pop up depending on > what the user chooses(yes/no). > > This is taken from Sun tutorials: > > // open confirm dialog > > int n = JOptionPane.showConfirmDialog( > null, > "Would you like green eggs and ham?", > "An Inane Question", > > JOptionPane.YES_NO_OPTION); > > if(n == JOptionPane.YES_OPTION){ > // open new dialog > JOptionPane.showMessageDialog( > null, > "You selected yes.", > "Yes Option", > > JOptionPane.INFORMATION_MESSAGE); > } > > Now, if only someone can do that in Pivot. > > > On Tue, Jan 26, 2010 at 10:06 PM, Christopher Brind < > [email protected]> wrote: > >> Hi Bob, >> >> This isn't really about being modal, but about stopping the flow of >> execution. For example, in Javascript: >> >> Alert.show("hello"); >> >> Alert.show("world"); >> >> >> The second alert doesn't appear until you press OK on the first. >> >> In Pivot or Swing (and every other UI framework?) if you popup an Alert >> processing continues, for instance in Flex: >> >> Alert.show("hello"); >> >> Alert.show("world"); >> >> >> The second alert appears immediately and on top of the previous one. >> >> Clint wants to achieve the first scenario, but this is not possible with >> Pivot. >> >> Cheers, >> Chris >> >> >> >> 2010/1/26 Bob Santos <[email protected]> >> >>> If I'm not mistaken, in Swing, you can create confirm dialogs(Yes/No), >>> message dialogs or option dialogs by using JOptionPane and also I think they >>> are by default modal(?), which means access to other part of the application >>> is not allowed until interaction with the active dialog is done. >>> >>> You can also create your custom dialog by extending Dialog and specifying >>> the modality. >>> >>> And yes it helps to know that everything you want to do with the UI >>> should be done within the EDT as Greg stated. >>> >>> >>> >>> On Tue, Jan 26, 2010 at 9:40 PM, Greg Brown <[email protected]> wrote: >>> >>>> Hi Clint, >>>> >>>> > Now, my question: Is it possible to achieve behavior like the >>>> > Javascript's alert() function with Pivot? That is, I'd like to put up >>>> a >>>> > simple yes/no "do something"/"please don't" popup on the screen, and >>>> > have the app block - the alert doesn't just block input to other >>>> > elements - until the user chooses an option, or closes the popup. >>>> This >>>> > is possible in SWT, I don't know about Swing. >>>> >>>> Sorry, it is not possible - as you noted, Window#open() is not a >>>> blocking call in WTK. Pivot is ultimately based on AWT, which uses a push >>>> model for event notifications (vs. pull). If you were to call a blocking >>>> method from a user input event such as a button press, no further event >>>> processing could occur until that method had returned, and the entire UI >>>> would appear to freeze. >>>> >>>> I personally don't mind the anonymous inner class syntax: >>>> >>>> dialog.open(owner, new DialogCloseListener() { >>>> @Override >>>> public void dialogClosed(Dialog dialog, boolean modal) { >>>> // Get selected option and act on it >>>> } >>>> }); >>>> >>>> I actually think this reflects a pretty consistent design - you open the >>>> dialog in response to one event (e.g. "button pressed"), and you handle the >>>> dialog's result in response to another event (e.g. "dialog closed"). >>>> >>>> > Making the call to Dialog.open() from another thread doesn't have any >>>> effect. >>>> >>>> Note that, as in Swing, multi-threaded access to UI elements is not >>>> supported. All UI operations must be performed on the EDT. >>>> >>>> Hope this helps, >>>> Greg >>>> >>>> >>> >> >
