Thanks Stefan,<div><br></div><div>I'll try and integrate that information.</div><div><br></div><div>Paul<br><br><div class="gmail_quote">On 3 July 2011 22:33, Stefan Löffler <span dir="ltr"><<a href="mailto:st.loeffler@gmail.com">st.loeffler@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi,<br>
<br>
a few (off-topic) remarks and clarifications.<br>
<div><div></div><div class="h5"><br>
On 2011-07-02 01:25, Paul A Norman wrote:<br>
> Python freeze.<br>
><br>
> Depending on platform/permission issues you can call any ting your<br>
> system will execute form a Tw Script system() call, and optionally<br>
> wait for a return code and or a returned string from your executable.<br>
><br>
> Your questions raises the issues of which of the TW File functions<br>
> return TW.target objects (like window.document in browsers).<br>
> Some do not. I have not had cause to work with them all as yet. The<br>
> C++ code is available on<br>
> <a href="http://code.google.com/p/texworks/source/browse/trunk" target="_blank">http://code.google.com/p/texworks/source/browse/trunk</a>  to troll<br>
> through, or you can experiment testing for TW.target.text to see if<br>
> you get the contents of the editor window that you expect.<br>
><br>
> There is an application object present called TW.app which loosely<br>
> corresponds to the browser window object.<br>
><br>
> And TW.target which as mentioned loosely corresponds to the<br>
> window.document object.<br>
><br>
> TW.target represents the current document, whether focussed by the<br>
> User or in Script, and has a function TW.target.typeset() (document<br>
> would need a saved name on disk first though!)<br>
><br>
> Of course you could process/save your text in/from script memory to<br>
> disk named as you wish, and then uses TW.system() to execute the<br>
> necessary pdflatex etc TeX utilities directly, you would have to be<br>
> confident of the results as this would not use any of the Tw console<br>
> responses to errors .<br>
><br>
> TW.app has these calls<br>
><br>
> TW.app.newFile();<br>
> <a href="http://twscript.paulanorman.com/docs/html/files/newFile.html" target="_blank">http://twscript.paulanorman.com/docs/html/files/newFile.html</a><br>
> Creates a new file and sets the focus in the editor. Returns a<br>
> TW.target object ??<br>
<br>
</div></div>No, it returns nothing. This (and most of the other methods you mention<br>
below) are exactly the ones called when you click on the corresponding<br>
toolbar icons (or menu items). There's no point in return anything, as<br>
there's no place to return it to.<br>
As an aside: all these TW.app event-handling methods are essentially to<br>
accommodate the Mac, where you can have a global menu even without any<br>
windows open.<br>
<div class="im"><br>
> TW.app.open();<br>
> <a href="http://twscript.paulanorman.com/docs/html/files/open.html" target="_blank">http://twscript.paulanorman.com/docs/html/files/open.html</a><br>
> Presents the open file dialogue.<br>
> >From that point scripting looses 'contact' with the function.<br>
> Does not receive a file filter nor a suggested file name, but will not<br>
> allow the dialogue "Ok" button to be enabled unless the User chooses<br>
> an actual file.<br>
> Upon success, opens the chosen file in a new editor window, (returns<br>
> no value — for neither success nor failure).<br>
> That editor window does not become the new TW.target.<br>
<br>
</div>Yes. TW.target never changes (it is the context in which the script is<br>
run; a script cannot be transferred to a different context once it was<br>
started).<br>
[There is one minor exception to this if you have an empty, unmodified<br>
file to begin with. In this case, TW.target doesn't change either, but<br>
because no new window is opened it will probably enable you to access<br>
the opened document (though I haven't tested this yet).]<br>
<div class="im"><br>
> Moved to top level for security reasons:<br>
> TW.openFileFromScript(QString,int,bool)<br>
<br>
</div>It's TW.app.openFileFromScript(QString,TW,int,bool).<br>
<div class="im"><br>
> The TW.target object has some similar calls, but there has been little<br>
> discussion/information here about those yet (and some may be<br>
> obsolete?) ...<br>
<br>
</div>As above, these are the entry points for the corresponding menu items<br>
(this time for the current window). Internally, they usually relay the<br>
call to the TW.app methods. They were not originally intended to be<br>
called from scripts, but can be nevertheless (only they are not designed<br>
to take or return scripting-specific data).<br>
<br>
HTH<br>
<font color="#888888">Stefan<br>
</font></blockquote></div><br></div>