1 /*
2  * (from) $XConsortium: SmeBSB.h,v 1.5 89/12/11 15:20:14 kit Exp $
3  *
4  * Copyright (c) 1995-2009, Paul Mattes.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *     * Redistributions of source code must retain the above copyright
11  *       notice, this list of conditions and the following disclaimer.
12  *     * Redistributions in binary form must reproduce the above copyright
13  *       notice, this list of conditions and the following disclaimer in the
14  *       documentation and/or other materials provided with the distribution.
15  *     * Neither the name of Paul Mattes nor his contributors may be used
16  *       to endorse or promote products derived from this software without
17  *       specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY PAUL MATTES "AS IS" AND ANY EXPRESS
20  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22  * DISCLAIMED. IN NO EVENT SHALL PAUL MATTES BE LIABLE FOR ANY DIRECT,
23  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
28  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  * POSSIBILITY OF SUCH DAMAGE.
30  *
31  * Copyright 1989 Massachusetts Institute of Technology
32  *
33  * Permission to use, copy, modify, distribute, and sell this software and its
34  * documentation for any purpose is hereby granted without fee, provided that
35  * the above copyright notice appear in all copies and that both that
36  * copyright notice and this permission notice appear in supporting
37  * documentation, and that the name of M.I.T. not be used in advertising or
38  * publicity pertaining to distribution of the software without specific,
39  * written prior permission.  M.I.T. makes no representations about the
40  * suitability of this software for any purpose.  It is provided "as is"
41  * without express or implied warranty.
42  *
43  * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
44  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T.
45  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
46  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
47  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
48  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
49  */
50 
51 /*
52  * CmeBSB.h - Public Header file for CmeBSB object.
53  * (from) SmeBSB.h - Public Header file for SmeBSB object.
54  *
55  * This is the public header file for the Athena BSB Cme object.
56  * It is intended to be used with the complex menu widget.  This object
57  * provides bitmap - string - bitmap style entries.
58  *
59  * Date:    April 3, 1989
60  *
61  * By:      Chris D. Peterson
62  *          MIT X Consortium
63  *          kit@expo.lcs.mit.edu
64  */
65 
66 #ifndef _CmeBSB_h
67 #define _CmeBSB_h
68 
69 #include <X11/Xmu/Converters.h>
70 
71 #include "Cme.h"
72 
73 /****************************************************************
74  *
75  * CmeBSB object
76  *
77  ****************************************************************/
78 
79 /* BSB Menu Entry Resources:
80 
81  Name		     Class		RepType		Default Value
82  ----		     -----		-------		-------------
83  callback            Callback           Callback        NULL
84  destroyCallback     Callback		Pointer		NULL
85  font                Font               XFontStruct *   XtDefaultFont
86  foreground          Foreground         Pixel           XtDefaultForeground
87  height		     Height		Dimension	0
88  label               Label              String          Name of entry
89  leftBitmap          LeftBitmap         Pixmap          None
90  leftMargin          HorizontalMargins  Dimension       4
91  rightBitmap         RightBitmap        Pixmap          None
92  rightMargin         HorizontalMargins  Dimension       4
93  sensitive	     Sensitive		Boolean		True
94  vertSpace           VertSpace          int             25
95  width		     Width		Dimension	0
96  x		     Position		Position	0n
97  y		     Position		Position	0
98 
99 */
100 
101 typedef struct _CmeBSBClassRec    *CmeBSBObjectClass;
102 typedef struct _CmeBSBRec         *CmeBSBObject;
103 
104 extern WidgetClass cmeBSBObjectClass;
105 
106 #define XtNleftBitmap "leftBitmap"
107 #define XtNleftMargin "leftMargin"
108 #define XtNrightBitmap "rightBitmap"
109 #define XtNrightMargin "rightMargin"
110 #define XtNvertSpace   "vertSpace"
111 
112 #define XtCLeftBitmap "LeftBitmap"
113 #define XtCHorizontalMargins "HorizontalMargins"
114 #define XtCRightBitmap "RightBitmap"
115 #define XtCVertSpace   "VertSpace"
116 
117 #endif /* _CmeBSB_h */
118