|
|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: R T U
Length: 15141 (0x3b25)
Types: TextFile
Notes: UNIX file
Names: »RowColumnP.h«
└─⟦e2256280a⟧ Bits:30004636/disk3.imd INTERACTIVE Motif Environment Development System
└─⟦e2256280a⟧ UNIX Filesystem
└─⟦e2256280a⟧ UNIX Filesystem
└─⟦this⟧ »xt/new/usr/include/Xm/RowColumnP.h«
#ifdef REV_INFO
#ifndef lint
static char SCCSID[] = "OSF/Motif: @(#)RowColumnP.h 1.1 - 89/08/30 - 14:26:21";
#endif /* lint */
#endif /* REV_INFO */
/******************************************************************************
*******************************************************************************
*
* (c) Copyright 1989, OPEN SOFTWARE FOUNDATION, INC.
* (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
* ALL RIGHTS RESERVED
*
* THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED
* AND COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND
* WITH THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR
* ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE
* AVAILABLE TO ANY OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE
* SOFTWARE IS HEREBY TRANSFERRED.
*
* THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
* NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY OPEN SOFTWARE
* FOUNDATION, INC. OR ITS THIRD PARTY SUPPLIERS
*
* OPEN SOFTWARE FOUNDATION, INC. AND ITS THIRD PARTY SUPPLIERS,
* ASSUME NO RESPONSIBILITY FOR THE USE OR INABILITY TO USE ANY OF ITS
* SOFTWARE . OSF SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
* KIND, AND OSF EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES, INCLUDING
* BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE.
*
* Notice: Notwithstanding any other lease or license that may pertain to,
* or accompany the delivery of, this computer software, the rights of the
* Government regarding its use, reproduction and disclosure are as set
* forth in Section 52.227-19 of the FARS Computer Software-Restricted
* Rights clause.
*
* (c) Copyright 1989, Open Software Foundation, Inc. Unpublished - all
* rights reserved under the Copyright laws of the United States.
*
* RESTRICTED RIGHTS NOTICE: Use, duplication, or disclosure by the
* Government is subject to the restrictions as set forth in subparagraph
* (c)(1)(ii) of the Rights in Technical Data and Computer Software clause
* at DFARS 52.227-7013.
*
* Open Software Foundation, Inc.
* 11 Cambridge Center
* Cambridge, MA 02142
* (617)621-8700
*
* RESTRICTED RIGHTS LEGEND: This computer software is submitted with
* "restricted rights." Use, duplication or disclosure is subject to the
* restrictions as set forth in NASA FAR SUP 18-52.227-79 (April 1985)
* "Commercial Computer Software- Restricted Rights (April 1985)." Open
* Software Foundation, Inc., 11 Cambridge Center, Cambridge, MA 02142. If
* the contract contains the Clause at 18-52.227-74 "Rights in Data General"
* then the "Alternate III" clause applies.
*
* (c) Copyright 1989, Open Software Foundation, Inc.
* ALL RIGHTS RESERVED
*
*
* Open Software Foundation is a trademark of The Open Software Foundation, Inc.
* OSF is a trademark of Open Software Foundation, Inc.
* OSF/Motif is a trademark of Open Software Foundation, Inc.
* Motif is a trademark of Open Software Foundation, Inc.
* DEC is a registered trademark of Digital Equipment Corporation
* DIGITAL is a registered trademark of Digital Equipment Corporation
* X Window System is a trademark of the Massachusetts Institute of Technology
*
*******************************************************************************
******************************************************************************/
#ifndef _XmRowColumnP_h
#define _XmRowColumnP_h
#include <Xm/RowColumn.h>
#include <Xm/XmP.h>
/* The RowColumn instance record */
typedef struct _XmRowColumnPart
{
Dimension margin_height; /* margin around inside of widget */
Dimension margin_width;
Dimension spacing; /* pixels between entries */
Dimension entry_border; /* size of entry borders */
/* next three only used w/ menubars */
Widget help_pushbutton; /* ptr to help pushbutton widget */
Widget cascadeBtn; /* if this menu is pulled down by a */
/* pulldown widget this will point */
/* at the pulldown. needed to go */
/* up the cascade */
Position popup_memory_x,
popup_memory_y; /* keep a bias for use w/ */
/* popup menus so that the menu will */
/* popup with the last item selected */
/* underneath the mouse */
/* next two only used w/ option menus */
/* they are really only temporary */
/* since the data is passed off to */
/* the pulldown widget which is */
/* automatically built */
String option_label; /* label for option menu pulldown */
Widget option_submenu; /* which submenu to pulldown */
XmKidGeometry boxes; /* when doing menu layouts is an */
/* array of geo req's to make it easy */
WidgetClass entry_class; /* if homogeneous, what class */
XtCallbackList entry_callback; /* a child fired off */
XtCallbackList map_callback; /* about to be mapped call back */
XtCallbackList unmap_callback; /* about to be unmapped call back */
Widget memory_subwidget; /* id of last subwidget that */
/* fired off. Recorded by the */
/* entry_fired proc, can be set too */
/* this causes mouse/muscle memory */
/* to also be reset */
short num_columns; /* if columnar packing this is how */
/* many columns to use */
Widget option_label_gadget;
Widget option_button_gadget;
unsigned int which_button; /* active mouse button */
String menu_accelerator;
char mnemonic;
unsigned char entry_alignment; /* type of label alignment */
/* our children should have */
/* next two are layout, Tight is the */
/* standard menubar packing. Columns */
/* is radio box style, orientation */
/* determines if it is column or row */
/* major, Vert = column major */
unsigned char packing; /* entry packing (layout) style */
unsigned char type; /* temporary: diff between menu/bar */
unsigned char orientation; /* horizontal or vertical */
/* next two indicate how the widget */
/* responds to size changes if there */
/* is no geo mgr. If true then the */
/* dimension is never changed. Set */
/* to true if dimension is spec'd */
/* at create time */
Boolean armed; /* controls whether pulldowns work */
/* or not, button down in any part of */
/* the menubar arms it */
/* next is only valid for popup menus */
Boolean adjust_margin; /* T/F, indicating if we should force */
/* all subwidgets to have similar */
/* margins */
Boolean adjust_last; /* Indicates whether or not the last row */
/* row or column should be stretched to */
/* the edge of the row_column widget. */
Boolean do_alignment; /* T/F, do we force alignment on all */
/* our children */
Boolean radio; /* T/F, do we do the toggle button */
/* 'only-one-down' enforcement */
Boolean radio_one; /* T/F, must have one radio button */
/* set to on */
Boolean homogeneous; /* T/F, do we only allow a single */
/* class of children */
Boolean resize_width;
Boolean resize_height;
Boolean popup_enabled;
} XmRowColumnPart;
/* Full instance record declaration */
typedef struct _XmRowColumnWidgetRec
{
CorePart core;
CompositePart composite;
ConstraintPart constraint;
XmManagerPart manager;
XmRowColumnPart row_column;
} XmRowColumnWidgetRec;
/* RowColumn class structure */
typedef struct _XmRowColumnClassPart
{
XtProc position; /* proc to compute the position of */
/* a popup/pulldown menu, should */
/* be called just before managing */
/* the menu. Calling params are the */
/* menu to position and for popup */
/* menus, a pointer to an XEvent. */
XtProc setCascade; /* proc to set cascade btn field */
XtProc armAndActivate; /* proc triggered by acclerator */
XtProc menuPopdown; /* proc to popdown a menu */
XtProc menuArm; /* proc to arm a menu */
XtProc setMenuTraversal;/* proc modify traversal state */
XtProc menuDisarm; /* proc to disarm a menu */
XtProc traversalHandler;/* proc to handle menu traversal */
XtProc menuBarCleanup; /* proc to cleanup menubar traversal */
caddr_t extension; /* Pointer to extension record */
} XmRowColumnClassPart;
typedef struct _XmRowColumnClassRec
{
CoreClassPart core_class;
CompositeClassPart composite_class;
ConstraintClassPart constraint_class;
XmManagerClassPart manager_class;
XmRowColumnClassPart row_column_class;
} XmRowColumnClassRec;
extern XmRowColumnClassRec xmRowColumnClassRec;
/* Constraint Definition */
/* No constraint resources */
typedef struct _XmRowColumnConstraintPart
{
Boolean was_managed;
} XmRowColumnConstraintPart;
typedef struct _XmRowColumnConstraintRec
{
XmManagerConstraintPart manager;
XmRowColumnConstraintPart row_column;
} XmRowColumnConstraintRec;
/* Access Macros */
#define XmRC_ARMED_BIT (1 << 0)
#define XmRC_BEING_ARMED_BIT (1 << 1) /* bits in menu's armed byte */
#define XmRC_EXPOSE_BIT (1 << 2) /* used in both menu and */
#define XmRC_WINDOW_MOVED_BIT (1 << 3) /* popup menu, careful */
#define XmRC_WIDGET_MOVED_BIT (1 << 4)
#define XmRC_POPPING_DOWN_BIT (1 << 5)
#define RC_IsArmed(m) (((XmRowColumnWidget)(m))->row_column.armed & XmRC_ARMED_BIT)
#define RC_BeingArmed(m) (((XmRowColumnWidget)(m))->row_column.armed & XmRC_BEING_ARMED_BIT)
#define RC_DoExpose(m) (((XmRowColumnWidget)(m))->row_column.armed & XmRC_EXPOSE_BIT)
#define RC_WidgetHasMoved(m) (((XmRowColumnWidget)(m))->row_column.armed & XmRC_WIDGET_MOVED_BIT)
#define RC_WindowHasMoved(m) (((XmRowColumnWidget)(m))->row_column.armed & XmRC_WINDOW_MOVED_BIT)
#define RC_PoppingDown(m) (((XmRowColumnWidget)(m))->row_column.armed & XmRC_POPPING_DOWN_BIT)
#define RC_SetBit(byte,bit,v) byte = (byte & (~bit)) | (v ? bit : 0)
#define RC_SetArmed(m,v) RC_SetBit (((XmRowColumnWidget)(m))->row_column.armed, XmRC_ARMED_BIT, v)
#define RC_SetBeingArmed(m,v) RC_SetBit (((XmRowColumnWidget)(m))->row_column.armed, XmRC_BEING_ARMED_BIT, v)
#define RC_SetExpose(m,v) RC_SetBit (((XmRowColumnWidget)(m))->row_column.armed, XmRC_EXPOSE_BIT, v)
#define RC_SetWidgetMoved(m,v) RC_SetBit(((XmRowColumnWidget)(m))->row_column.armed, XmRC_WIDGET_MOVED_BIT,v)
#define RC_SetWindowMoved(m,v) RC_SetBit(((XmRowColumnWidget)(m))->row_column.armed, XmRC_WINDOW_MOVED_BIT,v)
#define RC_SetPoppingDown(m,v) RC_SetBit(((XmRowColumnWidget)(m))->row_column.armed, XmRC_POPPING_DOWN_BIT,v)
#define RC_MarginW(m) (((XmRowColumnWidget)(m))->row_column.margin_width)
#define RC_MarginH(m) (((XmRowColumnWidget)(m))->row_column.margin_height)
#define RC_Entry_cb(m) (((XmRowColumnWidget)(m))->row_column.entry_callback)
#define RC_Map_cb(m) (((XmRowColumnWidget)(m))->row_column.map_callback)
#define RC_Unmap_cb(m) (((XmRowColumnWidget)(m))->row_column.unmap_callback)
#define RC_Orientation(m) (((XmRowColumnWidget)(m))->row_column.orientation)
#define RC_Spacing(m) (((XmRowColumnWidget)(m))->row_column.spacing)
#define RC_EntryBorder(m) (((XmRowColumnWidget)(m))->row_column.entry_border)
#define RC_HelpPb(m) (((XmRowColumnWidget)(m))->row_column.help_pushbutton)
#define RC_DoMarginAdjust(m) (((XmRowColumnWidget)(m))->row_column.adjust_margin)
#define RC_EntryAlignment(m) (((XmRowColumnWidget)(m))->row_column.entry_alignment)
#define RC_Packing(m) (((XmRowColumnWidget)(m))->row_column.packing)
#define RC_NCol(m) (((XmRowColumnWidget)(m))->row_column.num_columns)
#define RC_AdjLast(m) (((XmRowColumnWidget)(m))->row_column.adjust_last)
#define RC_AdjMargin(m) (((XmRowColumnWidget)(m))->row_column.adjust_margin)
#define RC_MemWidget(m) (((XmRowColumnWidget)(m))->row_column.memory_subwidget)
#define RC_CascadeBtn(m) (((XmRowColumnWidget)(m))->row_column.cascadeBtn)
#define RC_OptionLabel(m) (((XmRowColumnWidget)(m))->row_column.option_label)
#define RC_OptionSubMenu(m) (((XmRowColumnWidget)(m))->row_column.option_submenu)
#define RC_RadioBehavior(m) (((XmRowColumnWidget)(m))->row_column.radio)
#define RC_RadioAlwaysOne(m) (((XmRowColumnWidget)(m))->row_column.radio_one)
#define RC_PopupMemoryX(m) (((XmRowColumnWidget)(m))->row_column.popup_memory_x)
#define RC_PopupMemoryY(m) (((XmRowColumnWidget)(m))->row_column.popup_memory_y)
#define RC_ResizeHeight(m) (((XmRowColumnWidget)(m))->row_column.resize_height)
#define RC_ResizeWidth(m) (((XmRowColumnWidget)(m))->row_column.resize_width)
#define RC_Type(m) (((XmRowColumnWidget)(m))->row_column.type)
#define RC_EntryClass(m) (((XmRowColumnWidget)(m))->row_column.entry_class)
#define RC_IsHomogeneous(m) (((XmRowColumnWidget)(m))->row_column.homogeneous)
#define RC_Boxes(m) (((XmRowColumnWidget)(m))->row_column.boxes)
#define RC_PopupEnabled(m) (((XmRowColumnWidget)(m))->row_column.popup_enabled)
#define RC_MenuAccelerator(m) (((XmRowColumnWidget)(m))->row_column.menu_accelerator)
#define RC_Mnemonic(m) (((XmRowColumnWidget)(m))->row_column.mnemonic)
#define RC_WaitingForRealize(m) (((XmRowColumnWidget)(m))->row_column.waiting_for_realize)
#define RC_OptionLabelGadget(m) (((XmRowColumnWidget) m)->row_column.option_label_gadget)
#define RC_OptionButtonGadget(m) (((XmRowColumnWidget) m)->row_column.option_button_gadget)
#define RC_WhichButton(m) (((XmRowColumnWidget) m)->row_column.which_button)
/* Defines used when calling _XmProcessMenuTree() */
#define XmADD 0
#define XmDELETE 1
#define XmREPLACE 2
/* Defines used when calling _XmMenuIsAccessible() */
#define XmWEAK_CHECK 1
#define XmMEDIUM_CHECK 2
#define XmSTRONG_CHECK 3
#endif /* _XmRowColumnP_h */
/* DON'T ADD STUFF AFTER THIS #endif */