Пример #1
0
void ui_file_loadPatterns (Widget w, XtPointer button, caddr_t call_data)

{
    char string  [80+MAX_NAME_LENGTH+MAX_NAME_LENGTH];
    char filename[4+MAX_NAME_LENGTH+MAX_NAME_LENGTH];
    char filestring[30];

    /* check now for errors and react ! */
    if (strlen(ui_filenamePAT) == 0) {
	ui_confirmOk("No file specified !");
	return;
    }

    if (ui_filenamePAT[0] == '/')
	sprintf(filename, "%s%s", ui_filenamePAT,ui_getExtension(UI_FILE_PAT));
    else
	sprintf(filename, "%s/%s%s", ui_pathname, ui_filenamePAT, 
		ui_getExtension(UI_FILE_PAT));

    /* a filename is given */
    if (NOT ui_fileExist(filename, 0)) { 
	ui_confirmOk("No such pattern file exists!");
	return;
    }
    /* a file exists */
    
    ui_printMessage("Loading patterns ...");
    ui_checkError(krui_loadNewPatterns(filename,&CURR_PATTERN_SET));
    if (ui_kernelError < 0) {
	ui_confirmOk("Error during loading patterns!");
	ui_noOfCurrentPattern = 0;
	ui_rem_displayPatternNumber();
    } else {
	ui_noOfCurrentPattern = 1;
	CURR_PATTERN_SET = NO_OF_PATTERN_SETS;
	CURR_TEST_PATTERN_SET = NO_OF_PATTERN_SETS;	
	NO_OF_PATTERN_SETS++;
	PATTERN_SET_FILE[CURR_PATTERN_SET] = 
	    (char *)malloc(strlen(filename)+1);
	if(strrchr(filename,'/') == NULL)
	    strcpy(filestring,filename);
	else
	    strcpy(filestring,strrchr(filename,'/')+1);
	strncpy(PATTERN_SET_FILE[CURR_PATTERN_SET],filestring,
		strlen(filestring)-4);
	PATTERN_SET_FILE[CURR_PATTERN_SET][strlen(filestring)-4] = '\0';
	ui_rem_displayPatternNumber();
	if(ui_controlIsCreated)ui_rem_updatePattList();
	ui_rem_defSubPat((Widget) button,1,(caddr_t)1);
	sprintf(string, "Patterns loaded from file:\n   %s\n", filename);
	ui_tw_printMessage(string);
	ui_printMessage("Patterns loaded.");
	strcpy(ui_filenameSLPAT, ui_filenamePAT);
	ui_file_updateShellLabels();
	ui_classUpdatePanel(TRUE);
    }
}
Пример #2
0
/**************************************************
 *  snns_loadNewPatterns
 * 
 *  Loads patterns from a file using
 *  krui_loadNewPatterns().
 **************************************************/
int snns_loadNewPatterns(stEval *args, stEval *result, void *instance) {
  char *filename = STSTRING(&args[0]);
  int *set_no = (int*)STLIST(&args[1]);
  krui_err errCode;
  char *errMsg;

  errCode = krui_loadNewPatterns(filename, set_no);
  if (errCode == KRERR_NO_ERROR) {
    return EC_OK;
  }
  else {
    errMsg = krui_error(errCode);
    slMessage(0, "breveSNNS: loadNewPatterns failed with message %s (error code %d).", errMsg, errCode);
    return EC_ERROR;
  }
}