1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
/* warp_menu.c : warp menu widgets and callbacks
//
// Written and Copyright (C) 1994-1997 by Michael J. Gourlay
//
// PROVIDED AS IS. NO WARRANTEES, EXPRESS OR IMPLIED.
//
// These routines are used for the X Window System only and are not
// needed for tkmorph.
*/
#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include <X11/Xaw/MenuButton.h>
#include <X11/Xaw/SimpleMenu.h>
#include <X11/Xaw/SmeBSB.h>
#include <X11/Xaw/SmeLine.h>
#include <stdio.h>
#include <stdlib.h>
#include "mjg_dialog.h"
#include "sequence.h"
#include "warp_menu.h"
/* =============================================================== */
/* --------------------------------------------------------------- */
/* create_warp_menu: Create a warp menu and its button
** returns the widget of the menu button
*/
Widget
create_warp_menu(Widget parent, Widget toplevel, Widget left_w)
{
Widget warp_menu_button;
Widget warp_menu;
Widget wm_ssfn_sme; /* set sequence file name */
Widget wm_ssns_sme; /* set sequence number of steps */
Widget wm_seq_sme; /* warp sequence */
dialog_apdx_t *wm_ssfn_daP;
dialog_apdx_t *wm_ssns_daP;
/* ========================= */
/* Create the Dialog widgets */
/* - - - - - - - - - - - - - - - - - */
/* Create the "set sequence file name" dialog */
wm_ssfn_daP = create_mjg_dialog(toplevel, "ssfn");
wm_ssfn_daP->client_data = NULL;
wm_ssfn_daP->callback = set_sequence_file_name_cb;
/* - - - - - - - - - - - - - - - - - */
/* Create the "set sequence number of steps" dialog */
wm_ssns_daP = create_mjg_dialog(toplevel, "ssns");
wm_ssns_daP->client_data = NULL;
wm_ssns_daP->callback = set_sequence_num_frames_cb;
/* ----------------------------- */
/* Create a simple menu for Command */
warp_menu = XtVaCreatePopupShell("warp_menu", simpleMenuWidgetClass,
parent, NULL);
/* - - - - - - - - - - - - - - - - - - - - */
/* Create a menu entry for "set sequence file name" */
wm_ssfn_sme = XtVaCreateManagedWidget("wm_ssfn_sme", smeBSBObjectClass,
warp_menu, NULL);
XtAddCallback(wm_ssfn_sme, XtNcallback, popup_dialog_cb, wm_ssfn_daP);
wm_ssfn_daP->button = wm_ssfn_sme;
/* - - - - - - - - - - - - - - - - - - - - */
/* Create a menu entry for "set sequence number of steps" */
wm_ssns_sme = XtVaCreateManagedWidget("wm_ssns_sme", smeBSBObjectClass,
warp_menu, NULL);
XtAddCallback(wm_ssns_sme, XtNcallback, popup_dialog_cb, wm_ssns_daP);
wm_ssns_daP->button = wm_ssns_sme;
/* - - - - - - - - - - - - - - - - - - - - */
/* Create a menu entry for "warp sequence" */
wm_seq_sme = XtVaCreateManagedWidget("wm_seq_sme", smeBSBObjectClass,
warp_menu, NULL);
XtAddCallback(wm_seq_sme, XtNcallback, warp_sequence_cb, NULL);
/* ------------------------- */
/* Create a warp menu button */
warp_menu_button = XtVaCreateManagedWidget("warp_menu_button",
menuButtonWidgetClass, parent, XtNmenuName, "warp_menu",
XtNfromHoriz, left_w, NULL);
return(warp_menu_button);
}
|