home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / include / Xm / ManagerP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-30  |  10.5 KB  |  359 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC. 
  3.  * ALL RIGHTS RESERVED 
  4. */ 
  5. /* 
  6.  * Motif Release 1.2.1
  7. */ 
  8. /*   $RCSfile: ManagerP.h,v $ $Revision: 10.1 $ $Date: 1994/02/03 15:43:43 $ */
  9. /*
  10. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  11. /*
  12. *  (c) Copyright 1989, 1990 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  13. /*
  14. *  (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
  15. #ifndef _XmManagerP_h
  16. #define _XmManagerP_h
  17.  
  18. #ifndef _XmNO_BC_INCL
  19. #define _XmNO_BC_INCL
  20. #endif
  21.  
  22. #include <Xm/XmP.h>
  23.  
  24. #ifdef __cplusplus
  25. extern "C" {
  26. #endif
  27.  
  28. /*  Access Macros  */
  29.  
  30. #define XmParentTopShadowGC(w) (((XmManagerWidget)            \
  31.     (((XmGadget)(w))->object.parent))->manager.top_shadow_GC)
  32.  
  33. #define XmParentBottomShadowGC(w) (((XmManagerWidget)            \
  34.     (((XmGadget)(w))->object.parent))->manager.bottom_shadow_GC)
  35.  
  36. #define XmParentHighlightGC(w) (((XmManagerWidget)            \
  37.     (((XmGadget)(w))->object.parent))->manager.highlight_GC)
  38.  
  39. #define XmParentBackgroundGC(w) (((XmManagerWidget)                     \
  40.         (((XmGadget)(w))->object.parent))->manager.background_GC)
  41.  
  42. #define MGR_KeyboardList(m)        \
  43.             (((XmManagerRec *) (m))->manager.keyboard_list)
  44. #define MGR_NumKeyboardEntries(m)    \
  45.             (((XmManagerRec *) (m))->manager.num_keyboard_entries)
  46. #define MGR_SizeKeyboardList(m)        \
  47.             (((XmManagerRec *) (m))->manager.size_keyboard_list)
  48. #define MGR_ShadowThickness(m)        \
  49.             (((XmManagerRec *) (m))->manager.shadow_thickness)
  50.  
  51.  
  52. #define XmInheritTraversalChildrenProc ((XmTraversalChildrenProc) _XtInherit)
  53.  
  54. #ifdef _NO_PROTO
  55. typedef Boolean (*XmTraversalChildrenProc)() ;
  56. #else
  57. typedef Boolean (*XmTraversalChildrenProc)( Widget, Widget **, Cardinal *) ;
  58. #endif
  59.  
  60.  
  61. /*  Structure used for storing accelerator and mnemonic information.  */
  62.  
  63. #ifndef NO_IXI_KEYCODE_FIX
  64. typedef struct 
  65. {
  66.    unsigned int eventType;
  67.    KeySym       keysym;
  68.    KeyCode*     key;
  69.    unsigned int modifiers;
  70.    Widget       component;
  71.    Boolean      needGrab;
  72.    Boolean      isMnemonic;
  73.    Cardinal     keycount;
  74. } XmKeyboardData;
  75. #else
  76. typedef struct 
  77. {
  78.    unsigned int eventType;
  79.    KeySym       keysym;
  80.    KeyCode      key;
  81.    unsigned int modifiers;
  82.    Widget       component;
  83.    Boolean      needGrab;
  84.    Boolean      isMnemonic;
  85. } XmKeyboardData;
  86. #endif /* NO_IXI_KEYCODE_FIX */
  87.  
  88. /*  The class definition  */
  89.  
  90. typedef struct {
  91.     XtPointer next_extension;
  92.     XrmQuark record_type;
  93.     long version;
  94.     Cardinal record_size;
  95.     XmTraversalChildrenProc traversal_children ;
  96. } XmManagerClassExtRec, *XmManagerClassExt ;
  97.  
  98. #define XmManagerClassExtVersion 1L
  99.  
  100. typedef struct _XmManagerClassPart
  101. {
  102.    String               translations;
  103.    XmSyntheticResource * syn_resources;   
  104.    int                  num_syn_resources;   
  105.    XmSyntheticResource * syn_constraint_resources;   
  106.    int                  num_syn_constraint_resources;   
  107.    XmParentProcessProc  parent_process;
  108.    XtPointer            extension;
  109. } XmManagerClassPart;
  110.  
  111. typedef struct _XmManagerClassRec
  112. {
  113.     CoreClassPart       core_class;
  114.     CompositeClassPart  composite_class;
  115.     ConstraintClassPart constraint_class;
  116.     XmManagerClassPart  manager_class;
  117. } XmManagerClassRec;
  118.  
  119. #ifndef MANAGER
  120. externalref XmManagerClassRec xmManagerClassRec;
  121. #endif
  122.  
  123. /*  The instance definition  */
  124.  
  125. typedef struct _XmManagerPart
  126. {
  127.    Pixel   foreground;
  128.  
  129.    Dimension   shadow_thickness;
  130.    Pixel   top_shadow_color;
  131.    Pixmap  top_shadow_pixmap;
  132.    Pixel   bottom_shadow_color;
  133.    Pixmap  bottom_shadow_pixmap;
  134.  
  135.    Pixel   highlight_color;
  136.    Pixmap  highlight_pixmap;
  137.  
  138.    XtCallbackList help_callback;
  139.    XtPointer      user_data;
  140.  
  141.    Boolean traversal_on;
  142.    unsigned char unit_type;
  143.    XmNavigationType navigation_type;
  144.    
  145.    Boolean event_handler_added;
  146.    Widget  active_child;
  147.    Widget  highlighted_widget;
  148.    Widget  accelerator_widget;
  149.  
  150.    Boolean has_focus;
  151.  
  152.    XmStringDirection string_direction;
  153.  
  154.    XmKeyboardData * keyboard_list;
  155.    short num_keyboard_entries;
  156.    short size_keyboard_list;
  157.  
  158.    XmGadget selected_gadget;
  159.    XmGadget eligible_for_multi_button_event;
  160.  
  161.    GC      background_GC;
  162.    GC      highlight_GC;
  163.    GC      top_shadow_GC;
  164.    GC      bottom_shadow_GC;
  165.  
  166.    Widget  initial_focus;
  167. } XmManagerPart;
  168.  
  169. typedef struct _XmManagerRec
  170. {
  171.    CorePart       core;
  172.    CompositePart  composite;
  173.    ConstraintPart constraint;
  174.    XmManagerPart  manager;
  175. } XmManagerRec;
  176.  
  177.  
  178. /*  The constraint definition  */
  179.  
  180. typedef struct _XmManagerConstraintPart
  181. {
  182.    int unused;
  183. } XmManagerConstraintPart;
  184.  
  185. typedef struct _XmManagerConstraintRec
  186. {
  187.    XmManagerConstraintPart manager;
  188. } XmManagerConstraintRec, * XmManagerConstraintPtr;
  189.  
  190.  
  191.  
  192. /********    Private Function Declarations    ********/
  193. #ifdef _NO_PROTO
  194.  
  195. extern void _XmGadgetTraversePrevTabGroup() ;
  196. extern void _XmGadgetTraverseNextTabGroup() ;
  197. extern void _XmGadgetTraverseLeft() ;
  198. extern void _XmGadgetTraverseRight() ;
  199. extern void _XmGadgetTraverseUp() ;
  200. extern void _XmGadgetTraverseDown() ;
  201. extern void _XmGadgetTraverseNext() ;
  202. extern void _XmGadgetTraversePrev() ;
  203. extern void _XmGadgetTraverseHome() ;
  204. extern void _XmGadgetSelect() ;
  205. extern void _XmManagerParentActivate() ;
  206. extern void _XmManagerParentCancel() ;
  207. extern void _XmGadgetButtonMotion() ;
  208. extern void _XmGadgetKeyInput() ;
  209. extern void _XmGadgetArm() ;
  210. extern void _XmGadgetDrag() ;
  211. extern void _XmGadgetActivate() ;
  212. extern void _XmManagerHelp() ;
  213. extern void _XmGadgetMultiArm() ;
  214. extern void _XmGadgetMultiActivate() ;
  215.  
  216. extern void _XmSocorro() ;
  217. extern Boolean _XmParentProcess() ;
  218. extern void _XmClearShadowType() ;
  219. extern void _XmDestroyParentCallback() ;
  220.  
  221. #else
  222.  
  223. extern void _XmGadgetTraversePrevTabGroup( 
  224.                         Widget wid,
  225.                         XEvent *event,
  226.                         String *params,
  227.                         Cardinal *num_params) ;
  228. extern void _XmGadgetTraverseNextTabGroup( 
  229.                         Widget wid,
  230.                         XEvent *event,
  231.                         String *params,
  232.                         Cardinal *num_params) ;
  233. extern void _XmGadgetTraverseLeft( 
  234.                         Widget wid,
  235.                         XEvent *event,
  236.                         String *params,
  237.                         Cardinal *num_params) ;
  238. extern void _XmGadgetTraverseRight( 
  239.                         Widget wid,
  240.                         XEvent *event,
  241.                         String *params,
  242.                         Cardinal *num_params) ;
  243. extern void _XmGadgetTraverseUp( 
  244.                         Widget wid,
  245.                         XEvent *event,
  246.                         String *params,
  247.                         Cardinal *num_params) ;
  248. extern void _XmGadgetTraverseDown( 
  249.                         Widget wid,
  250.                         XEvent *event,
  251.                         String *params,
  252.                         Cardinal *num_params) ;
  253. extern void _XmGadgetTraverseNext( 
  254.                         Widget wid,
  255.                         XEvent *event,
  256.                         String *params,
  257.                         Cardinal *num_params) ;
  258. extern void _XmGadgetTraversePrev( 
  259.                         Widget wid,
  260.                         XEvent *event,
  261.                         String *params,
  262.                         Cardinal *num_params) ;
  263. extern void _XmGadgetTraverseHome( 
  264.                         Widget wid,
  265.                         XEvent *event,
  266.                         String *params,
  267.                         Cardinal *num_params) ;
  268. extern void _XmGadgetSelect( 
  269.                         Widget wid,
  270.                         XEvent *event,
  271.                         String *params,
  272.                         Cardinal *num_params) ;
  273. extern void _XmManagerParentActivate( 
  274.                         Widget mw,
  275.                         XEvent *event,
  276.                         String *params,
  277.                         Cardinal *num_params) ;
  278. extern void _XmManagerParentCancel( 
  279.                         Widget mw,
  280.                         XEvent *event,
  281.                         String *params,
  282.                         Cardinal *num_params) ;
  283. extern void _XmGadgetButtonMotion( 
  284.                         Widget wid,
  285.                         XEvent *event,
  286.                         String *params,
  287.                         Cardinal *num_params) ;
  288. extern void _XmGadgetKeyInput( 
  289.                         Widget wid,
  290.                         XEvent *event,
  291.                         String *params,
  292.                         Cardinal *num_params) ;
  293. extern void _XmGadgetArm( 
  294.                         Widget wid,
  295.                         XEvent *event,
  296.                         String *params,
  297.                         Cardinal *num_params) ;
  298. extern void _XmGadgetDrag( 
  299.                         Widget wid,
  300.                         XEvent *event,
  301.                         String *params,
  302.                         Cardinal *num_params) ;
  303. extern void _XmGadgetActivate( 
  304.                         Widget wid,
  305.                         XEvent *event,
  306.                         String *params,
  307.                         Cardinal *num_params) ;
  308. extern void _XmManagerHelp( 
  309.                         Widget wid,
  310.                         XEvent *event,
  311.                         String *params,
  312.                         Cardinal *num_params) ;
  313. extern void _XmGadgetMultiArm( 
  314.                         Widget wid,
  315.                         XEvent *event,
  316.                         String *params,
  317.                         Cardinal *num_params) ;
  318. extern void _XmGadgetMultiActivate( 
  319.                         Widget wid,
  320.                         XEvent *event,
  321.                         String *params,
  322.                         Cardinal *num_params) ;
  323.  
  324. extern void _XmSocorro( 
  325.                         Widget w,
  326.                         XEvent *event,
  327.                         String *params,
  328.                         Cardinal *num_params) ;
  329. extern Boolean _XmParentProcess( 
  330.                         Widget widget,
  331.                         XmParentProcessData data) ;
  332. extern void _XmClearShadowType( 
  333.                         Widget w,
  334. #if NeedWidePrototypes
  335.                         int old_width,
  336.                         int old_height,
  337.                         int old_shadow_thickness,
  338.                         int old_highlight_thickness) ;
  339. #else
  340.                         Dimension old_width,
  341.                         Dimension old_height,
  342.                         Dimension old_shadow_thickness,
  343.                         Dimension old_highlight_thickness) ;
  344. #endif /* NeedWidePrototypes */
  345. extern void _XmDestroyParentCallback( 
  346.                         Widget w,
  347.                         XtPointer client_data,
  348.                         XtPointer call_data) ;
  349. #endif /* _NO_PROTO */
  350. /********    End Private Function Declarations    ********/
  351.  
  352.  
  353. #ifdef __cplusplus
  354. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  355. #endif
  356.  
  357. #endif /* _XmManagerP_h */
  358. /* DON'T ADD ANYTHING AFTER THIS #endif */
  359.