3 Replies Latest reply on Jun 23, 2009 9:31 AM by absqua

    [CS4 JS] ScriptUI - Update palette with properties from front document

    absqua Level 4

      Hi all. I have created, with ScriptUI, a palette containing, among other things, a ListBox containing items for every xmlElement in a document. I want the control to read from the front document when there is more than one document open, and to update when there is a new front document.

      I've added event listeners for "afterRevert," "afterOpen," "afterNew" and "afterClose" that call the function that populates the ListBox. The ListBox is successfully updated on closing the front document, reverting, or making a new document, or when opening a document when no others are open. However:

      1.) The control doesn't update when a second or third document is opened. It "hangs on" to the first document. I've tried defining my document variable, in the function called by the event listeners, as app.documents.item(0) and as app.activeDocument, with no change in behavior. And

      2.) I don't know how to update the control when bringing to the front an already-open document. I've tried adding an onActivate listener to my palette window that calls the ListBox population function, but the palette window isn't deactivated when you change the front document using command-~ or the Window menu, so it only works if you switch documents by clicking their tabs in the application window.

      Can anyone help me? I think I'm missing something basic in my approach. If not, I can clean up some code to post.