5#ifndef __FilteredFIlePicker_h__ 
    6#define __FilteredFIlePicker_h__ 1 
    8#include "Stroika/Foundation/StroikaPreComp.h" 
   11#include <Navigation.h> 
   12#include <StandardFile.h> 
   14#include <LDocApplication.h> 
   16#include "Stroika/Frameworks/Led/Support.h" 
   18#include "LedItConfig.h" 
   20#ifndef qUseNavServices 
   22#define qUseNavServices 1 
   24#define qUseNavServices 0 
   28class FilteredSFGetDLog {
 
   34    FilteredSFGetDLog (
const TypeSpec* typeNameList, 
size_t nTypes);
 
   36    nonvirtual 
bool PickFile (FSSpec* result, 
bool* typeSpecified, 
size_t* typeIndex);
 
   40    static pascal 
void    StaticNavEventProc (NavEventCallbackMessage inSelector, NavCBRecPtr ioParams, NavCallBackUserData ioUserData);
 
   41    virtual void          NavEventProc (NavEventCallbackMessage inSelector, NavCBRecPtr ioParams);
 
   42    static pascal Boolean StaticNavObjectFilterProc (AEDesc* theItem, 
void* info, 
void* callBackUD, NavFilterModes filterMode);
 
   43    virtual bool          NavObjectFilterProc (AEDesc* theItem, 
void* info, NavFilterModes filterMode);
 
   46    NavDialogRef fCurDialog;
 
   50#if !qUseNavServices && !TARGET_CARBON 
   51    static pascal 
short   SFGetDlgHook (
short item, DialogPtr dialog, 
void* myData);
 
   52    static pascal Boolean SFFilterProc (CInfoPBPtr pb, 
void* myData);
 
   55    const TypeSpec* fTypeSpecs;
 
   56    size_t          fTypeSpecCount;
 
   58    size_t          fPopupDLGItemNumber;
 
   59#if !qUseNavServices && !TARGET_CARBON 
   60    DialogPtr fMainDialog;
 
   64class FilteredSFPutDLog {
 
   70    FilteredSFPutDLog (
const TypeSpec* typeNameList, 
size_t nTypes);
 
   72    nonvirtual 
bool PickFile (ConstStr255Param defaultName, FSSpec* result, 
bool* replacing, 
size_t* typeIndex);
 
   76    static pascal 
void StaticNavEventProc (NavEventCallbackMessage inSelector, NavCBRecPtr ioParams, NavCallBackUserData ioUserData);
 
   77    virtual void       NavEventProc (NavEventCallbackMessage inSelector, NavCBRecPtr ioParams);
 
   80    NavDialogRef fCurDialog;
 
   84#if !qUseNavServices && !TARGET_CARBON 
   85    static pascal 
short SFPutDlgHook (
short item, DialogPtr dialog, 
void* myData);
 
   88    const TypeSpec* fTypeSpecs;
 
   89    size_t          fTypeSpecCount;
 
   91    size_t          fPopupDLGItemNumber;
 
   92#if !qUseNavServices && !TARGET_CARBON 
   93    DialogPtr fMainDialog;