Subversion Repositories filter_foundry

Rev

Rev 259 | Rev 371 | 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
 
20
#ifndef CHOOSEFILE_H
21
#define CHOOSEFILE_H
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
 
47
Boolean customchoosefile_nav(FSSpec *fss,ScriptCode *script,
268 daniel-mar 48
                             OSType tlist[], StringPtr extlist[],Boolean *premult);
259 daniel-mar 49
 
50
Boolean choosefiletypes(StringPtr prompt,StandardFileReply *sfr,NavReplyRecord *reply,
268 daniel-mar 51
                        OSType types[],int ntypes,const char *lpstrFilter
52
                        #ifdef _WIN32
53
                        ,HWND hwndOwner
54
                        #endif /* _WIN32 */
55
);
259 daniel-mar 56
 
57
Boolean choosefile(StringPtr prompt,StandardFileReply *sfr,
268 daniel-mar 58
                   NavReplyRecord *reply,OSType type,const char *lpstrFilter
59
                   #ifdef _WIN32
60
                   ,HWND hwndOwner
61
                   #endif /* _WIN32 */
62
);
259 daniel-mar 63
 
64
/* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/CommonDialogBoxLibrary/CommonDialogBoxReference/CommonDialogBoxStructures/OPENFILENAME.asp
65
lpstrFilter
66
Pointer to a buffer containing pairs of null-terminated filter strings.
67
The last string in the buffer must be terminated by two NULL characters.
68
The first string in each pair is a display string that describes the filter
69
(for example, "Text Files"), and the second string specifies the filter pattern
70
(for example, "*.TXT"). To specify multiple filter patterns for a single display string,
71
use a semicolon to separate the patterns (for example, "*.TXT;*.DOC;*.BAK").
72
A pattern string can be a combination of valid file name characters
73
and the asterisk (*) wildcard character. Do not include spaces in the pattern string.
74
*/
75
 
76
Boolean putfile(StringPtr prompt,StringPtr fname,OSType fileType,OSType fileCreator,
268 daniel-mar 77
                NavReplyRecord *reply,StandardFileReply *sfr,
78
                const char *lpstrDefExt, const char *lpstrFilter,int nFilterIndex
79
                #ifdef _WIN32
80
                ,HWND hwndOwner
81
                #endif /* _WIN32 */
82
);
83
 
259 daniel-mar 84
OSErr completesave(NavReplyRecord *reply);
85
 
86
Boolean choosefile_sf(StringPtr prompt,StandardFileReply *sfr,NavReplyRecord *reply,
268 daniel-mar 87
                      OSType type,const char *lpstrFilter);
88
 
259 daniel-mar 89
Boolean putfile_sf(StringPtr prompt,StringPtr fname,
268 daniel-mar 90
                   OSType fileType,OSType fileCreator,
91
                   NavReplyRecord *reply,StandardFileReply *sfr);
92
 
259 daniel-mar 93
OSErr completesave_sf(NavReplyRecord *reply);
94
 
95
Boolean customchoosefile_nav(FSSpec *fss,ScriptCode *script,
268 daniel-mar 96
                             OSType tlist[], StringPtr extlist[],Boolean *premult);
97
 
259 daniel-mar 98
Boolean choosefile_nav(StringPtr prompt,StandardFileReply *sfr,NavReplyRecord *reply,
268 daniel-mar 99
                       OSType type,const char *lpstrFilter);
100
 
259 daniel-mar 101
Boolean putfile_nav(StringPtr prompt,StringPtr fname,
268 daniel-mar 102
                    OSType fileType,OSType fileCreator,
103
                    NavReplyRecord *reply,StandardFileReply *sfr);
104
 
259 daniel-mar 105
OSErr completesave_nav(NavReplyRecord *reply);
106
 
107
#endif