1 #include <X11/Intrinsic.h>
2 #include <X11/StringDefs.h>
4 #include <X11/Xaw/Command.h>
5 #include <X11/Xaw/Form.h>
6 #include <X11/Xaw/Toggle.h>
7 #include <X11/Xaw/List.h>
10 #include "GetString.h"
12 extern Widget toplevel, getString, destList;
13 extern DestRec current_dest;
18 XawListChange(destList, (String *) dest_text(), dest_num(), 0, True);
23 XawListReturnStruct *item;
25 item = XawListShowCurrent(destList);
26 if (item->list_index == XAW_LIST_NONE)
29 dest_delete_string(item->string);
35 char buf[ZLEN*3+2], *s;
38 ret = GetString(getString, "Enter new <class,instance,recipient> triple:",
39 "", 0, buf, ZLEN*3+2);
40 if (ret == GETSTRING_ACCEPT) {
41 s = (char *) malloc(strlen(buf)+1);
43 if (dest_add_string(s) == NULL) {
44 XBell(XtDisplay(toplevel), 0);
55 XawListReturnStruct *item;
56 int ret, used_global = 0;
58 item = XawListShowCurrent(destList);
59 if (item->list_index == XAW_LIST_NONE)
62 parse_into_dest(&dest, item->string);
64 if (! strcmp(dest.zclass, "...")) {
65 ret = GetString(getString, "Enter CLASS to send to:", "", 0,
67 if (ret != GETSTRING_ACCEPT) return;
71 if (! strcmp(dest.zinst, "...")) {
72 ret = GetString(getString, "Enter INSTANCE to send to:", "", 0,
74 if (ret != GETSTRING_ACCEPT) return;
78 if (! strcmp(dest.zrecip, "...")) {
79 ret = GetString(getString, "Enter RECIPIENT to send to:", "", 0,
81 if (ret != GETSTRING_ACCEPT) return;
85 if (defs.add_globals && used_global) {
86 /* A hack so using "..." looks pretty */
87 if (! strcmp(dest.zclass, DEFAULT_CLASS) &&
88 ! strcmp(dest.zinst, DEFAULT_INST)) {
91 temp = (char *) malloc(strlen(dest.zrecip) + 1);
92 strcpy(temp, dest.zrecip);
93 dest_add_string(temp);
100 if (defs.ping && *dest.zrecip) {
101 ret = zeph_ping(&dest);
104 edit_set_title(&dest);
105 (void) memcpy((char *) ¤t_dest, (char *) &dest,
111 XBell(XtDisplay(toplevel), 0);
116 edit_set_title(&dest);
117 (void) memcpy((char *) ¤t_dest, (char *) &dest,