--- Douglas G. Danforth, Ph.D. - Research Scientist QuikCAT.com 6700 Beta Drive, Suite 200, Mayfield Village, OH 44143-2335 danforth{([at]})nowhere.xy]-----Original Message----- ]From: johansson{([at]})nowhere.xy]Sent: Tuesday, February 20, 2001 7:49 AM ]To: Danforth, Douglas ]Cc: BlackBox (postings) (E-mail) ]Subject: RE: OpenAux (view: View; title: Title) ] ] ] ]Hi Doug, ] ]the main approach of BlackBox is to program without using windows. The ]View-abstraction is the central abstraction and the idea is ]that this should ]be enough for most applications. Since a view can be opened in several ]windows at the same time, this does not comply with the more classical ]window-centered programming. A view can also be part of a ]document, in which ]case "closing" a view does not make any sence. ] ]It is clear that the View-abstraction does not work in all ]cases but in our ]experience it is often possible to redesign an application so ]that it no ]longer needs to use windows. This often leads to a more ]flexible application ]without modal windows or other limitations. ] ]The main design model is that programs create and manipulate documents, ]which are shown to the users. Users may manipulate documents ]further, maybe ]with the help of other programs (i.e. commands). If the user ]decides that a ]document is not needed anymore, he or she can decide to close ]the window ]displaying it. ] ]So, the first advise would be to look closely at your ]application and try to ]find a different approach where you no longer need to handle ]windows and ]instead can focus on the views in your application. ] ]If it is not possible to redesign your application you will ]have to use the ]Windows-abstraction in BlackBox. This is not documented, for ]the reasons ]given above and also because it is a non-portable module. But, ]as seen in ]the other replies to this topic, it is pretty straight forward to use. ] ]Both suggested solutions would be used by us in such a case, ]but we do have ]a small safety correction to the solution suggested by Helmut Zinn. ]StdCmds.OpenAux can fail and this leads to that the wrong ]window is returned ]by Windows.dir.Focus(TRUE). So it is better to use ]StdApi.OpenAux, which ]lets you react if OpenAux fails. Here is our suggetion of how ]to find the ]right window: ] ]MODULE PrivWin; ] ] IMPORT StdApi, Windows, Views; ] ] VAR win: Windows.Window; ] ] PROCEDURE Open*; ] VAR v: Views.View; ] BEGIN ] StdApi.OpenAux('Text/Rsrc/Cmds.odc', 'Find', v); ] IF v # NIL THEN ] win := Windows.dir.Focus(TRUE) ] ELSE ] win := NIL ] END ] END Open; ] ] PROCEDURE Close*; ] BEGIN ] IF win # NIL THEN Windows.dir.Close(win) END; ] win := NIL ] END Close; ] ]END PrivWin. ] ] ]Regards, ]Bengt Johansson, Oberon microsystems ] ]> -----Original Message----- ]> From: Danforth, Douglas [mailto:DDanforth{([at]})nowhere.xy]> Sent: Montag, 19. Februar 2001 21:25 ]> To: 'blackbox{([at]})nowhere.xy]> Subject: OpenAux (view: View; title: Title) ]> ]> ]> Folks, ]> ]> What is the proper way to close a window under program control? ]> ]> Views.OpenAux(view, title) creates a visible instance. ]> How does one close that instance *without* handling a message? ]> (One is not permitted to use the mouse to click the window). ]> ]> (Normally I would expect something like: ]> frame/handle/document := Views.OpenAux(view, title); ]> combined with a symmetric call of ]> Views.CloseAux(frame/handle/document)). ]> ]> -Doug ]> ]> --- ]> Douglas G. Danforth, Ph.D. - Research Scientist ]> QuikCAT.com 6700 Beta Drive, Suite 200, Mayfield Village, OH ]> 44143-2335 ]> danforth{([at]})nowhere.xy]> -------------------------------------------- ]> ]> To unsubscribe from this mailing list, send a message containing ]> the word "unsubscribe" to: ]> blackbox-request{([at]})nowhere.xy]> ]> To get a list of valid e-mail commands and instructions on their ]> usage, send a message containing the word "help" to the ]above address. ]> ]> Send any problem reports or questions related to this email list ]> to the list owner at ]> owner-blackbox{([at]})nowhere.xy]> ] -------------------------------------------- To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to: blackbox-request{([at]})nowhere.xyTo get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address. Send any problem reports or questions related to this email list to the list owner at owner-blackbox{([at]})nowhere.xyReceived on Tue Feb 20 2001 - 14:24:41 UTC
This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:27:44 UTC