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