home *** CD-ROM | disk | FTP | other *** search
- #include "xsignal.h"
-
- /* ARGSUSED */
- void NewSignal(widget, pane, callData)
- Widget widget;
- sigbox *pane;
- caddr_t callData;
- {
- char *signalfile;
- int fd,mask;
- float top,shown;
- char snsamp[30];
- Arg arg[4];
-
- signalfile = XtDialogGetValueString( XtParent(widget));
- mask = 0644;
- if( (fd = open(signalfile,O_RDONLY,mask)) == -1) {
- perror(signalfile);
- fprintf(stderr,"Signal file '%s' cannot be opened\n",signalfile);
- return;
- }
- if(pane->s != NULL) {
- if( pane->s->sig_data != NULL ) {
- free(pane->s->sig_data);
- }
- free(pane->s);
- }
- pane->s = read_signal(fd);
- close(fd);
- XtDestroyWidget(pane->file);
- pane->file = (Widget) NULL;
- pane->first = 0;
- pane->lmark = pane->first;
- pane->last = pane->s->sig_nsamp - 1;
- pane->rmark = pane->last;
- sprintf(snsamp,"%d Samples", pane->s->sig_nsamp);
- XtSetArg(arg[0], XtNlabel, snsamp );
- XtSetValues( pane->text_nsamp, arg, ONE );
- sprintf(snsamp,"%d", pane->s->sig_nsamp);
- XtSetValues( pane->endval, arg, ONE );
- XtSetSensitive(pane->draw, True);
- XtSetSensitive(pane->dstart, True);
- XtSetSensitive(pane->dlast, True);
- XtSetSensitive(pane->sb_start, True);
- XtSetSensitive(pane->sb_last, True);
- XtSetSensitive(pane->canvas, True);
- XtSetSensitive(pane->style_button, True);
- XtSetSensitive(pane->zoomcmd, True);
- XtSetSensitive(pane->delcmd, True);
- XtCallCallbacks(pane->draw,XtNcallback,NULL);
- }
-