📄 test51.c
字号:
/* $Id: test51.c,v 1.29 2000/08/29 21:59:21 dannybackx Exp $ */#include <stdlib.h>#include <stdio.h>#include <Xm/Xm.h>#include <Xm/XmP.h>#include <Xm/CascadeB.h>#include <Xm/CascadeBG.h>#include <Xm/MenuShell.h>#include <Xm/MessageB.h>#include <Xm/MessageB.h>#include <Xm/PushB.h>#include <Xm/PushBG.h>#include <Xm/PushBP.h>#include <Xm/ToggleB.h>#include <Xm/ToggleBG.h>#include <Xm/RepType.h>#include <Xm/RowColumn.h>#include <Xm/SelectioB.h>#include <Xm/DrawingA.h>#include <Xm/Label.h>#include <X11/keysym.h>#include "../../common/Test.h"/*#define xmCascadeButtonWidgetClass xmCascadeButtonGadgetClass#define xmPushButtonWidgetClass xmPushButtonGadgetClass*/#define NEW_ACTION(fn,st) static void fn (Widget w, XEvent *event, String *params, Cardinal *num_params) \{ \char *buf; \\ buf = XtMalloc(strlen(st) + 4); \ sprintf(buf, "Old%s", st); \ fprintf(stdout, "MyAction_%s(%s, %s) - %s %i params\n", st, XtName(w), \ XtClass(w)->core_class.class_name, \ event ? "event" : "no event", *num_params); \ XtCallActionProc(w, buf, event, params, *num_params); \ XtFree(buf); \}Widget toplevel, box, push;XtAppContext app_context;int DialogDone=False,DialogReturn;char *fallback[] = { "*tearOffModel: tear_off_enabled", "*exitDelay: 100", "*cascade1.mnemonic: c", NULL /* The end */};typedef struct _CallbackResultStruct { char * WidgetName; int Reason;} _CallbackResult;_CallbackResult Results[] = { /* insert results of Motif run after this */ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "pane1", XmCR_UNMAP,\ "button1", XmCR_ACTIVATE,\ "button1", XmCR_DISARM,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "pane1", XmCR_UNMAP,\ "button1", XmCR_ACTIVATE,\ "button1", XmCR_DISARM,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "button1", XmCR_DISARM,\ "cascade2", XmCR_CASCADING,\ "pane2", XmCR_MAP,\ "pane2", XmCR_UNMAP,\ "button1", XmCR_ARM,\ "button1", XmCR_DISARM,\ "cascade2", XmCR_CASCADING,\ "pane2", XmCR_MAP,\ "button2", XmCR_ARM,\ "button2", XmCR_DISARM,\ "pane2", XmCR_UNMAP,\ "button1", XmCR_ARM,\ "pane1", XmCR_UNMAP,\ "button1", XmCR_ACTIVATE,\ "button1", XmCR_DISARM,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "button1", XmCR_DISARM,\ "cascade2", XmCR_CASCADING,\ "pane2", XmCR_MAP,\ "pane2", XmCR_UNMAP,\ "button1", XmCR_ARM,\ "button1", XmCR_DISARM,\ "cascade2", XmCR_CASCADING,\ "pane2", XmCR_MAP,\ "button2", XmCR_ARM,\ "button2", XmCR_DISARM,\ "pane2", XmCR_UNMAP,\ "button1", XmCR_ARM,\ "button1", XmCR_DISARM,\ "cascade2", XmCR_CASCADING,\ "pane2", XmCR_MAP,\ "button2", XmCR_ARM,\ "pane2", XmCR_UNMAP,\ "pane1", XmCR_UNMAP,\ "button2", XmCR_ACTIVATE,\ "button2", XmCR_DISARM,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "cascade2", XmCR_CASCADING,\ "pane2", XmCR_MAP,\ "button1", XmCR_DISARM,\ "button2", XmCR_ARM,\ "pane2", XmCR_UNMAP,\ "pane1", XmCR_UNMAP,\ "button2", XmCR_ACTIVATE,\ "button2", XmCR_DISARM,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "pane1", XmCR_UNMAP,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "button1", XmCR_DISARM,\ "pane1", XmCR_UNMAP,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "button1", XmCR_DISARM,\ "cascade2", XmCR_CASCADING,\ "pane2", XmCR_MAP,\ "pane2", XmCR_UNMAP,\ "toggle1", XmCR_ARM,\ "toggle1", XmCR_DISARM,\ "cascade2", XmCR_CASCADING,\ "pane2", XmCR_MAP,\ "pane2", XmCR_UNMAP,\ "toggle1", XmCR_ARM,\ "pane1", XmCR_UNMAP,\ "toggle1", XmCR_VALUE_CHANGED,\ "toggle1", XmCR_DISARM,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "button1", XmCR_DISARM,\ "toggle1", XmCR_ARM,\ "pane1", XmCR_UNMAP,\ "toggle1", XmCR_VALUE_CHANGED,\ "toggle1", XmCR_DISARM,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "button1", XmCR_DISARM,\ "button3", XmCR_ARM,\ "pane1", XmCR_UNMAP,\ "button3", XmCR_ACTIVATE,\ "button3", XmCR_DISARM,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "button1", XmCR_DISARM,\ "button1", XmCR_ARM,\ "button1", XmCR_DISARM,\ "pane1", XmCR_UNMAP,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "button1", XmCR_DISARM,\ "pane1", XmCR_UNMAP,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "cascade2", XmCR_CASCADING,\ "pane2", XmCR_MAP,\ "button1", XmCR_DISARM,\ "button2", XmCR_ARM,\ "button2", XmCR_DISARM,\ "pane2", XmCR_UNMAP,\ "pane1", XmCR_UNMAP,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "toggle1", XmCR_ARM,\ "toggle1", XmCR_DISARM,\ "pane1", XmCR_UNMAP,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "toggle1", XmCR_ARM,\ "toggle1", XmCR_DISARM,\ "pane1", XmCR_UNMAP,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "cascade3", XmCR_CASCADING,\ "pane1", XmCR_UNMAP,\ "cascade3", XmCR_ACTIVATE,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "cascade3", XmCR_CASCADING,\ "button1", XmCR_DISARM,\ "pane1", XmCR_UNMAP,\ "cascade3", XmCR_ACTIVATE,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "cascade3", XmCR_CASCADING,\ "pane1", XmCR_UNMAP,\ "pane3", XmCR_MAP,\ "button4", XmCR_ARM,\ "pane3", XmCR_UNMAP,\ "button4", XmCR_ACTIVATE,\ "button4", XmCR_DISARM,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "cascade3", XmCR_CASCADING,\ "pane1", XmCR_UNMAP,\ "pane3", XmCR_MAP,\ "button1", XmCR_DISARM,\ "button4", XmCR_ARM,\ "pane3", XmCR_UNMAP,\ "button4", XmCR_ACTIVATE,\ "button4", XmCR_DISARM,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "pane1", XmCR_UNMAP,\ "pane1", XmCR_TEAR_OFF_ACTIVATE,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "button1", XmCR_DISARM,\ "pane1", XmCR_UNMAP,\ "pane1", XmCR_TEAR_OFF_DEACTIVATE,\ "cascade1", XmCR_CASCADING,\ "pane1", XmCR_MAP,\ "pane1", XmCR_UNMAP,\ "pane1", XmCR_TEAR_OFF_ACTIVATE,\ "pane1", XmCR_MAP,\ "button1", XmCR_ARM,\ "cascade2", XmCR_CASCADING,\ "pane2", XmCR_MAP,\ "button1", XmCR_DISARM,\ "pane2", XmCR_UNMAP,\ "pane2", XmCR_TEAR_OFF_ACTIVATE,\ "pane2", XmCR_MAP,\ "button2", XmCR_ARM,\ "button2", XmCR_ACTIVATE,\ "button2", XmCR_DISARM,\ "button2", XmCR_ARM,\ "button2", XmCR_DISARM,\ "pane2", XmCR_UNMAP,\ "pane2", XmCR_TEAR_OFF_DEACTIVATE,\ "pane1", XmCR_UNMAP,\ "pane1", XmCR_TEAR_OFF_DEACTIVATE,\ "cascade1", XmCR_CASCADING, \ "pane1", XmCR_MAP, \ "button1", XmCR_ARM, \ "button1", XmCR_DISARM, \ "pane1", XmCR_UNMAP, \ "button3", XmCR_ARM, \ "button3", XmCR_ACTIVATE, \ "button3", XmCR_DISARM, \ NULL, 0, /* This must stay here */};int ResultIndex = 0;NEW_ACTION(DelayedArm, "DelayedArm")NEW_ACTION(CheckDisarm, "CheckDisarm")NEW_ACTION(StartDrag, "StartDrag")NEW_ACTION(_XmCBMenuBarDoSelect, "DoSelect")NEW_ACTION(KeySelect, "KeySelect")NEW_ACTION(_XmCBMenuBarSelect, "MenuBarSelect")NEW_ACTION(MenuBarEnter, "MenuBarEnter")NEW_ACTION(MenuBarLeave, "MenuBarLeave")NEW_ACTION(CleanupMenuBar, "CleanupMenuBar")NEW_ACTION(_XmCBHelp1, "Help")static XtActionsRec My_CB_Actions[] ={ {"DelayedArm", DelayedArm}, {"CheckDisarm", CheckDisarm}, {"StartDrag", StartDrag}, {"DoSelect", _XmCBMenuBarDoSelect}, {"KeySelect", KeySelect}, {"MenuBarSelect", _XmCBMenuBarSelect}, {"MenuBarEnter", MenuBarEnter}, {"MenuBarLeave", MenuBarLeave}, {"CleanupMenuBar", CleanupMenuBar}, {"Help", _XmCBHelp1},};NEW_ACTION(PBArm, "Arm")NEW_ACTION(PBMultiArm, "MultiArm")NEW_ACTION(PBActivate, "Activate")NEW_ACTION(PBMultiActivate, "MultiActivate")NEW_ACTION(PBArmAndActivate, "ArmAndActivate")NEW_ACTION(PBDisarm, "Disarm")NEW_ACTION(PBButtonDown, "BtnDown")NEW_ACTION(PBButtonUp, "BtnUp")NEW_ACTION(PBEnterWindow, "Enter")NEW_ACTION(PBLeaveWindow, "Leave")NEW_ACTION(PBHelp, "Help")static XtActionsRec My_PB_Actions[] ={ {"Arm", PBArm}, {"MultiArm", PBMultiArm}, {"Activate", PBActivate}, {"MultiActivate", PBMultiActivate}, {"ArmAndActivate", PBArmAndActivate}, {"Disarm", PBDisarm}, {"BtnDown", PBButtonDown}, {"BtnUp", PBButtonUp}, {"Enter", PBEnterWindow}, {"Leave", PBLeaveWindow}, {"Help", PBHelp},};NEW_ACTION(RC_XmHelp, "Help")NEW_ACTION(RC_XmMenuHelp, "MenuHelp")NEW_ACTION(RC_XmMenuBtnDown, "MenuBtnDown")NEW_ACTION(RC_XmMenuBtnUp, "MenuBtnUp")NEW_ACTION(RC_XmPulldownBtnDown, "PulldownBtnDown")NEW_ACTION(RC_XmPulldownBtnUp, "PulldownBtnUp")NEW_ACTION(RC_XmPopupBtnDown, "PopupBtnDown")NEW_ACTION(RC_XmPopupBtnUp, "PopupBtnUp")NEW_ACTION(RC_XmMenuBarBtnDown, "MenuBarBtnDown")NEW_ACTION(RC_XmMenuBarBtnUp, "MenuBarBtnUp")NEW_ACTION(RC_XmWorkAreaBtnDown, "WorkAreaBtnDown")NEW_ACTION(RC_XmWorkAreaBtnUp, "WorkAreaBtnUp")NEW_ACTION(RC_MenuBarGadgetSelect, "MenuBarGadgetSelect")NEW_ACTION(RC_XmRC_FocusOut, "FocusOut")NEW_ACTION(RC_XmRC_FocusIn, "FocusIn")NEW_ACTION(RC_Unmap, "Unmap")NEW_ACTION(RC_XmNoop, "Noop")NEW_ACTION(RC_XmMenuTraverseLeft, "MenuTraverseLeft")NEW_ACTION(RC_XmMenuTraverseRight, "MenuTraverseRight")NEW_ACTION(RC_XmMenuTraverseUp, "MenuTraverseUp")NEW_ACTION(RC_XmMenuTraverseDown, "MenuTraverseDown")NEW_ACTION(RC_XmMenuEscape, "MenuEscape")NEW_ACTION(RC_MenuFocusIn, "MenuFocusIn")NEW_ACTION(RC_MenuFocusOut, "MenuFocusOut")NEW_ACTION(RC_MenuUnmap, "MenuUnmap")NEW_ACTION(RC_MenuEnter, "MenuEnter")NEW_ACTION(RC_XmMenuReturn, "MenuGadgetReturn")NEW_ACTION(RC_MenuGadgetTraverseLeft, "MenuGadgetTraverseLeft")NEW_ACTION(RC_MenuGadgetTraverseRight, "MenuGadgetTraverseRight")NEW_ACTION(RC_MenuGadgetTraverseUp, "MenuGadgetTraverseUp")NEW_ACTION(RC_MenuGadgetTraverseDown, "MenuGadgetTraverseDown")static XtActionsRec My_RC_Actions[] ={ {"Help", RC_XmHelp}, {"MenuHelp", RC_XmMenuHelp}, {"MenuBtnDown", RC_XmMenuBtnDown}, {"MenuBtnUp", RC_XmMenuBtnUp}, {"PulldownBtnDown", RC_XmPulldownBtnDown}, {"PulldownBtnUp", RC_XmPulldownBtnUp}, {"PopupBtnDown", RC_XmPopupBtnDown}, {"PopupBtnUp", RC_XmPopupBtnUp}, {"MenuBarBtnDown", RC_XmMenuBarBtnDown}, {"MenuBarBtnUp", RC_XmMenuBarBtnUp}, {"WorkAreaBtnDown", RC_XmWorkAreaBtnDown}, {"WorkAreaBtnUp", RC_XmWorkAreaBtnUp}, {"MenuBarGadgetSelect", RC_MenuBarGadgetSelect}, {"FocusOut", RC_XmRC_FocusOut}, {"FocusIn", RC_XmRC_FocusIn}, {"Unmap", RC_Unmap}, {"Noop", RC_XmNoop}, {"MenuTraverseLeft", RC_XmMenuTraverseLeft}, {"MenuTraverseRight", RC_XmMenuTraverseRight}, {"MenuTraverseUp", RC_XmMenuTraverseUp}, {"MenuTraverseDown", RC_XmMenuTraverseDown}, {"MenuEscape", RC_XmMenuEscape}, {"MenuFocusIn", RC_MenuFocusIn}, {"MenuFocusOut", RC_MenuFocusOut}, {"MenuUnmap", RC_MenuUnmap}, {"MenuEnter", RC_MenuEnter}, {"MenuGadgetReturn", RC_XmMenuReturn}, {"MenuGadgetEscape", RC_XmMenuEscape}, {"MenuGadgetTraverseLeft", RC_MenuGadgetTraverseLeft}, {"MenuGadgetTraverseRight", RC_MenuGadgetTraverseRight}, {"MenuGadgetTraverseUp", RC_MenuGadgetTraverseUp}, {"MenuGadgetTraverseDown", RC_MenuGadgetTraverseDown},};static voidHijackActions(WidgetClass wc, XtActionsRec *new, int num_new){ XtActionsRec *NewActions; int i; int j;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -