1 /* 2 * $XConsortium: SmeP.h,v 1.4 89/12/11 15:20:22 kit Exp $ 3 * 4 * Copyright 1989 Massachusetts Institute of Technology 5 * 6 * Permission to use, copy, modify, distribute, and sell this software and its 7 * documentation for any purpose is hereby granted without fee, provided that 8 * the above copyright notice appear in all copies and that both that 9 * copyright notice and this permission notice appear in supporting 10 * documentation, and that the name of M.I.T. not be used in advertising or 11 * publicity pertaining to distribution of the software without specific, 12 * written prior permission. M.I.T. makes no representations about the 13 * suitability of this software for any purpose. It is provided "as is" 14 * without express or implied warranty. 15 * 16 * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T. 18 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 19 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 20 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 21 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 22 */ 23 24 /* 25 * SmeP.h - Private Header file for Sme object. 26 * 27 * This is the private header file for the Athena Sme object. 28 * This object is intended to be used with the simple menu widget. 29 * 30 * Date: April 3, 1989 31 * 32 * By: Chris D. Peterson 33 * MIT X Consortium 34 * kit@expo.lcs.mit.edu 35 */ 36 37 #ifndef _XawSmeP_h 38 #define _XawSmeP_h 39 40 /*********************************************************************** 41 * 42 * Sme Widget Private Data 43 * 44 ***********************************************************************/ 45 46 #include <X11/RectObjP.h> 47 #include <X11/Xaw/Sme.h> 48 49 /************************************************************ 50 * 51 * New fields for the Sme widget class record. 52 * 53 ************************************************************/ 54 55 typedef struct _SmeClassPart { 56 void (*highlight)(); 57 void (*unhighlight)(); 58 void (*notify)(); 59 XtPointer extension; 60 } SmeClassPart; 61 62 /* Full class record declaration */ 63 typedef struct _SmeClassRec { 64 RectObjClassPart rect_class; 65 SmeClassPart sme_class; 66 } SmeClassRec; 67 68 extern SmeClassRec smeClassRec; 69 70 /* New fields for the Sme widget record */ 71 typedef struct { 72 /* resources */ 73 XtCallbackList callbacks; /* The callback list */ 74 75 } SmePart; 76 77 /**************************************************************** 78 * 79 * Full instance record declaration 80 * 81 ****************************************************************/ 82 83 typedef struct _SmeRec { 84 ObjectPart object; 85 RectObjPart rectangle; 86 SmePart sme; 87 } SmeRec; 88 89 /************************************************************ 90 * 91 * Private declarations. 92 * 93 ************************************************************/ 94 95 typedef void (*_XawEntryVoidFunc)(); 96 97 #define XtInheritHighlight ((_XawEntryVoidFunc) _XtInherit) 98 #define XtInheritUnhighlight XtInheritHighlight 99 #define XtInheritNotify XtInheritHighlight 100 101 #endif /* _XawSmeP_h */ 102