Ignore:
Timestamp:
Feb 3, 2009 4:45:55 PM (14 years ago)
Author:
srkline
Message:

Moved DoFileSaveDialog? and DoFileOpenDialog? to PlotUtilsMacro_v40 since it is common to all packages. Then there is no need to duplicate functions and no new files to include.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Common/Packages/PlotManager/PlotUtilsMacro_v40.ipf

    r454 r474  
    825825        return(str) 
    826826End 
     827 
     828 
     829//returns the path to the file, or null if cancel 
     830Function/S DoOpenFileDialog(msg) 
     831        String msg 
     832         
     833        Variable refNum 
     834//      String message = "Select a file" 
     835        String outputPath 
     836         
     837        Open/D/R/T="????"/M=msg refNum 
     838        outputPath = S_fileName 
     839         
     840        return outputPath 
     841End 
     842 
     843// returns the path to the file, or null if the user cancelled 
     844// fancy use of optional parameters 
     845//  
     846// enforce short file names (26 characters) 
     847Function/S DoSaveFileDialog(msg,[fname,suffix]) 
     848        String msg,fname,suffix 
     849        Variable refNum 
     850//      String message = "Save the file as" 
     851 
     852        if(ParamIsDefault(fname)) 
     853//              Print "fname not supplied" 
     854                fname = "" 
     855        endif 
     856        if(ParamIsDefault(suffix)) 
     857//              Print "suffix not supplied" 
     858                suffix = "" 
     859        endif 
     860         
     861        String outputPath,tmpName,testStr 
     862        Variable badLength=0,maxLength=26,l1,l2 
     863         
     864         
     865        tmpName = fname + suffix 
     866         
     867        do 
     868                badLength=0 
     869                Open/D/M=msg/T="????" refNum as tmpName 
     870                outputPath = S_fileName 
     871                 
     872                testStr = ParseFilePath(0, outputPath, ":", 1, 0)               //just the filename 
     873                if(strlen(testStr)==0) 
     874                        break           //cancel, allow exit 
     875                endif 
     876                if(strlen(testStr) > maxLength) 
     877                        badlength = 1 
     878                        DoAlert 2,"File name is too long. Is\r"+testStr[0,25]+"\rOK?" 
     879                        if(V_flag==3) 
     880                                outputPath = "" 
     881                                break 
     882                        endif 
     883                        if(V_flag==1)                   //my suggested name is OK, so trim the output 
     884                                badlength=0 
     885                                l1 = strlen(testStr)            //too long length 
     886                                l1 = l1-maxLength               //number to trim 
     887                                //Print outputPath 
     888                                l2=strlen(outputPath) 
     889                                outputPath = outputPath[0,l2-1-l1] 
     890                                //Print "modified  ",outputPath 
     891                        endif 
     892                        //if(V_flag==2)  do nothing, let it go around again 
     893                endif 
     894                 
     895        while(badLength) 
     896         
     897        return outputPath 
     898End 
Note: See TracChangeset for help on using the changeset viewer.