Re: [Pyobjc-dev] pyobjc on 2.2.1 & non-framework builds
Brought to you by:
ronaldoussoren
From: Jack J. <Jac...@cw...> - 2002-10-25 13:31:36
|
Bill, a couple of questions on your architectural remarks. On Friday, Oct 25, 2002, at 02:40 Europe/Amsterdam, Bill Bumgarner wrote: > Bugs & Architecture: > > - there should be a way in the GUI to open a file into the > settings -- i.e. the Open... command should be "Run script..." and > "Open..." should truly open the script as a document. [...] > > - the 'run in terminal' button doesn't update the field contents > and, as such, the contents can get out of sync... > > - If the multi-doc architecture is going to be used, there should > be something to save! [...] > Finally, the app really isn't a multiple-document type app. [...] All these hinge on the fact that PythonLauncher looks like a multidocument application, but really isn't. Is that a problem? I modeled the semantics more-or-less after Stuffit Expander: PythonLauncher can operate in 2 modes, one where it's already running (and opening a document always goes into interactive mode) and another one where the application is started for a single document, which is launched (optionally after allowing interaction to set the options) after which PythonLauncher quits without further ado. > - If I use the new menu item, it doesn't seem possible to set the > script to be executed by the document. That's because I haven't been able to disable the New command, which is what I really would want to do. Can you tell me how to do this? (Or, better, tell me where I should have found the information) > - Since both the preferences window and the documents have the > same interior UI, the NIB file for that UI should be split out and the > preferences and document window should share that single NIB. The > preferences window should likely move to a tabbed view with the > different file types in the tabs -- that seems to be the HIG way these > days. Again, I wanted to do this but I haven't been able to come up with a way to do it. Please enlighten me. There's actually two things that I haven't been able to find out: 1. How can I share the interior contents of two windows? 2. How do I get a tabbed view without actually having something different on every tab (I want the same controls on each tab, really, and I don't want to duplicate either the code or the controls)? > - NSTask would be a better candidate than system() to subshell out > the command. It would allow the app to monitor the output and display > a console. [...] > The first step in moving to a true multi-doc style app is for the app > to give the user control over when documents are closed -- that is, if > a user opens a python script [as opposed to Running... a script > without opening a visible document at all], the associated window > should remain open until the user tells it to go away. The document > should have a notion of 'currently running, do you want to launch > another instance of the same thing?' and 'abort/stop current run'. These are things I specifically don't want to do (i.e. convince me otherwise if you think it's worthwhile). The intention of PythonLauncher is to be like Java AppletLauncher (or the above mentioned Stuffit Expander): it should "fire and forget" the script. Remember, the reason this was written in the first place is because CFBundleTypeRole=Shell doesn't work (which is what it's trying to emulate, with the options dialog thrown in so that we no longer have to provide that in pythonw, and have the functionality for console scripts too). Ideally a naive user shouldn't even be aware of the fact that this thing exists. -- - Jack Jansen <Jac...@or...> http://www.cwi.nl/~jack - - If I can't dance I don't want to be part of your revolution -- Emma Goldman - |