~ubuntu-branches/ubuntu/dapper/tk8.0/dapper-updates

« back to all changes in this revision

Viewing changes to generic/tkFileFilter.h

  • Committer: Bazaar Package Importer
  • Author(s): Mike Markley
  • Date: 2001-07-24 21:57:40 UTC
  • Revision ID: james.westby@ubuntu.com-20010724215740-r70t25rtmbqjil2h
Tags: upstream-8.0.5
ImportĀ upstreamĀ versionĀ 8.0.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * tkFileFilter.h --
 
3
 *
 
4
 *      Declarations for the file filter processing routines needed by
 
5
 *      the file selection dialogs.
 
6
 *
 
7
 * Copyright (c) 1996 Sun Microsystems, Inc.
 
8
 *
 
9
 * See the file "license.terms" for information on usage and redistribution
 
10
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
11
 *
 
12
 * RCS: @(#) $Id: tkFileFilter.h,v 1.4 1998/09/14 18:23:10 stanton Exp $
 
13
 *
 
14
 */
 
15
 
 
16
#ifndef _TK_FILE_FILTER
 
17
#define _TK_FILE_FILTER
 
18
 
 
19
#ifdef MAC_TCL
 
20
#include <StandardFile.h>
 
21
#else
 
22
#define OSType long
 
23
#endif
 
24
 
 
25
#ifdef BUILD_tk
 
26
# undef TCL_STORAGE_CLASS
 
27
# define TCL_STORAGE_CLASS DLLEXPORT
 
28
#endif
 
29
 
 
30
typedef struct GlobPattern {
 
31
    struct GlobPattern * next;          /* Chains to the next glob pattern
 
32
                                         * in a glob pattern list */
 
33
    char * pattern;                     /* String value of the pattern, such
 
34
                                         * as "*.txt" or "*.*"
 
35
                                         */
 
36
} GlobPattern;
 
37
 
 
38
typedef struct MacFileType {
 
39
    struct MacFileType * next;          /* Chains to the next mac file type
 
40
                                         * in a mac file type list */
 
41
    OSType type;                        /* Mac file type, such as 'TEXT' or
 
42
                                         * 'GIFF' */
 
43
} MacFileType;
 
44
 
 
45
typedef struct FileFilterClause {
 
46
    struct FileFilterClause * next;     /* Chains to the next clause in
 
47
                                         * a clause list */
 
48
    GlobPattern * patterns;             /* Head of glob pattern type list */
 
49
    GlobPattern * patternsTail;         /* Tail of glob pattern type list */
 
50
    MacFileType * macTypes;             /* Head of mac file type list */
 
51
    MacFileType * macTypesTail;         /* Tail of mac file type list */
 
52
} FileFilterClause;
 
53
 
 
54
typedef struct FileFilter {
 
55
    struct FileFilter * next;           /* Chains to the next filter
 
56
                                         * in a filter list */
 
57
    char * name;                        /* Name of the file filter,
 
58
                                         * such as "Text Documents" */
 
59
    FileFilterClause * clauses;         /* Head of the clauses list */
 
60
    FileFilterClause * clausesTail;     /* Tail of the clauses list */
 
61
} FileFilter;
 
62
 
 
63
/*----------------------------------------------------------------------
 
64
 * FileFilterList --
 
65
 *
 
66
 * The routine TkGetFileFilters() translates the string value of the
 
67
 * -filefilters option into a FileFilterList structure, which consists
 
68
 * of a list of file filters.
 
69
 *
 
70
 * Each file filter consists of one or more clauses. Each clause has
 
71
 * one or more glob patterns and/or one or more Mac file types
 
72
 *----------------------------------------------------------------------
 
73
 */
 
74
 
 
75
typedef struct FileFilterList {
 
76
    FileFilter * filters;               /* Head of the filter list */
 
77
    FileFilter * filtersTail;           /* Tail of the filter list */
 
78
    int numFilters;                     /* number of filters in the list */
 
79
} FileFilterList;
 
80
 
 
81
EXTERN void             TkFreeFileFilters _ANSI_ARGS_((
 
82
                            FileFilterList * flistPtr));
 
83
EXTERN void             TkInitFileFilters _ANSI_ARGS_((
 
84
                            FileFilterList * flistPtr));
 
85
EXTERN int              TkGetFileFilters _ANSI_ARGS_ ((Tcl_Interp *interp,
 
86
                            FileFilterList * flistPtr, char * string,
 
87
                            int isWindows));
 
88
 
 
89
# undef TCL_STORAGE_CLASS
 
90
# define TCL_STORAGE_CLASS DLLIMPORT
 
91
 
 
92
#endif