home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / x / volume2 / xscope / part01 / NewSignal.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-04-28  |  1.4 KB  |  52 lines

  1. #include "xsignal.h"
  2.  
  3. /* ARGSUSED */
  4. void NewSignal(widget, pane, callData)
  5.     Widget widget;
  6.     sigbox *pane;
  7.     caddr_t callData;
  8. {
  9.     char *signalfile;
  10.     int fd,mask;
  11.     float top,shown;
  12.     char snsamp[30];
  13.     Arg arg[4];
  14.  
  15.     signalfile = XtDialogGetValueString( XtParent(widget));
  16.     mask = 0644;
  17.     if( (fd = open(signalfile,O_RDONLY,mask)) == -1) {
  18.     perror(signalfile);
  19.         fprintf(stderr,"Signal file '%s' cannot be opened\n",signalfile);
  20.     return;
  21.     }
  22.     if(pane->s != NULL) {
  23.     if( pane->s->sig_data != NULL ) {
  24.         free(pane->s->sig_data);
  25.     }
  26.     free(pane->s);
  27.     }
  28.     pane->s = read_signal(fd);
  29.     close(fd);
  30.     XtDestroyWidget(pane->file);
  31.     pane->file = (Widget) NULL;
  32.     pane->first = 0;
  33.     pane->lmark = pane->first;
  34.     pane->last = pane->s->sig_nsamp - 1;
  35.     pane->rmark = pane->last;
  36.     sprintf(snsamp,"%d Samples", pane->s->sig_nsamp);
  37.     XtSetArg(arg[0], XtNlabel, snsamp );
  38.     XtSetValues( pane->text_nsamp, arg, ONE );
  39.     sprintf(snsamp,"%d", pane->s->sig_nsamp);
  40.     XtSetValues( pane->endval, arg, ONE );
  41.     XtSetSensitive(pane->draw, True);
  42.     XtSetSensitive(pane->dstart, True);
  43.     XtSetSensitive(pane->dlast, True);
  44.     XtSetSensitive(pane->sb_start, True);
  45.     XtSetSensitive(pane->sb_last, True);
  46.     XtSetSensitive(pane->canvas, True);
  47.     XtSetSensitive(pane->style_button, True);
  48.     XtSetSensitive(pane->zoomcmd, True);
  49.     XtSetSensitive(pane->delcmd, True);
  50.     XtCallCallbacks(pane->draw,XtNcallback,NULL);
  51. }
  52.