You may find this helpful:

http://www.jsoftware.com/jwiki/Guides/Asynchronous GUI

--
David Mitchell

Matthew Brand wrote:
> What does wd 'setupdate id' actually do? It does not appear to update
> the contents of the window. Is that something to do with using Java
> (noop)? I run J using command the jwd.
> 
> "setupdate id ; Update window immediately. Noop in Java."
> http://www.jsoftware.com/help/user/wd_commands.htm
> 
> 
> 2009/11/11 Matthew Brand <[email protected]>:
>> I've got another problem now. The window does not update while my
>> program is running :-(. So the progress bar does not progress.
>>
>> Is there a command that can be issued to tell the window to redraw?
>>
>>
>> Thanks,
>> Matthew.
>>
>> 2009/11/11 Matthew Brand <[email protected]>:
>>> I have come up with this to allow multiple progress bars. I can't work
>>> out how to make the close window button ( the cross) make the window
>>> disappear and destroy the progress object.
>>>
>>> ------------------------------------
>>> coclass 'progress'
>>>
>>> def =: 0 : 0
>>> xywh 6 16 172 11;cc ccprogress progress ws_border;
>>> xywh 6 3 173 10;cc info static;cn "";
>>> pas 6 6;pcenter;
>>> rem form end;
>>> pshow
>>> )
>>>
>>> create =: 3 : 0
>>> 'wname start end' =: y
>>> uname =: wname , > coname '' NB. unique name for wd
>>> wd def ,~ 'pc ', uname, ';'
>>> )
>>>
>>> destroy =: 3 : 0
>>>        wd 'psel ', uname, '; pclose'
>>>        codestroy ''
>>> )
>>>
>>>
>>> update =: 3 : 0
>>> pos =. ": 100 <. <. 100 * (y - start) % end - start
>>> wd 'psel ', uname,' ; set info ', pos,'; set ccprogress ', pos ,';'
>>> )
>>> --------------------------------------
>>>
>>> Example use:
>>> load jpath , '~user/classes/progress.ijs'
>>> p1 =. ('FirstBar';0;3) conew 'progress' NB. new progress bar scale 0 to 3
>>> p2 =. ('SecondBar';0;9) conew 'progress' NB. new progress bar scale 0 to 9
>>>
>>> update__p1 0
>>> update__p2 0
>>> update__p1 1
>>> update__p2 5
>>> update__p1 2
>>> update__p1 3
>>> update__p2 9
>>>
>>> destroy__p1 ''
>>> destroy__p2 ''
>>>
>>>
>>>
>>> 2009/11/11 David Mitchell <[email protected]>:
>>>> This guarantees that the correct parent form is active for subsequent 
>>>> commands.
>>>>  If you have multiple forms in your script (or are debugging a new form 
>>>> using
>>>> the J GUI, which has its own forms), the last form used is the active one.
>>>>
>>>> --
>>>> David Mitchell
>>>>
>>>> Matthew Brand wrote:
>>>>> Looks like you have to put the psel in the same call as the command
>>>>> you want to send to the control:
>>>>>
>>>>> wd 0 : 0
>>>>> psel proge;
>>>>> set info 40
>>>>> )
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> 2009/11/10 Don Guinn <[email protected]>:
>>>>>> I tried your foo1 and I couldn't get it to fail. I'm running VISTA. If 
>>>>>> you
>>>>>> are running under Windows you might want to look at
>>>>>> http://www.jsoftware.com/jwiki/Guides/Windows%20Progress%20Dialog as it
>>>>>> gives you a way to interrupt a long running task.
>>>>>>
>>>>>> On Tue, Nov 10, 2009 at 6:35 AM, David Mitchell 
>>>>>> <[email protected]>wrote:
>>>>>>
>>>>>>> psel is what I use:
>>>>>>>
>>>>>>>    foo1=: 3 : 0
>>>>>>> wd 'psel proge'
>>>>>>> wd 'set info ',": y
>>>>>>> wd 'set ccprogress ',": y
>>>>>>> )
>>>>>>>
>>>>>>> --
>>>>>>> David Mitchell
>>>>>>>
>>>>>>> Matthew Brand wrote:
>>>>>>>> "I am trying to understand how it works so I wrote this" ... well
>>>>>>>> actually I mainly copy/pasted it from pASepProgressBar :-).
>>>>>>>>
>>>>>>>> 2009/11/10 Matthew Brand <[email protected]>:
>>>>>>>>> I can't get the pASepProgressBar class to work.
>>>>>>>>> I am trying to understand how it works so I wrote this:
>>>>>>>>> wd 0 : 0
>>>>>>>>> pc proge;
>>>>>>>>> xywh 6 16 172 11;cc ccprogress progress ws_border;
>>>>>>>>> xywh 6 3 173 10;cc info static;cn "";
>>>>>>>>> pas 6 6;pcenter;
>>>>>>>>> rem form end;
>>>>>>>>> pshow;
>>>>>>>>> set info 50
>>>>>>>>> )
>>>>>>>>> wd 'set info 40'
>>>>>>>>> If I highlight it all and press ctrl-R then it works as expected with
>>>>>>> the
>>>>>>>>> info label set to 40.
>>>>>>>>> But if I try to run  wd 'set info 40' after that, I get an error:
>>>>>>>>>    wd 'set info 40'
>>>>>>>>> |domain error: wd
>>>>>>>>> |       wd'set info 40'
>>>>>>>>> |[-0]
>>>>>>>>>    wd 'qer'
>>>>>>>>> bad id : 0
>>>>>>>>> How do I tell the wd command that I am referring to the info control
>>>>>>> inside
>>>>>>>>> the window (parent?)  proge?
>>>>>>>>> What should I write instead of:
>>>>>>>>>    wd 'set info 40'
>>>>>>>>> Thanks,
>>>>>>>>> Matthew.
>>>>>>>>>
>>>>>>>>> 2009/10/11 David Mitchell <[email protected]>
>>>>>>>>>> For Windows, there is this:
>>>>>>>>>>
>>>>>>>>>> http://www.jsoftware.com/jwiki/Guides/Windows%20Progress%20Dialog
>>>>>>>>>>
>>>>>>>>>> or the WD object progressbar:
>>>>>>>>>>
>>>>>>>>>> http://www.jsoftware.com/help/user/wd_commands.htm
>>>>>>>>>>
>>>>>>>>>> You can see the WD progress bar in action in the "controls" demo on 
>>>>>>>>>> the
>>>>>>>>>> bottom
>>>>>>>>>> of the "selects" tab.
>>>>>>>>>> --
>>>>>>>>>> David Mitchell
>>>>>>>>>>
>>>>>>>>>> Matthew Brand wrote:
>>>>>>>>>>> Is there a library of "widgets" or does anybody have any code that 
>>>>>>>>>>> can
>>>>>>>>>>> display some kind of progress bar.
>>>>>>>>>>> E.g.
>>>>>>>>>>>
>>>>>>>>>>> init_progressBar_ 10 NB. there will be 10 steps to 100% completion
>>>>>>>>>>>
>>>>>>>>>>> for_i i.10 do.
>>>>>>>>>>>   NB. do calculation step here...
>>>>>>>>>>>   update_progressBar_ i NB. alter progress bar to position i
>>>>>>>>>>> end.
>>>>>>>>>>>
>>>>>>>>>>> end_progressBar_ '' NB. stop displaying the progress bar.
>>>>>>>>>>>
>>>>>>>>>>> Just thought I would ask if this already exists before trying to 
>>>>>>>>>>> write
>>>>>>>>>>> something to do it.
>>>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>>>> 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
>>>>>>>
>>>>>> ----------------------------------------------------------------------
>>>>>> 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
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to