Subversion Repositories filter_foundry

Rev

Rev 371 | Rev 444 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
259 daniel-mar 1
/*
2
    This file is part of a common library
3
    Copyright (C) 2002-6 Toby Thain, toby@telegraphics.com.au
4
 
5
    This program is free software; you can redistribute it and/or modify
6
    it under the terms of the GNU General Public License as published by
7
    the Free Software Foundation; either version 2 of the License, or
8
    (at your option) any later version.
9
 
10
    This program is distributed in the hope that it will be useful,
11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
    GNU General Public License for more details.
14
 
15
    You should have received a copy of the GNU General Public License
16
    along with this program; if not, write to the Free Software
17
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
*/
19
 
439 daniel-mar 20
#ifndef CHOOSEFILE_H_
21
#define CHOOSEFILE_H_
259 daniel-mar 22
 
23
#ifdef macintosh
268 daniel-mar 24
        #ifdef __GNUC__ // FIXME: this isn't the right define
25
                typedef struct StandardFileReply {
26
                        Boolean         sfGood;
27
                        Boolean         sfReplacing;
28
                        OSType          sfType;
29
                        FSSpec          sfFile;
30
                        ScriptCode      sfScript;
31
                } StandardFileReply;
32
        #else
33
                #include <standardfile.h>
34
                #include <filetypesandcreators.h>
35
        #endif
259 daniel-mar 36
        #include <Navigation.h> // this header is not in CW Pro 1
37
#else
38
        #include "compat_win.h"
39
#endif
40
 
41
#ifndef __NAVIGATION__
42
        typedef struct NavReplyRecord {
268 daniel-mar 43
                ScriptCode keyScript;
259 daniel-mar 44
        } NavReplyRecord;
45
#endif
46
 
371 daniel-mar 47
Boolean fileHasExtension(StandardFileReply* sfr, const char* extension);
48
 
259 daniel-mar 49
Boolean customchoosefile_nav(FSSpec *fss,ScriptCode *script,
268 daniel-mar 50
                             OSType tlist[], StringPtr extlist[],Boolean *premult);
259 daniel-mar 51
 
52
Boolean choosefiletypes(StringPtr prompt,StandardFileReply *sfr,NavReplyRecord *reply,
268 daniel-mar 53
                        OSType types[],int ntypes,const char *lpstrFilter
54
                        #ifdef _WIN32
55
                        ,HWND hwndOwner
56
                        #endif /* _WIN32 */
57
);
259 daniel-mar 58
 
59
Boolean choosefile(StringPtr prompt,StandardFileReply *sfr,
268 daniel-mar 60
                   NavReplyRecord *reply,OSType type,const char *lpstrFilter
61
                   #ifdef _WIN32
62
                   ,HWND hwndOwner
63
                   #endif /* _WIN32 */
64
);
259 daniel-mar 65
 
66
/* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/CommonDialogBoxLibrary/CommonDialogBoxReference/CommonDialogBoxStructures/OPENFILENAME.asp
67
lpstrFilter
68
Pointer to a buffer containing pairs of null-terminated filter strings.
69
The last string in the buffer must be terminated by two NULL characters.
70
The first string in each pair is a display string that describes the filter
71
(for example, "Text Files"), and the second string specifies the filter pattern
72
(for example, "*.TXT"). To specify multiple filter patterns for a single display string,
73
use a semicolon to separate the patterns (for example, "*.TXT;*.DOC;*.BAK").
74
A pattern string can be a combination of valid file name characters
75
and the asterisk (*) wildcard character. Do not include spaces in the pattern string.
76
*/
77
 
78
Boolean putfile(StringPtr prompt,StringPtr fname,OSType fileType,OSType fileCreator,
268 daniel-mar 79
                NavReplyRecord *reply,StandardFileReply *sfr,
80
                const char *lpstrDefExt, const char *lpstrFilter,int nFilterIndex
81
                #ifdef _WIN32
82
                ,HWND hwndOwner
83
                #endif /* _WIN32 */
84
);
85
 
259 daniel-mar 86
OSErr completesave(NavReplyRecord *reply);
87
 
88
Boolean choosefile_sf(StringPtr prompt,StandardFileReply *sfr,NavReplyRecord *reply,
268 daniel-mar 89
                      OSType type,const char *lpstrFilter);
90
 
259 daniel-mar 91
Boolean putfile_sf(StringPtr prompt,StringPtr fname,
268 daniel-mar 92
                   OSType fileType,OSType fileCreator,
93
                   NavReplyRecord *reply,StandardFileReply *sfr);
94
 
259 daniel-mar 95
OSErr completesave_sf(NavReplyRecord *reply);
96
 
97
Boolean customchoosefile_nav(FSSpec *fss,ScriptCode *script,
268 daniel-mar 98
                             OSType tlist[], StringPtr extlist[],Boolean *premult);
99
 
259 daniel-mar 100
Boolean choosefile_nav(StringPtr prompt,StandardFileReply *sfr,NavReplyRecord *reply,
268 daniel-mar 101
                       OSType type,const char *lpstrFilter);
102
 
259 daniel-mar 103
Boolean putfile_nav(StringPtr prompt,StringPtr fname,
268 daniel-mar 104
                    OSType fileType,OSType fileCreator,
105
                    NavReplyRecord *reply,StandardFileReply *sfr);
106
 
259 daniel-mar 107
OSErr completesave_nav(NavReplyRecord *reply);
108
 
109
#endif