Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:15:29

0001 /* $XConsortium: TraitP.h /main/5 1995/07/15 20:56:18 drk $ */
0002 /*
0003  * Motif
0004  *
0005  * Copyright (c) 1987-2012, The Open Group. All rights reserved.
0006  *
0007  * These libraries and programs are free software; you can
0008  * redistribute them and/or modify them under the terms of the GNU
0009  * Lesser General Public License as published by the Free Software
0010  * Foundation; either version 2 of the License, or (at your option)
0011  * any later version.
0012  *
0013  * These libraries and programs are distributed in the hope that
0014  * they will be useful, but WITHOUT ANY WARRANTY; without even the
0015  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
0016  * PURPOSE. See the GNU Lesser General Public License for more
0017  * details.
0018  *
0019  * You should have received a copy of the GNU Lesser General Public
0020  * License along with these librararies and programs; if not, write
0021  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
0022  * Floor, Boston, MA 02110-1301 USA
0023  */
0024 /*
0025  * HISTORY
0026  */
0027 
0028 #ifndef _XmTraitP_H
0029 #define _XmTraitP_H 1
0030 
0031 #include <Xm/XmP.h>
0032 
0033 #ifdef __cplusplus
0034 extern "C" {
0035 #endif
0036 
0037 /* Macros */
0038 
0039 #define XmeTraitRemove(w, t) XmeTraitSet((XtPointer) w, t, NULL)
0040 
0041 
0042 /********    Private Function Declarations    ********/
0043 
0044 /*
0045  * XmeTraitGet(object, trait) returns a pointer to the trait_record
0046  * from looking up the trait on this object.  If the trait
0047  * is not found then NULL is returned.  This can therefore be used
0048  * in the following cliche'
0049  *
0050  * if (trait_rec = XmeTraitGet(XtClass(w), XmQTactivate)) {
0051  *   trait_rec -> activate();
0052  *   trait_rec -> disarm();
0053  * }
0054  */
0055 
0056 extern XtPointer XmeTraitGet(XtPointer, XrmQuark);
0057 
0058 /* 
0059  * Boolean XmeTraitSet(object, traitname, traitrecord)
0060  *
0061  * Installs the trait on the object.  Boolean will indicate
0062  * success of the installation.  
0063  * 
0064  * Install will use the direct pointer to traitrecord given.  The
0065  * implementation is therefore not allowed to use automatic
0066  * storage for traitrecord,  but can use malloc or static initialization
0067  *
0068  */
0069 
0070 extern Boolean XmeTraitSet(XtPointer, XrmQuark, XtPointer);
0071 
0072 /********    End Private Function Declarations    ********/
0073 
0074 #ifdef __cplusplus
0075 }  /* Close scope of 'extern "C"' declaration which encloses file. */
0076 #endif
0077 
0078 #endif /* _XmTraitP_H */
0079