Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / programs / dtcm / dtcm / blist.h
1 /*******************************************************************************
2 **
3 **  blist.h
4 **
5 **  static char sccsid[] = "@(#)blist.h 1.19 94/11/07 Copyr 1991 Sun Microsystems, Inc."; 
6 **
7 **  $XConsortium: blist.h /main/3 1995/11/03 10:18:18 rswiston $
8 **
9 **  RESTRICTED CONFIDENTIAL INFORMATION:
10 **
11 **  The information in this document is subject to special
12 **  restrictions in a confidential disclosure agreement between
13 **  HP, IBM, Sun, USL, SCO and Univel.  Do not distribute this
14 **  document outside HP, IBM, Sun, USL, SCO, or Univel without
15 **  Sun's specific written approval.  This document and all copies
16 **  and derivative works thereof must be returned or destroyed at
17 **  Sun's request.
18 **
19 **  Copyright 1993 Sun Microsystems, Inc.  All rights reserved.
20 **
21 *******************************************************************************/
22
23 /*                                                                      *
24  * (c) Copyright 1993, 1994 Hewlett-Packard Company                     *
25  * (c) Copyright 1993, 1994 International Business Machines Corp.       *
26  * (c) Copyright 1993, 1994 Sun Microsystems, Inc.                      *
27  * (c) Copyright 1993, 1994 Novell, Inc.                                *
28  */
29
30 #ifndef _BLIST_H
31 #define _BLIST_H
32
33 #include "ansi_c.h"
34 #include "util.h"
35
36 /*
37  * The list of names we can typically browse is used in three spots - the
38  * browse list editor, the multi browser (compare calendars), and the main
39  * window to build the browse menu.
40  *
41  * The list of names actually is a list of the BlistData structures.  The
42  * multi browser uses the cal_handle item and therefore, we can't delete the
43  * entry from this list until the multi browser is no longer using that pointer.
44  */
45 typedef enum {
46         BLIST_INSERT, BLIST_DELETE, BLIST_ACTIVE
47 } BlistTag;
48
49 typedef struct {
50         char                    *name;
51         BlistTag                tag;
52         CSA_session_handle      cal_handle;
53         unsigned int            user_access;
54         int                     version;
55         Paint_cache             *cache;
56         int                     cache_size;
57 } BlistData;
58
59 typedef struct {
60         Widget          button_rc_mgr;
61         Widget          edit_rc_mgr;
62         Widget          frame;
63         Widget          form;
64         Widget          username;
65         Widget          username_label;
66         Widget          add_button;
67         Widget          list_label;
68         Widget          browse_list;
69         Widget          browse_list_sw;
70         Widget          remove_button;
71         Widget          ok_button;
72         Widget          apply_button;
73         Widget          reset_button;
74         Widget          cancel_button;
75         Widget          help_button;
76         Widget          message;
77         CmDataList      *blist_data;
78         Boolean         bl_pending_message_up;
79         Boolean         bl_list_changed;
80 } Browselist;
81
82 typedef struct browser_state {
83         char                    *cname;
84         Pixmap                  *glyph;
85         struct browser_state    *next;
86 } BrowserState;
87
88 extern void     blist_clean             P((Browselist*, Boolean));
89 extern void     blist_init_names        P((Calendar*));
90 extern void     blist_init_ui           P((Calendar*));
91 extern void     blist_reset             P((Calendar*));
92 extern void     make_browselist         P((Calendar*));
93 extern void     show_browselist         P((Calendar*));
94
95 #endif