Blame lib/Xm/RowColumnI.h

Packit b099d7
/*
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
 */
Packit b099d7
/*
Packit b099d7
 * HISTORY
Packit b099d7
 */
Packit b099d7
Packit b099d7
#ifdef REV_INFO
Packit b099d7
#ifndef lint
Packit b099d7
static char *rcsidRowColumnIH = "$XConsortium: RowColumnI.h /main/6 1996/08/15 17:26:22 pascale $";
Packit b099d7
#endif
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#ifndef _XmRowColumnI_h
Packit b099d7
#define _XmRowColumnI_h
Packit b099d7
Packit b099d7
#include <Xm/RowColumnP.h>
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#define UNDEFINED_TYPE -1
Packit b099d7
#define POST_TIME_OUT	3 /* sec */ * 1000
Packit b099d7
Packit b099d7
#define Double(x)       ((x) << 1)
Packit b099d7
#define Half(x)         ((x) >> 1)
Packit b099d7
Packit b099d7
#define IsSensitive(r)      XtIsSensitive(r)
Packit b099d7
#define IsManaged(w)        XtIsManaged(w)
Packit b099d7
#define IsNull(p)       ((p) == NULL)
Packit b099d7
Packit b099d7
#define PackTight(m)        (RC_Packing (m) == XmPACK_TIGHT)
Packit b099d7
#define PackColumn(m)       (RC_Packing (m) == XmPACK_COLUMN)
Packit b099d7
#define PackNone(m)         (RC_Packing (m) == XmPACK_NONE)
Packit b099d7
Packit b099d7
#define Asking(i)       ((i) == 0)
Packit b099d7
#define IsVertical(m)   \
Packit b099d7
       (((XmRowColumnWidget) (m))->row_column.orientation == XmVERTICAL)
Packit b099d7
#define IsHorizontal(m) \
Packit b099d7
       (((XmRowColumnWidget) (m))->row_column.orientation == XmHORIZONTAL)
Packit b099d7
#define IsAligned(m)    \
Packit b099d7
       (((XmRowColumnWidget) (m))->row_column.do_alignment)
Packit b099d7
Packit b099d7
#define IsPopup(m)     \
Packit b099d7
    (((XmRowColumnWidget) (m))->row_column.type == XmMENU_POPUP)
Packit b099d7
#define IsPulldown(m)  \
Packit b099d7
    (((XmRowColumnWidget) (m))->row_column.type == XmMENU_PULLDOWN)
Packit b099d7
#define IsOption(m)    \
Packit b099d7
    (((XmRowColumnWidget) (m))->row_column.type == XmMENU_OPTION)
Packit b099d7
#define IsBar(m)       \
Packit b099d7
    (((XmRowColumnWidget) (m))->row_column.type == XmMENU_BAR)
Packit b099d7
#define IsWorkArea(m)  \
Packit b099d7
    (((XmRowColumnWidget) (m))->row_column.type == XmWORK_AREA)
Packit b099d7
#define IsRadio(m)     \
Packit b099d7
    ((((XmRowColumnWidget) (m))->row_column.type == XmWORK_AREA) && \
Packit b099d7
         ((((XmRowColumnWidget) (m))->row_column.radio)))
Packit b099d7
#define IsHelp(m,w)     ((w) == RC_HelpPb (m))
Packit b099d7
Packit b099d7
#define WasManaged(w)  \
Packit b099d7
    (((XmRowColumnConstraintRec *) ((w)->core.constraints))-> \
Packit b099d7
     row_column.was_managed)
Packit b099d7
Packit b099d7
#define SavedMarginTop(w)  \
Packit b099d7
    (((XmRowColumnConstraintRec *) ((w)->core.constraints))-> \
Packit b099d7
     row_column.margin_top)
Packit b099d7
Packit b099d7
#define SavedMarginBottom(w)  \
Packit b099d7
    (((XmRowColumnConstraintRec *) ((w)->core.constraints))-> \
Packit b099d7
     row_column.margin_bottom)
Packit b099d7
Packit b099d7
#define SavedBaseline(w)  \
Packit b099d7
    (((XmRowColumnConstraintRec *) ((w)->core.constraints))-> \
Packit b099d7
     row_column.baseline)
Packit b099d7
Packit b099d7
#define BX(b)           ((b)->x)
Packit b099d7
#define BY(b)           ((b)->y)
Packit b099d7
#define BWidth(b)       ((b)->width)
Packit b099d7
#define BHeight(b)      ((b)->height)
Packit b099d7
#define BBorder(b)      ((b)->border_width)
Packit b099d7
Packit b099d7
#define SetPosition(b,x,y)  { BX (b) = x;  BY (b) = y; }
Packit b099d7
Packit b099d7
#define ChangeMargin(margin,new_w,sum)  {  \
Packit b099d7
    if ((margin) != new_w)        \
Packit b099d7
    {               \
Packit b099d7
        sum += new_w - (margin);  \
Packit b099d7
        (margin) = new_w;     \
Packit b099d7
    }\
Packit b099d7
}
Packit b099d7
Packit b099d7
#define ChangeMarginDouble(margin,new_w,sum) {   \
Packit b099d7
    if ((margin) != new_w)        \
Packit b099d7
    {               \
Packit b099d7
        sum += 2* (new_w - (margin));  \
Packit b099d7
        (margin) = new_w;     \
Packit b099d7
    }\
Packit b099d7
}
Packit b099d7
Packit b099d7
#define ForAllChildren(m, i, q)     \
Packit b099d7
    for (i = 0, q = m->composite.children; \
Packit b099d7
     i < m->composite.num_children;     \
Packit b099d7
     i++, q++)
