1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
/* $XConsortium: MenuT.h /main/5 1995/07/15 20:53:03 drk $ */
/*
* @OPENGROUP_COPYRIGHT@
* COPYRIGHT NOTICE
* Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
* Copyright (c) 1996, 1997, 1998, 1999, 2000 The Open Group
* ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
* the full copyright text.
*
* This software is subject to an open license. It may only be
* used on, with or for operating systems which are themselves open
* source systems. You must contact The Open Group for a license
* allowing distribution and sublicensing of this software on, with,
* or for operating systems which are not Open Source programs.
*
* See http://www.opengroup.org/openmotif/license for full
* details of the license agreement. Any use, reproduction, or
* distribution of the program constitutes recipient's acceptance of
* this agreement.
*
* EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
* PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
* WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
* OR FITNESS FOR A PARTICULAR PURPOSE
*
* EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
* NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
* EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*/
/*
* HISTORY
*/
#ifndef _XmMenuT_H
#define _XmMenuT_H
#include <Xm/Xm.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Quick fix for Linux-ARM where "arm" is the #define symbol */
#ifdef arm
# undef arm
#endif
/* Menu System Traits */
externalref XrmQuark XmQTmenuSystem;
externalref XrmQuark XmQTmenuSavvy;
/* Trait structures and typedefs, place typedefs first */
/* Used by the disable callback method of the menu savvy trait */
typedef enum {
XmDISABLE_ACTIVATE, /* defer to the entryCallback */
XmENABLE_ACTIVATE /* invoke own activate callback */
} XmActivateState;
/* Menu trait typedefs */
typedef int (*XmMenuSystemWidgetProc)(Widget);
typedef Boolean (*XmMenuSystemVerifyProc)(Widget, XEvent*);
typedef void (*XmMenuSystemControlTraversalProc)(Widget, Boolean);
typedef void (*XmMenuSystemCascadeProc)(Widget, Widget, XEvent*);
typedef void (*XmMenuSystemPositionProc)(Widget, XEvent*);
typedef Boolean (*XmMenuSystemPopdownProc)(Widget, XEvent*);
typedef void (*XmMenuSystemEntryCallbackProc)(Widget, Widget, XtPointer);
typedef Boolean (*XmMenuSystemUpdateHistoryProc)(Widget, Widget, Boolean);
typedef void (*XmMenuSystemUpdateBindingsProc)(Widget, int);
typedef void (*XmMenuSystemRecordPostFromWidgetProc)(Widget, Widget, Boolean);
typedef void (*XmMenuSystemDisarmProc)(Widget);
typedef Widget (*XmMenuSystemPopupPostedProc)(Widget);
typedef void (*XmMenuSavvyDisableProc)(Widget, XmActivateState);
typedef char* (*XmMenuSavvyGetAcceleratorProc)(Widget);
typedef KeySym (*XmMenuSavvyGetMnemonicProc)(Widget);
typedef char* (*XmMenuSavvyGetActivateCBNameProc)();
#define XmMenuSystemTypeProc XmMenuSystemWidgetProc
#define XmMenuSystemStatusProc XmMenuSystemWidgetProc
#define XmMenuSystemGetPostedFromWidgetProc XmMenuSystemDisarmProc
#define XmMenuSystemArmProc XmMenuSystemDisarmProc
#define XmMenuSystemMenuBarCleanupProc XmMenuSystemDisarmProc
#define XmMenuSystemTearOffArmProc XmMenuSystemDisarmProc
#define XmMenuSystemReparentProc XmMenuSystemPositionProc
#define XmMenuSystemPopdownAllProc XmMenuSystemPositionProc
#define XmMenuSystemChildFocusProc XmMenuSystemDisarmProc
/* XmTmenuProcTrait */
/* Version 0: initial release. */
typedef struct _XmMenuSystemTraitRec
{
int version; /* 0 */
XmMenuSystemTypeProc type;
XmMenuSystemStatusProc status;
XmMenuSystemCascadeProc cascade;
XmMenuSystemVerifyProc verifyButton;
XmMenuSystemControlTraversalProc controlTraversal;
XmMenuSystemMenuBarCleanupProc menuBarCleanup;
XmMenuSystemPopdownProc popdown;
XmMenuSystemPopdownProc buttonPopdown;
XmMenuSystemReparentProc reparentToTearOffShell;
XmMenuSystemReparentProc reparentToMenuShell;
XmMenuSystemArmProc arm;
XmMenuSystemDisarmProc disarm;
XmMenuSystemTearOffArmProc tearOffArm;
XmMenuSystemEntryCallbackProc entryCallback;
XmMenuSystemUpdateHistoryProc updateHistory;
XmMenuSystemGetPostedFromWidgetProc getLastSelectToplevel;
XmMenuSystemPositionProc position;
XmMenuSystemUpdateBindingsProc updateBindings;
XmMenuSystemRecordPostFromWidgetProc recordPostFromWidget;
XmMenuSystemPopdownAllProc popdownEveryone;
XmMenuSystemChildFocusProc childFocus;
XmMenuSystemPopupPostedProc getPopupPosted;
} XmMenuSystemTraitRec, *XmMenuSystemTrait;
/* XmTmenuSavvyTrait */
/* Version 0: initial release. */
typedef struct _XmMenuSavvyTraitRec
{
int version; /* 0 */
XmMenuSavvyDisableProc disableCallback;
XmMenuSavvyGetAcceleratorProc getAccelerator;
XmMenuSavvyGetMnemonicProc getMnemonic;
XmMenuSavvyGetActivateCBNameProc getActivateCBName;
} XmMenuSavvyTraitRec, *XmMenuSavvyTrait;
#ifdef __cplusplus
} /* Close scope of 'extern "C"' declaration which encloses file. */
#endif
#endif /* _XmMenuT_H */
|