|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T t
Length: 1574 (0x626)
Types: TextFile
Names: »talksw.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/Sun/Nchess/talksw.c«
/*
* Copyright 1987 Tom Anderson; 20831 Frank Waters Road;
* Stanwood, WA 98282. All rights reserved.
*/
/*
* talk subwindow handling
*/
#include <stdio.h>
#include <suntool/tool_hs.h>
#include <suntool/panel.h>
#include <strings.h>
#include "nchess.h"
#define MAX_SEND_LENGTH 60
struct toolsw * TalkSW;
Panel TalkPanel;
Panel_item SendItem;
Panel_item RecvItem;
/*ARGSUSED*/
sendProc(item, event)
Panel_item item;
struct inputevent *event;
{
char c[MAX_SEND_LENGTH+1];
strcpy(c, (char *) panel_get_value(SendItem));
SendTalkMsg(c);
/* set the command text to nil */
panel_set_value(SendItem, "");
}
/*
* set up the talk send and receive subwindows
* (if we are playing against the machine, leave them out)
*/
void
InitTalkSW()
{
if (IsMachine[PeerColor])
return;
if ((TalkSW = panel_create(NchessTool, 0)) == NULL) {
fprintf(stderr, "Can't create talk subwindows\n");
exit(1);
}
TalkPanel = TalkSW->ts_data;
RecvItem = panel_create_item(TalkPanel, PANEL_MESSAGE,
PANEL_LABEL_STRING, "Recv:",
PANEL_SHOW_ITEM, TRUE,
0);
SendItem = panel_create_item(TalkPanel, PANEL_TEXT,
PANEL_LABEL_STRING, "Send:",
PANEL_NOTIFY_STRING, "\n\r",
PANEL_NOTIFY_LEVEL, PANEL_SPECIFIED,
PANEL_NOTIFY_PROC, sendProc,
PANEL_VALUE_STORED_LENGTH, MAX_SEND_LENGTH,
0);
panel_fit_height(TalkPanel);
}
/*
* receive a pithy banality from the opponent
*/
void
RecvTalkMsg(cp)
char *cp;
{
char ncp[128];
strcpy(ncp, "Recv: ");
panel_set(RecvItem,
PANEL_LABEL_STRING, strcat(ncp, cp),
0);
}