Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /* 
0002  * Motif
0003  *
0004  * Copyright (c) 1987-2012, The Open Group. All rights reserved.
0005  *
0006  * These libraries and programs are free software; you can
0007  * redistribute them and/or modify them under the terms of the GNU
0008  * Lesser General Public License as published by the Free Software
0009  * Foundation; either version 2 of the License, or (at your option)
0010  * any later version.
0011  *
0012  * These libraries and programs are distributed in the hope that
0013  * they will be useful, but WITHOUT ANY WARRANTY; without even the
0014  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
0015  * PURPOSE. See the GNU Lesser General Public License for more
0016  * details.
0017  *
0018  * You should have received a copy of the GNU Lesser General Public
0019  * License along with these librararies and programs; if not, write
0020  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
0021  * Floor, Boston, MA 02110-1301 USA
0022 */ 
0023 #ifndef _XmMenuShellP_h
0024 #define _XmMenuShellP_h
0025 
0026 #include <Xm/MenuShell.h>
0027 #include <Xm/XmP.h>
0028 #include <X11/ShellP.h>
0029 
0030 #ifdef __cplusplus
0031 extern "C" {
0032 #endif
0033 
0034 /* The MenuShell instance record */
0035 
0036 typedef struct 
0037 {
0038     unsigned char       focus_policy;
0039     XmFocusData         focus_data;
0040     Boolean                 private_shell;
0041     XmFontList              default_font_list;
0042     XmFontList              button_font_list;
0043     XmFontList              label_font_list;
0044     XmDirection             layout_direction;
0045     Boolean                 animate;
0046 } XmMenuShellPart;
0047 
0048 
0049 /* Full instance record declaration */
0050 
0051 typedef  struct _XmMenuShellRec 
0052 {
0053     CorePart            core;
0054     CompositePart       composite;
0055     ShellPart           shell;
0056     OverrideShellPart       override;
0057     XmMenuShellPart     menu_shell;
0058 } XmMenuShellRec;
0059 
0060 typedef  struct _XmMenuShellWidgetRec /* OBSOLETE (for compatibility only).*/
0061 {
0062     CorePart            core;
0063     CompositePart       composite;
0064     ShellPart           shell;
0065     OverrideShellPart       override;
0066     XmMenuShellPart     menu_shell;
0067 } XmMenuShellWidgetRec;
0068 
0069 
0070 
0071 /* MenuShell class structure */
0072 
0073 typedef struct 
0074 {
0075     XtActionProc    popdownOne;      /* unpost portion or all of menu */
0076     XtActionProc    popdownEveryone; /* unpost portion of menu */
0077     XtActionProc    popdownDone;     /* unpost all menus */
0078     XmMenuPopupProc popupSharedMenupane; /* post shared menus */
0079                          /* (should be popupSharedMenuShell) */
0080     XtPointer       extension;       /* Pointer to extension record */
0081 } XmMenuShellClassPart;
0082 
0083 
0084 /* Full class record declaration */
0085 
0086 typedef struct _XmMenuShellClassRec 
0087 {
0088     CoreClassPart       core_class;
0089     CompositeClassPart      composite_class;
0090     ShellClassPart      shell_class;
0091     OverrideShellClassPart  override_shell_class;
0092     XmMenuShellClassPart    menu_shell_class;
0093 } XmMenuShellClassRec;
0094 
0095 
0096 externalref XmMenuShellClassRec  xmMenuShellClassRec;
0097 
0098 #define MS_FocusPolicy(m) \
0099     (((XmMenuShellWidget)m)->menu_shell.focus_policy)
0100 
0101 #ifdef __cplusplus
0102 }  /* Close scope of 'extern "C"' declaration which encloses file. */
0103 #endif
0104 
0105 #endif /* _XmMenuShellP_h */
0106 /* DON'T ADD STUFF AFTER THIS #endif */