source: trunk/third/x3270/CmplxMenuP.h @ 9081

Revision 9081, 4.2 KB checked in by ghudson, 28 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r9080, which included commits to RCS files with non-trunk default branches.
RevLine 
[9080]1/*
2 * (from) $XConsortium: SimpleMenP.h,v 1.12 89/12/11 15:01:39 kit Exp $
3 *
4 * Modifications Copyright 1995 by Paul Mattes.
5 *   Permission to use, copy, modify, and distribute this software and its
6 *   documentation for any purpose and without fee is hereby granted,
7 *   provided that the above copyright notice appear in all copies and that
8 *   both that copyright notice and this permission notice appear in
9 *   supporting documentation.
10 *
11 * Copyright 1989 Massachusetts Institute of Technology
12 *
13 * Permission to use, copy, modify, distribute, and sell this software and its
14 * documentation for any purpose is hereby granted without fee, provided that
15 * the above copyright notice appear in all copies and that both that
16 * copyright notice and this permission notice appear in supporting
17 * documentation, and that the name of M.I.T. not be used in advertising or
18 * publicity pertaining to distribution of the software without specific,
19 * written prior permission.  M.I.T. makes no representations about the
20 * suitability of this software for any purpose.  It is provided "as is"
21 * without express or implied warranty.
22 *
23 * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T.
25 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
26 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
27 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
28 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
29 */
30
31/*
32 * ComplexMenuP.h - Private Header file for ComplexMenu widget.
33 * (from) SimpleMenuP.h - Private Header file for SimpleMenu widget.
34 *
35 * Date:    April 3, 1989
36 *
37 * By:      Chris D. Peterson
38 *          MIT X Consortium
39 *          kit@expo.lcs.mit.edu
40 */
41
42#ifndef _ComplexMenuP_h
43#define _ComplexMenuP_h
44
45#include "CmplxMenu.h"
46#include "CmeP.h"
47#include <X11/ShellP.h>
48
49#define ForAllChildren(smw, childP) \
50  for ( (childP) = (CmeObject *) (smw)->composite.children ; \
51        (childP) < (CmeObject *) ( (smw)->composite.children + \
52                                 (smw)->composite.num_children ) ; \
53        (childP)++ )
54
55typedef struct {
56    XtPointer extension;                /* For future needs. */
57} ComplexMenuClassPart;
58
59typedef struct _ComplexMenuClassRec {
60  CoreClassPart           core_class;
61  CompositeClassPart      composite_class;
62  ShellClassPart          shell_class;
63  OverrideShellClassPart  override_shell_class;
64  ComplexMenuClassPart    complexMenu_class;
65} ComplexMenuClassRec;
66
67extern ComplexMenuClassRec complexMenuClassRec;
68
69typedef struct _ComplexMenuPart {
70
71  /* resources */
72
73  String       label_string;    /* The string for the label or NULL. */
74  CmeObject   label;            /* If label_string is non-NULL then this is
75                                   the label widget. */
76  WidgetClass  label_class;     /* Widget Class of the menu label object. */
77
78  Dimension    top_margin;      /* Top and bottom margins. */
79  Dimension    bottom_margin;
80  Dimension    row_height;      /* height of each row (menu entry) */
81
82  Cursor       cursor;          /* The menu's cursor. */
83  CmeObject popup_entry;        /* The entry to position the cursor on for
84                                   when using XawPositionComplexMenu. */
85  Boolean      menu_on_screen;  /* Force the menus to be fully on the screen.*/
86  int          backing_store;   /* What type of backing store to use. */
87
88  /* private state */
89
90  Boolean recursive_set_values; /* contain a possible infinite loop. */
91
92  Boolean menu_width;           /* If true then force width to remain
93                                   core.width */
94  Boolean menu_height;          /* Just like menu_width, but for height. */
95
96  CmeObject entry_set;          /* The entry that is currently set or
97                                   highlighted. */
98  CmeObject prev_entry;         /* The entry that was previously set or
99                                   highlighted. */
100  Widget parent;                /* If non-NULL, the widget that popped
101                                   this menu up as a pullright. */
102  Widget deferred_notify;       /* If non-NULL, the widget (from a subordinate
103                                   pullright menu) to notify on exit. */
104} ComplexMenuPart;
105
106typedef struct _ComplexMenuRec {
107  CorePart              core;
108  CompositePart         composite;
109  ShellPart             shell;
110  OverrideShellPart     override;
111  ComplexMenuPart       complex_menu;
112} ComplexMenuRec;
113
114#endif /* _ComplexMenuP_h */
Note: See TracBrowser for help on using the repository browser.