Packit b099d7
Packit b099d7
#define ForManagedChildren(m, i, q)  \
Packit b099d7
    for (i = 0, q = m->composite.children; \
Packit b099d7
     i < m->composite.num_children;     \
Packit b099d7
     i++, q++)          \
Packit b099d7
                    \
Packit b099d7
    if (XtIsManaged(*q))
Packit b099d7
Packit b099d7
#define AlignmentBaselineTop(m) \
Packit b099d7
(((XmRowColumnWidget) (m))->row_column.entry_vertical_alignment == XmALIGNMENT_BASELINE_TOP)
Packit b099d7
#define AlignmentBaselineBottom(m) \
Packit b099d7
(((XmRowColumnWidget) (m))->row_column.entry_vertical_alignment == XmALIGNMENT_BASELINE_BOTTOM)
Packit b099d7
#define AlignmentCenter(m) \
Packit b099d7
(((XmRowColumnWidget) (m))->row_column.entry_vertical_alignment == XmALIGNMENT_CENTER)
Packit b099d7
#define AlignmentTop(m) \
Packit b099d7
(((XmRowColumnWidget) (m))->row_column.entry_vertical_alignment == XmALIGNMENT_CONTENTS_TOP)
Packit b099d7
#define AlignmentBottom(m) \
Packit b099d7
(((XmRowColumnWidget) (m))->row_column.entry_vertical_alignment == XmALIGNMENT_CONTENTS_BOTTOM)
Packit b099d7
Packit b099d7
/* Warning Messages */
Packit b099d7
#define BadWidthSVMsg			_XmMMsgRowColumn_0000
Packit b099d7
#define BadHeightSVMsg			_XmMMsgRowColumn_0001
Packit b099d7
#define BadPopupHelpMsg 		_XmMMsgRowColumn_0002
Packit b099d7
#define BadPulldownHelpMsg		_XmMMsgRowColumn_0003
Packit b099d7
#define BadOptionHelpMsg		_XmMMsgRowColumn_0004
Packit b099d7
#define BadWorkAreaHelpMsg		_XmMMsgRowColumn_0005
Packit b099d7
#define BadTypeParentMsg		_XmMMsgRowColumn_0007
Packit b099d7
#define BadTypeSVMsg			_XmMMsgRowColumn_0008
Packit b099d7
#define BadMenuBarHomogenousSVMsg	_XmMMsgRowColumn_0015
Packit b099d7
#define BadMenuBarEntryClassSVMsg	_XmMMsgRowColumn_0016
Packit b099d7
#define BadPulldownWhichButtonSVMsg	_XmMMsgRowColumn_0017
Packit b099d7
#define BadPulldownMenuPostSVMsg	_XmMMsgRowColumn_0018
Packit b099d7
#define BadMenuPostMsg			_XmMMsgRowColumn_0019
Packit b099d7
#define BadShadowThicknessSVMsg		_XmMMsgRowColumn_0020
Packit b099d7
#define WrongMenuChildMsg		_XmMMsgRowColumn_0022
Packit b099d7
#define WrongChildMsg			_XmMMsgRowColumn_0023
Packit b099d7
#define BadOptionIsHomogeneousSVMsg	_XmMMsgRowColumn_0025
Packit b099d7
#define TearOffSharedMenupaneMsg	_XmMMsgRowColumn_0026
Packit b099d7
#define BadMnemonicCharMsg		_XmMMsgRowColumn_0027
Packit b099d7
Packit b099d7
#define RCIndex(w)    (((XmRowColumnConstraintRec *)(w)->core.constraints)\
Packit b099d7
                       ->row_column.position_index)
Packit b099d7
  
Packit b099d7
Packit b099d7
/********    Private Function Declarations    ********/
Packit b099d7
Packit b099d7
extern void _XmRC_KeyboardInputHandler(
Packit b099d7
				       Widget reportingWidget,
Packit b099d7
				       XtPointer data,
Packit b099d7
				       XEvent *event,
Packit b099d7
				       Boolean *cont );
Packit b099d7
extern void _XmAllowAcceleratedInsensitiveUnmanagedMenuItems(
Packit b099d7
							     Widget wid,
Packit b099d7
#if NeedWidePrototypes
Packit b099d7
							     int allowed);
Packit b099d7
#else
Packit b099d7
							     Boolean allowed);
Packit b099d7
#endif /* NeedWidePrototypes */
Packit b099d7
extern void _XmPostPopupMenu( 
Packit b099d7
                        Widget wid,
Packit b099d7
                        XEvent *event) ;
Packit b099d7
extern void _XmCallRowColumnMapCallback( 
Packit b099d7
                        Widget wid,
Packit b099d7
                        XEvent *event) ;
Packit b099d7
extern void _XmCallRowColumnUnmapCallback( 
Packit b099d7
                        Widget wid,
Packit b099d7
                        XEvent *event) ;
Packit b099d7
extern void _XmRC_RemoveFromPostFromListOnDestroyCB (
Packit b099d7
 			Widget w,
Packit b099d7
 			caddr_t clientData,
Packit b099d7
 			caddr_t callData) ;
Packit b099d7
Packit b099d7
extern void _XmRC_CheckAndSetOptionCascade(XmRowColumnWidget menu) ;
Packit b099d7
Packit b099d7
/********    End Private Function Declarations    ********/
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
}  /* Close scope of 'extern "C"' declaration which encloses file. */
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#endif  /* _XmRowColumnI_h */
Packit b099d7
/* DON'T ADD STUFF AFTER THIS #endif */