1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
/* $XConsortium: tocintrnl.h,v 2.18 91/07/14 18:53:37 converse Exp $ */
/* $XdotOrg$ */
/*
* COPYRIGHT 1987
* DIGITAL EQUIPMENT CORPORATION
* MAYNARD, MASSACHUSETTS
* ALL RIGHTS RESERVED.
*
* THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND
* SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.
* DIGITAL MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS SOFTWARE FOR
* ANY PURPOSE. IT IS SUPPLIED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
*
* IF THE SOFTWARE IS MODIFIED IN A MANNER CREATING DERIVATIVE COPYRIGHT
* RIGHTS, APPROPRIATE LEGENDS MAY BE PLACED ON THE DERIVATIVE WORK IN
* ADDITION TO THAT SET FORTH ABOVE.
*
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of Digital Equipment Corporation not be
* used in advertising or publicity pertaining to distribution of the software
* without specific, written prior permission.
*/
/* $XFree86$ */
/* Includes for modules implementing toc stuff. */
#ifndef _tocinternal_h
#define _tocinternal_h
#include "xmh.h"
#include <X11/IntrinsicP.h> /* %%% */
#include "tsource.h"
typedef enum {
unknown, valid, invalid
} ValidType;
/* silly IBM compiler, but it's probably just as silly to use bitfields. */
#ifdef AIXV5 /* probably want !gcc too */
#define FateType int
#endif
typedef struct _MsgRec {
Toc toc; /* Which toc this message is in. */
Toc desttoc; /* Folder to copy or move to (NULL if none) */
Scrn *scrn; /* Scrns showing this message (if any) */
Widget source; /* Source (if any) containing this msg. */
XawTextPosition position; /* Position in the scanfile for this msg. */
XawTextPosition startPos; /* Where to start the insertion point. */
char *buf; /* The scanline for this message. */
int msgid; /* Message id for this message. */
short length; /* #/chars for this msg's entry in scanfile */
unsigned char num_scrns; /* How many scrns are currently showing msg */
FateType fate:2; /* What will be done to this message */
unsigned changed:1; /* True iff this entry needs to be saved */
unsigned visible:1; /* Whether we should show this message */
unsigned temporary:1; /* Whether we should delete this message when
it is no longer visible */
unsigned reapable:1; /* True iff we don't need to keep this
composition around */
unsigned unused:2;
} MsgRec;
#ifdef AIXV5 /* probably want !gcc too */
#undef FateType
#endif
typedef struct _TocRec {
Scrn *scrn; /* Scrns containing this table of contents. */
Cardinal num_scrns; /* How many scrns are currently showing toc. */
char *foldername; /* Folder name for this toc */
char *path; /* Full path to folder's directory. */
char *scanfile; /* Full path to file containing scan. */
Msg curmsg; /* Current msgid for this toc. */
int nummsgs; /* How many info entries we currently have. */
Msg *msgs; /* Array of pointers to info about each msg. */
int numsequences; /* #/sequences defined for this folder. */
Sequence *seqlist; /* Array of pointers to sequences. */
Sequence viewedseq; /* Seq currently shown (NULL == all msgs) */
Sequence selectseq; /* The most recently selected sequence */
Widget source; /* Source for the file containing info. */
Boolean hasselection; /* Whether we own the selection. */
XawTextPosition left, right; /* Left and right extents of selection. */
int length; /* #/chars in the scanfile. */
int origlength; /* Original #/chars in the scanfile. */
int lastPos; /* Last legal position */
ValidType validity; /* Whether the scan file for this toc is */
/* up to date. */
Boolean needsrepaint; /* TRUE if we should repaint this toc. */
Boolean needscachesave; /* TRUE if the cache needs saving. */
Boolean needslabelupdate;/* TRUE if the toclabel needs repainting. */
Boolean stopupdate; /* Zero if refreshing; nonzero if refreshing is
currently inhibited. */
Boolean haschanged; /* Whether it's changed in the process of */
/* the current commit. */
Boolean delete_pending; /* Is a delete folder operation pending? */
Boolean force_reset; /* temporary bug work-around for sequences */
char *incfile; /* Which file to incorporate from (if any). */
int mailpending; /* True if we're currently displaying
mail pending true for this folder */
long lastreaddate; /* Last time we read or wrote the cache. */
Stack sequence_stack; /* Stack of sequence names. */
} TocRec;
#endif /* _tocinternal_h */
|