Thanks Chris, # Can't call method "fileInfo" without a package or object reference. > Note that I never got the NavTypeList stuff to work, so I just constructed > my own object from scratch of type NavTypeList and provided a subroutine to > do the work. This makes me feel better :-) > So essentially: > > DEFAULTLOCATION is just a path. I believe it is converted to an AEDesc for > you. If you pass a null string, the dialog opens with the last visited location. > DIALOGOPTIONS is a data structure object (a good way to start is with > NavGetDefaultDialogOptions) that is changed with: > > $options->somefield($somedata) Would this be true for the NavDialodOptionsFlags also? I can see that for setting the option you might use: $options->dialogOptionFlags(kNavSelectAllReadableItem) but how would you reset it? > And TYPELIST is, from all I can do, simply an empty hashref object of type > NavTypeListHandle. There isat least one a bug in NavTypeListHandle() > anyway ... it tries to bless a nonreference value. But I can't get it to > work if I fix that. > > So I provide the optional FILTERPROC to do the file filtering "by hand", as > it were. This is more flexible anyway ... if you want to open any TEXT > file, you need to use the FILTERPROC method, I think. I think the other > method will only open files of type TEXT for a given application. This works fine, but it was not clear to me how to write it, your example was very helpful. A simpler method may be (assuming that the TYPELIST was working) to specify some application signature and file types, then set the kNavSelectAllReadableItem dialogOptionFlag. According to Programming With Navigation Services 1.1 (pg. 20 - 21): "Listing a file type in the typeList parameter generally limits you to displaying only those files created by your application. If you specify the kNavSelectAllReadableItem constant in the dialogOptionFlags field of the NavDialogOptions structure you pass in the dialogOptions parameter, or if the user selects All Readable Items from the Show menu, Navigation Services will ignore the application signature specified in the typeList parameter and display all documents of the specified types." A few questions: 1) I assume that you must supply an event handling procedure to get the window title bar to display. Is this correct? 2) I wanted to pull the filter procedure outside the NavGetFile call, but when I did (defining it before the call), I get the following error: # Can't call method "fileInfo" without a package or object reference. Since it I thought that Mac:: packages exported there types and functions, this was a surprise error. I tried adding Mac::Navigation::, but got the same error. Should it be possible to define the FILTERPROC subroutine outside the NavGetFile function? 3) I have discovered that the second element ($_[2]) passed by NavGetFile to the FILTERPROC appears to be the filterMode variable (NavFilterModes type), which is "...a list of objects currently being filtered." How would one use this, as it appears that it is not necessary for one to check that the Browser list (kNavFilteringBrowserList = 0) is currently being filtered before the filter is applied? Mark ---------------------- Mark J. Yannuzzi myannuzzi@aya.yale.edu ===== Want to unsubscribe from this list? ===== Send mail with body "unsubscribe" to macperl-request@macperl.org