awips2/nativeLib/rary.empty.motif/include/Xm/ManagerP.h
2017-04-21 18:33:55 -06:00

216 lines
7.4 KiB
C

/**
*
* $Id: ManagerP.h,v 1.1 2004/08/28 19:23:25 dannybackx Exp $
*
* Copyright (C) 1995 Free Software Foundation, Inc.
* Copyright © 1995, 1997, 1999, 2000, 2001 LessTif Development Team
*
* This file is part of the GNU LessTif Library.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
**/
#ifndef _XM_MANAGERP_H
#define _XM_MANAGERP_H
#include <Xm/XmP.h>
#ifdef __cplusplus
extern "C" {
#endif
#define MCEPTR(cl) \
((XmManagerClassExt *)(&(((XmManagerWidgetClass)(cl))->manager_class.extension)))
#define _XmGetManagerClassExtPtr(cl, o) \
((*MCEPTR(cl) && (((*MCEPTR(cl))->record_type) == (o))) \
? MCEPTR(cl) \
: ((XmManagerClassExt *)_XmGetClassExtensionPtr(((XmGenericClassExt *)MCEPTR(cl)), (o))))
/* structure used for storing accelerator and mnemonic information */
typedef struct {
unsigned int eventType;
KeySym keysym;
KeyCode key;
unsigned int modifiers;
Widget component;
Boolean needGrab;
Boolean isMnemonic;
} XmKeyboardData;
/* Define the manager instance part */
typedef struct {
Pixel foreground;
Dimension shadow_thickness;
Pixel top_shadow_color;
Pixmap top_shadow_pixmap;
Pixel bottom_shadow_color;
Pixmap bottom_shadow_pixmap;
Pixel highlight_color;
Pixmap highlight_pixmap;
XtCallbackList help_callback;
XtPointer user_data;
Boolean traversal_on;
unsigned char unit_type;
XmNavigationType navigation_type;
/* private instance variables */
Boolean event_handler_added;
Widget active_child;
Widget highlighted_widget;
Widget accelerator_widget;
Boolean has_focus;
XmStringDirection string_direction; /* 2.x */
XmKeyboardData *keyboard_list;
short num_keyboard_entries;
short size_keyboard_list;
XmGadget selected_gadget;
XmGadget eligible_for_multi_button_event;
GC background_GC;
GC highlight_GC;
GC top_shadow_GC;
GC bottom_shadow_GC;
Widget initial_focus;
XtCallbackList popup_handler_callback; /* new for 2.0 */
} XmManagerPart;
typedef struct {
XtPointer next_extension;
XrmQuark record_type;
long version;
Cardinal record_size;
XmTraversalChildrenProc traversal_children;
} XmManagerClassExtRec, *XmManagerClassExt;
#define XmManagerClassExtVersion 1L
/* Define the full instance record */
typedef struct _XmManagerRec {
CorePart core;
CompositePart composite;
ConstraintPart constraint;
XmManagerPart manager;
} XmManagerRec;
/* Define class part structure */
typedef struct {
String translations;
XmSyntheticResource *syn_resources;
int num_syn_resources;
XmSyntheticResource *syn_constraint_resources;
int num_syn_constraint_resources;
XmParentProcessProc parent_process;
XtPointer extension;
} XmManagerClassPart;
#define XmInheritParentProcess ((XmParentProcessProc) _XtInherit)
/* Define the full class record */
typedef struct _XmManagerClassRec {
CoreClassPart core_class;
CompositeClassPart composite_class;
ConstraintClassPart constraint_class;
XmManagerClassPart manager_class;
} XmManagerClassRec;
/* manager constraints */
typedef struct _XmManagerConstraintPart {
int unused;
} XmManagerConstraintPart;
typedef struct _XmManagerConstraintRec {
XmManagerConstraintPart manager;
} XmManagerConstraintRec, *XmManagerConstraintPtr;
XMLIBEXPORT extern XmManagerClassRec xmManagerClassRec;
/*
* easy access macros -- FOR USE BY GADGET CODE ONLY
*/
#define XmParentTopShadowGC(w) (((XmManagerWidget) \
(((XmGadget)(w))->object.parent))->manager.top_shadow_GC)
#define XmParentBottomShadowGC(w) (((XmManagerWidget) \
(((XmGadget)(w))->object.parent))->manager.bottom_shadow_GC)
#define XmParentHighlightGC(w) (((XmManagerWidget) \
(((XmGadget)(w))->object.parent))->manager.highlight_GC)
#define XmParentBackgroundGC(w) (((XmManagerWidget) \
(((XmGadget)(w))->object.parent))->manager.background_GC)
/*
* easy access macros -- FOR USE BY MANAGERS.
*/
#define MGR_SizeKeyboardList(m) (((XmManagerWidget)(m))->manager.size_keyboard_list)
#define MGR_ShadowThickness(m) (((XmManagerWidget)(m))->manager.shadow_thickness)
#define MGR_KeyboardList(m) (((XmManagerWidget)(m))->manager.keyboard_list)
#define MGR_NumKeyboardEntries(m) (((XmManagerWidget)(m))->manager.num_keyboard_entries)
/* Motif 2.* */
#define MGR_LayoutDirection(m) (((XmManagerWidget)(m))->manager.string_direction)
/* internal manager routines */
Boolean _XmParentProcess(Widget widget, XmParentProcessData data);
void _XmDestroyParentCallback ( Widget w, XtPointer client, XtPointer call );
/* What the F is this? */
void _XmSocorro(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmClearShadowType(Widget w,
Dimension old_width, Dimension old_height,
Dimension old_shadow_thickness,
Dimension old_highlight_thickness);
/* action routine prototypes */
void _XmGadgetButtonMotion(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetArm(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetActivate(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetMultiArm(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetMultiActivate(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetDrag(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetSelect(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmParentActivate(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmParentCancel(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetTraversePrevTabGroup(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetTraverseNextTabGroup(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetTraversePrev(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetTraverseNext(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetTraverseUp(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetTraverseDown(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetTraverseLeft(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetTraverseRight(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetTraverseHome(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetHelp(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmGadgetKeyInput(Widget w, XEvent *event, String *params, Cardinal *num_params);
void _XmManagerHelp(Widget w, XEvent *event, String *params, Cardinal *num_params);
#ifdef __cplusplus
}
#endif
#endif /* _XM_MANAGERP_H */