I think this is right. Qt signals an event for the form close, but actually closes it when event processing is complete.
On 18 December 2015 at 17:23, bill lam <[email protected]> wrote: > Not sure what happened. My initial guess is that pclose calls an async > function to close the window and return immediately. The form will be > closed after some other events. Conversely if form had been destroyed > within the button event, its children could no longer exist, what would > happen to the process of code running by the button b1? > On Dec 19, 2015 8:42 AM, "robert therriault" <[email protected]> > wrote: > > > Henry, > > > > The other place that I have seen something like this is when running labs > > such as Arithmetic in the Live texts section. It happens in the very > first > > section of that lab. Also occurs in Book of Numbers, Grade 8-7 Saxon and > > Linear Algebra (and perhaps labs in other categories). > > > > It may not be related but it also strikes me as odd that the forms remain > > open on wdforms '' after they have been closed. A script to illustrate > > follows. > > > > Cheers, bob > > > > BETA=: 0 : 0 > > pc betavis ptop;setp wh 200 60; > > maxwh 200 20;cc b1 button;cn "close form"; > > pshow; > > ) > > > > betavis_b1_button=: 3 : 0 > > smoutput (wdforms '');'3';'Form open' > > betavis_close '' > > smoutput (wdforms '');'4';'Expected form closed but still open' > > status '' > > ) > > > > status=: 3 : 0 > > smoutput (wdforms '');'5'; 'Expected form closed but still open' > > ) > > > > betavis_close=: 3 : 'wd ''psel betavis;pclose;''' > > > > betavis_run=: 3 : 0 > > smoutput (wdforms '');'1' ;'No form' > > wd BETA > > smoutput (wdforms '');'2';'Form created' > > ) > > > > betavis_run '' > > > > > > > On Dec 18, 2015, at 2:53 PM, Henry Rich <[email protected]> wrote: > > > > > > So far the only problem is that sometimes the last line of the term > > window (where the next command will be entered) is misplaced. > > > > > > It is easy to create the error using dissect. I haven't been able to > > create it with a simpler testcase, so maybe it has something to do with > the > > fact that a form is drawn. dissect itself does no typeout and just > draws a > > form and produces a result. > > > > > > 1. Run > > > > > > dissect '3 + 5' > > > > > > This works correctly. Dissect returns with i. 0 0, so there is no > > typeout and the term window is ready for the next command. The form is > > created. > > > > > > 2. Run > > > > > > 2 dissect '3 + 5' > > > > > > The left argument to dissect instructs dissect to return the locale of > > the form. The result of dissect is now an atom, with empty shape. > Observe > > that there is a blank line between the line you typed in and the result > of > > dissect, and that the last line, where the next command will be entered, > > has boxing characters. It appears that the next-command line was output > > before the result of dissect. > > > > > > 3. Run > > > > > > 3 : 'i. 0 [ destroy__y $0' 2 dissect '3 + 5' > > > > > > This creates the form and immediately destroys it. The result should > be > > a blank line. As in case 2 above the new prompt seems to come out before > > the blank line, so that the cursor is lacking the customary 3 spaces. > > > > > > 4. Run > > > > > > 3 : 'i. 0 0 [ destroy__y $0' 2 dissect '3 + 5' > > > > > > Now there is no blank line emitted by the command line, and the display > > is correct. > > > > > > Finally, configure a function key to run dissect. I use > > > > > > F2;0;Dissect Line;dissect&.finddissectline_dissect_ 0 > > > > > > Type > > > > > > 3 + 5 > > > > > > then place the cursor on the 3+5 line and press F2. Note that a blank > > line is added to the term window, even though the PFkey is configured not > > to display. > > > > > > Henry Rich > > > > > > > > > > > > > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
