⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rowcolumnp.h

📁 安装DDD之前
💻 H
字号:
/** * * $Id: RowColumnP.h,v 1.1 2004/08/28 19:23:26 dannybackx Exp $ *  * Copyright (C) 1995 Free Software Foundation, Inc. * Copyright (C) 1995-2000 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_ROWCOLUMNP_H#define _XM_ROWCOLUMNP_H#include <Xm/RowColumn.h>#include <Xm/ManagerP.h>#ifdef __cplusplusextern "C" {#endif/* used by the popup menu code. */typedef struct _XmButtonEventStatusRec {    Time time;    Boolean verified;    Boolean waiting_to_be_managed;    XButtonEvent event;} XmButtonEventStatusRec;/* Also not used in lesstif.. will be someday */typedef struct _XmReplayInfoRec {    Time time;    Widget toplevel_menu;} XmReplayInfoRec;typedef struct _XmMenuFocusRec {    Widget oldWidget;    Window oldFocus;    int oldRevert;} XmMenuFocusRec;/* per screen state information dealing with menus */typedef struct _XmMenuStateRec {    Widget RC_LastSelectToplevel;    XmButtonEventStatusRec RC_ButtonEventStatus;    XmReplayInfoRec RC_ReplayInfo;    Widget RC_activeItem;    XmMenuFocusRec RC_menuFocus;    Boolean RC_allowAcceleratedInsensitiveUnmanagedMenuItems;    Time MS_LastManagedMenuTime;    Boolean MU_InDragMode;    Widget MU_CurrentMenuChild;    Boolean MU_InPMMode;} XmMenuStateRec, *XmMenuState;/* geometry information for children of the row column.  Used to   simplify the layout routines */typedef struct _XmRCKidGeometryRec{    Widget kid;    XtWidgetGeometry box;    Dimension margin_top;    Dimension margin_bottom;    Dimension baseline;} XmRCKidGeometryRec, *XmRCKidGeometry;/* Define the rowcolumn instance part */typedef struct {    Dimension margin_height;    Dimension margin_width;    Dimension spacing;    Dimension entry_border;    Widget help_pushbutton;    Widget cascadeBtn;    XmString option_label;    Widget option_submenu;    XmRCKidGeometry boxes;    WidgetClass entry_class;    XtCallbackList entry_callback;    XtCallbackList map_callback;    XtCallbackList unmap_callback;    Widget memory_subwidget;    short num_columns;    String menuPost;    unsigned int postButton;    int postEventType;    unsigned int postModifiers;    String menu_accelerator;    KeySym mnemonic;    XmStringCharSet mnemonicCharSet;    unsigned char entry_alignment;    unsigned char packing;    unsigned char type;    unsigned char orientation;    Boolean armed;    Boolean adjust_margin;    Boolean adjust_last;    Boolean do_alignment;    Boolean radio;    Boolean radio_one;    Boolean homogeneous;    Boolean resize_width;    Boolean resize_height;    Boolean popup_enabled;        Dimension old_width;    Dimension old_height;    Dimension old_shadow_thickness;    Widget *postFromList;    int postFromCount;    int postFromListSize;    Widget lastSelectToplevel;    Widget popupPosted;    unsigned char oldFocusPolicy;    unsigned char TearOffModel;    Widget ParentShell;    Widget tear_off_control;    Boolean to_state;        XtCallbackList tear_off_activated_callback;    XtCallbackList tear_off_deactivated_callback;    Widget tear_off_lastSelectToplevel;    Widget tear_off_focus_item;    unsigned char entry_vertical_alignment;    unsigned char popup_menu_click;    XtIntervalId popup_timeout_timer;} XmRowColumnPart;/* Define the full instance record */typedef struct _XmRowColumnRec {    CorePart core;    CompositePart composite;    ConstraintPart constraint;    XmManagerPart manager;    XmRowColumnPart row_column;} XmRowColumnRec;/* Define class part structure */typedef struct {    XmMenuProc menuProcedures;   /* proc to interface with menu widgets */    XtActionProc armAndActivate; /* proc triggered by accelerator */    XmMenuTraversalProc traversalHandler; /* proc to handle menu traversal */    XtPointer extension;} XmRowColumnClassPart;/* Define the full class record */typedef struct _XmRowColumnClassRec {    CoreClassPart core_class;    CompositeClassPart composite_class;    ConstraintClassPart constraint_class;    XmManagerClassPart manager_class;    XmRowColumnClassPart row_column_class;} XmRowColumnClassRec;/* Define the Constraint Resources */typedef struct _XmRowColumnConstraintPart {    Boolean was_managed;    Dimension margin_top;    Dimension margin_bottom;    Dimension baseline;    short position_index;} XmRowColumnConstraintPart;typedef struct _XmRowColumnConstraintRec {    XmManagerConstraintPart manager;    XmRowColumnConstraintPart row_column;} XmRowColumnConstraintRec, *XmRowColumnConstraints;#define XmRC_ARMED_BIT        (1 << 0)  #define XmRC_BEING_ARMED_BIT  (1 << 1)#define XmRC_EXPOSE_BIT       (1 << 2)#define XmRC_WINDOW_MOVED_BIT (1 << 3)#define XmRC_WIDGET_MOVED_BIT (1 << 4)#define XmRC_POPPING_DOWN_BIT (1 << 5)#define XmRC_FROM_RESIZE_BIT  (1 << 6)#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_WidgetHasMoved(m) (((XmRowColumnWidget)(m))->row_column.armed & XmRC_WINDOW_MOVED_BIT)#define RC_WindowHasMoved(m) (((XmRowColumnWidget)(m))->row_column.armed & XmRC_WIDGET_MOVED_BIT)#define RC_PoppingDown(m) (((XmRowColumnWidget)(m))->row_column.armed & XmRC_POPPING_DOWN_BIT)#define RC_FromResize(m) (((XmRowColumnWidget)(m))->row_column.armed & XmRC_FROM_RESIZE_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_SetFromResize(m,v) RC_SetBit(((XmRowColumnWidget)(m))->row_column.armed, XmRC_FROM_RESIZE_BIT,v)XMLIBEXPORT extern XmRowColumnClassRec xmRowColumnClassRec;/* * easy access macros */#define RC_MarginW(m) \    (((XmRowColumnWidget)(m))->row_column.margin_width)#define RC_MarginH(m) \    (((XmRowColumnWidget)(m))->row_column.margin_height)#define RC_TearOffActivate_cb(m) \    (((XmRowColumnWidget)(m))->row_column.tear_off_activated_callback)#define RC_TearOffDeactivate_cb(m) \    (((XmRowColumnWidget)(m))->row_column.tear_off_deactivated_callback)#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_EntryVerticalAlignment(m) \    (((XmRowColumnWidget)(m))->row_column.entry_vertical_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_PopupPosted(m) \    (((XmRowColumnWidget)(m))->row_column.popupPosted)#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_MnemonicCharSet(m) \    (((XmRowColumnWidget)(m))->row_column.mnemonicCharSet)#define RC_MenuPost(m) \    (((XmRowColumnWidget)(m))->row_column.menuPost)#define RC_PostModifiers(m) \    (((XmRowColumnWidget)(m))->row_column.postModifiers)#define RC_PostButton(m) \    (((XmRowColumnWidget)(m))->row_column.postButton)#define RC_PostEventType(m) \    (((XmRowColumnWidget)(m))->row_column.postEventType)#define RC_OldFocusPolicy(m) \    (((XmRowColumnWidget)(m))->row_column.oldFocusPolicy)#define	RC_ParentShell(w) \    (((XmRowColumnWidget)(w))->row_column.ParentShell)#define	RC_TearOffLastSelectToplevel(w) \    (((XmRowColumnWidget)(w))->row_column.tear_off_lastSelectToplevel)#define	RC_TearOffFocusItem(w) \    (((XmRowColumnWidget)(w))->row_column.tear_off_focus_item)#define RC_TearOffControl(m) \    (((XmRowColumnWidget)(m))->row_column.tear_off_control)#define RC_TearOffModel(m) \    (((XmRowColumnWidget)(m))->row_column.TearOffModel)#define XmTO_TORN_OFF_BIT       (1 << 0)#define XmTO_FROM_INIT_BIT      (1 << 1)#define XmTO_VISUAL_DIRTY_BIT   (1 << 2)#define XmTO_ACTIVE_BIT         (1 << 3)#define RC_SetTornOff(m,v) \    RC_SetBit(((XmRowColumnWidget)(m))->row_column.to_state, XmTO_TORN_OFF_BIT,v)#define RC_TornOff(m) \    (((XmRowColumnWidget)(m))->row_column.to_state & XmTO_TORN_OFF_BIT)#define RC_SetFromInit(m,v) \    RC_SetBit(((XmRowColumnWidget)(m))->row_column.to_state, XmTO_FROM_INIT_BIT,v)#define RC_FromInit(m) \    (((XmRowColumnWidget)(m))->row_column.to_state & XmTO_FROM_INIT_BIT)#define RC_SetTearOffDirty(m,v) \    RC_SetBit(((XmRowColumnWidget)(m))->row_column.to_state, XmTO_VISUAL_DIRTY_BIT,v)#define RC_TearOffDirty(m) \    (((XmRowColumnWidget)(m))->row_column.to_state & XmTO_VISUAL_DIRTY_BIT)#define RC_TearOffActive(m) \    (((XmRowColumnWidget)(m))->row_column.to_state & XmTO_ACTIVE_BIT)#define RC_SetTearOffActive(m,v) \    RC_SetBit(((XmRowColumnWidget)(m))->row_column.to_state, XmTO_ACTIVE_BIT,v)/* * for _XmProcessMenuTree() *	Don't use an enum as this will conflict with one for render tables *	in Xm.h. */#define	XmADD		0#define	XmDELETE	1#define	XmREPLACE	2/* * Defines used when calling _XmMenuIsAccessible() */enum {    XmWEAK_CHECK = 1,    XmMEDIUM_CHECK,    XmSTRONG_CHECK};enum {    XmMENU_BEGIN,    XmMENU_MIDDLE,    XmMENU_END};/* * Defines used when calling find_first_managed_child() */enum {    ANY_CHILD,    FIRST_BUTTON};void _LtRCEntryCallback(Widget w, XtCallbackList cb_list, XtPointer cbs);void _XmPostPopupMenu(Widget wid, XEvent *event);void _XmSetPopupMenuClick(Widget wid, Boolean popupMenuClick);Boolean _XmGetPopupMenuClick(Widget wid);void _XmAllowAcceleratedInsensitiveUnmanagedMenuItems(Widget wid,						      Boolean allowed);void _XmSetSwallowEventHandler(Widget widget, Boolean add_handler);void _XmMenuFocus(Widget w, int operation, Time _time);void _XmGetActiveTopLevelMenu(Widget wid, Widget *rwid);Boolean _XmMatchBSelectEvent(Widget wid, XEvent *event);Boolean _XmMatchBDragEvent(Widget wid, XEvent *event);void _XmHandleMenuButtonPress(Widget wid, XEvent *event);void _XmMenuBtnDown(Widget wid, XEvent *event,			   String *params, Cardinal *num_params);void _XmMenuBtnUp(Widget wid, XEvent *event,		  String *params, Cardinal *num_params);void _XmCallRowColumnMapCallback(Widget wid, XEvent *event);void _XmCallRowColumnUnmapCallback(Widget wid, XEvent *event);void _XmMenuPopDown(Widget w, XEvent *event, Boolean *popped_up);Boolean _XmIsActiveTearOff(Widget w);void _XmMenuHelp(Widget wid, XEvent *event,		 String *params, Cardinal *num_params);Widget _XmMenuNextItem(Widget menu, Widget current_item);#ifdef __cplusplus}#endif#endif /* _XM_ROWCOLUMN_P_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -