home *** CD-ROM | disk | FTP | other *** search
/ Tools / WinSN5.0Ver.iso / NETSCAP.50 / WIN1998.ZIP / ns / cmd / xfe / XfeWidgets / Xfe / CascadeP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-04-08  |  4.7 KB  |  128 lines

  1. /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  2.  *
  3.  * The contents of this file are subject to the Netscape Public License
  4.  * Version 1.0 (the "NPL"); you may not use this file except in
  5.  * compliance with the NPL.  You may obtain a copy of the NPL at
  6.  * http://www.mozilla.org/NPL/
  7.  *
  8.  * Software distributed under the NPL is distributed on an "AS IS" basis,
  9.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
  10.  * for the specific language governing rights and limitations under the
  11.  * NPL.
  12.  *
  13.  * The Initial Developer of this code under the NPL is Netscape
  14.  * Communications Corporation.  Portions created by Netscape are
  15.  * Copyright (C) 1998 Netscape Communications Corporation.  All Rights
  16.  * Reserved.
  17.  */
  18. /*-----------------------------------------*/
  19. /*                                                                        */
  20. /* Name:        <Xfe/CascadeP.h>                                        */
  21. /* Description:    XfeCascade widget private header file.                    */
  22. /* Author:        Ramiro Estrugo <ramiro@netscape.com>                    */
  23. /*                                                                        */
  24. /*----------------------------------------------------------------------*/
  25.  
  26.  
  27. #ifndef _XfeCascadeP_h_                            /* start CascadeP.h        */
  28. #define _XfeCascadeP_h_
  29.  
  30. #include <Xfe/Cascade.h>
  31. #include <Xfe/ButtonP.h>
  32.  
  33. #ifdef __cplusplus                                /* start C++            */
  34. extern "C" {
  35. #endif
  36.    
  37. /*----------------------------------------------------------------------*/
  38. /*                                                                        */
  39. /* XfeCascadeClassPart                                                    */
  40. /*                                                                        */
  41. /*----------------------------------------------------------------------*/
  42. typedef struct
  43. {
  44.     XtPointer        extension;                    /* Extension            */
  45. } XfeCascadeClassPart;
  46.  
  47. /*----------------------------------------------------------------------*/
  48. /*                                                                        */
  49. /* XfeCascadeClassRec                                                    */
  50. /*                                                                        */
  51. /*----------------------------------------------------------------------*/
  52. typedef struct _XfeCascadeClassRec
  53. {
  54.     CoreClassPart                core_class;
  55.     XmPrimitiveClassPart        primitive_class;
  56.     XfePrimitiveClassPart        xfe_primitive_class;
  57.     XfeLabelClassPart            xfe_label_class;
  58.     XfeButtonClassPart            xfe_button_class;
  59.     XfeCascadeClassPart            xfe_cascade_class;
  60. } XfeCascadeClassRec;
  61.  
  62. externalref XfeCascadeClassRec xfeCascadeClassRec;
  63.  
  64. /*----------------------------------------------------------------------*/
  65. /*                                                                        */
  66. /* XfeCascadePart                                                        */
  67. /*                                                                        */
  68. /*----------------------------------------------------------------------*/
  69. typedef struct _XfeCascadePart
  70. {
  71.     /* Callback resources */
  72.     XtCallbackList        popdown_callback;        /* Popdown cb            */
  73.     XtCallbackList        popup_callback;            /* Popup cb                */
  74.     XtCallbackList        cascading_callback;        /* Cascading cb            */
  75.     XtCallbackList        submenu_tear_callback;    /* Tear submenu cb        */
  76.  
  77.     /* Sub menu resources */
  78.     Widget                sub_menu_id;            /* Sub menu id            */
  79.     int                    mapping_delay;            /* Mapping delay        */
  80.     unsigned char        sub_menu_alignment;        /* Sub menu alignment    */
  81.     unsigned char        sub_menu_location;        /* Sub menu location    */
  82.     Boolean                popped_up;                /* Popped up ?            */
  83.     Boolean                match_sub_menu_width;    /* Match sub menu width?*/
  84.  
  85.     /* Cascade arrow resources */
  86.     unsigned char        cascade_arrow_direction;/* Arrow direction        */
  87.     unsigned char        cascade_arrow_location;    /* Arrow location        */
  88.     Boolean                draw_cascade_arrow;        /* Draw cascade arrow ? */
  89.  
  90.     /* Tear resources */
  91.     Boolean                torn;                    /* Torn ?                */
  92.     Boolean                allow_tear_off;            /* Allow tear off        */
  93.     String                torn_shell_title;        /* Torn shell title        */
  94.  
  95.     /* Private Data Members */
  96.     XtIntervalId        delay_timer_id;            /* Delay timer id        */
  97.     Cursor                default_menu_cursor;    /* Default menu cursor    */
  98.     XRectangle            cascade_arrow_rect;        /* Cascade arrow rect    */
  99. } XfeCascadePart;
  100.  
  101. /*----------------------------------------------------------------------*/
  102. /*                                                                        */
  103. /* XfeCascadeRec                                                        */
  104. /*                                                                        */
  105. /*----------------------------------------------------------------------*/
  106. typedef struct _XfeCascadeRec
  107. {
  108.     CorePart                core;                /* Core Part            */
  109.     XmPrimitivePart            primitive;            /* XmPrimitive Part        */
  110.     XfePrimitivePart        xfe_primitive;        /* XfePrimitive Part    */
  111.     XfeLabelPart            xfe_label;            /* XfeLabel Part        */
  112.     XfeButtonPart            xfe_button;            /* XfeButton Part        */
  113.     XfeCascadePart            xfe_cascade;        /* XfeCascade Part        */
  114. } XfeCascadeRec;
  115.  
  116. /*----------------------------------------------------------------------*/
  117. /*                                                                        */
  118. /* XfeCascadePart Access Macro                                            */
  119. /*                                                                        */
  120. /*----------------------------------------------------------------------*/
  121. #define _XfeCascadePart(w) &(((XfeCascadeWidget) w)->xfe_cascade)
  122.  
  123. #ifdef __cplusplus                                /* end C++                */
  124. }
  125. #endif
  126.  
  127. #endif                                            /* end CascadeP.h        */
  128.