Subversion Repositories filter_foundry

Rev

Rev 439 | Rev 449 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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