home *** CD-ROM | disk | FTP | other *** search
/ IRIS Development Option 6.2 / IRIS_Development_Option_6.2_814-0478-001.iso / dist / dev.idb / usr / include / abi / Xm / MenuShellP.h.z / MenuShellP.h
C/C++ Source or Header  |  1996-03-14  |  3KB  |  122 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC. 
  3.  * ALL RIGHTS RESERVED 
  4. */ 
  5. /* 
  6.  * Motif Release 1.2
  7. */ 
  8. /*   $RCSfile: MenuShellP.h,v $ $Revision: 1.2 $ $Date: 1994/04/20 01:36:13 $ */
  9. /*
  10. *  (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  11. /*
  12. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  13. #ifndef _XmMenuShellP_h
  14. #define _XmMenuShellP_h
  15.  
  16. #include <Xm/MenuShell.h>
  17. #include <Xm/XmP.h>
  18. #include <X11/ShellP.h>
  19.  
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif
  23.  
  24. /* The MenuShell instance record */
  25.  
  26. typedef struct 
  27. {
  28.     unsigned char        focus_policy;
  29.     XmFocusData            focus_data;
  30.     Boolean                 private_shell;
  31.     XmFontList              default_font_list;
  32.     XmFontList              button_font_list;
  33.     XmFontList              label_font_list;
  34. } XmMenuShellPart;
  35.  
  36.  
  37. /* Full instance record declaration */
  38.  
  39. typedef  struct _XmMenuShellRec 
  40. {
  41.     CorePart            core;
  42.     CompositePart        composite;
  43.     ShellPart            shell;
  44.     OverrideShellPart        override;
  45.     XmMenuShellPart        menu_shell;
  46. } XmMenuShellRec;
  47.  
  48. typedef  struct _XmMenuShellWidgetRec /* OBSOLETE (for compatibility only).*/
  49. {
  50.     CorePart            core;
  51.     CompositePart        composite;
  52.     ShellPart            shell;
  53.     OverrideShellPart        override;
  54.     XmMenuShellPart        menu_shell;
  55. } XmMenuShellWidgetRec;
  56.  
  57.  
  58.  
  59. /* MenuShell class structure */
  60.  
  61. typedef struct 
  62. {
  63.     XtActionProc popdownOne;  /* fnct to unpost portion or all of menu */
  64.     XtActionProc popdownEveryone; /* fnct to unpost portion of menu */
  65.     XtActionProc popdownDone;     /* fnct to unpost all menus */
  66.     XmMenuPopupProc popupSharedMenupane; /* fnct to post shared menus */
  67.                     /* Really should be popupSharedMenuShell */
  68.     XtPointer        extension;     /* Pointer to extension record */
  69. } XmMenuShellClassPart;
  70.  
  71.  
  72. /* Full class record declaration */
  73.  
  74. typedef struct _XmMenuShellClassRec 
  75. {
  76.     CoreClassPart        core_class;
  77.     CompositeClassPart        composite_class;
  78.     ShellClassPart        shell_class;
  79.     OverrideShellClassPart  override_shell_class;
  80.     XmMenuShellClassPart    menu_shell_class;
  81. } XmMenuShellClassRec;
  82.  
  83.  
  84. externalref XmMenuShellClassRec  xmMenuShellClassRec;
  85.  
  86. #define MS_FocusPolicy(m) \
  87.        (((XmMenuShellWidget)m)->menu_shell.focus_policy)
  88.  
  89. /********    Private Function Declarations    ********/
  90. #ifdef _NO_PROTO
  91.  
  92. extern void _XmEnterRowColumn() ;
  93. extern void _XmClearTraversal() ;
  94. extern void _XmSetLastManagedMenuTime() ;
  95.  
  96. #else
  97.  
  98. extern void _XmEnterRowColumn( 
  99.                         Widget widget,
  100.                         XtPointer closure,
  101.                         XEvent *event,
  102.                         Boolean *cont) ;
  103. extern void _XmClearTraversal( 
  104.                         Widget wid,
  105.                         XEvent *event,
  106.                         String *params,
  107.                         Cardinal *num_params) ;
  108. extern void _XmSetLastManagedMenuTime(
  109.             Widget wid,
  110.             Time newTime ) ;
  111.  
  112. #endif /* _NO_PROTO */
  113. /********    End Private Function Declarations    ********/
  114.  
  115.  
  116. #ifdef __cplusplus
  117. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  118. #endif
  119.  
  120. #endif /* _XmMenuShellP_h */
  121. /* DON'T ADD STUFF AFTER THIS #endif */
  122.