Example #1
0
// interactive curve selection or generation
pbc_param_ptr xsgs_select_curve_param(char* curve_dir, char* curve_name_prefix,
		DWORD prefix_length) {
	char* filename = NULL;
	DWORD choice = 0, ret = 0;
	pbc_param_ptr param = NULL;

	// generate curve or select previously generated curve
	printf("CURVE SELECTION:\n");
	printf("[0] Generate new type D curve\n");
	printf("[1] Generate new type F curve\n");
	printf("[2] Generate new type G curve\n");
	print_dir_selection(curve_dir, 3, curve_name_prefix, prefix_length);
	printf("Select: ");
	ret = scanf("%u", &choice);
	if (ret != 1) {
		printf("Input Error.\n");
		return NULL;
	}
	switch (choice) {
	case 0:
		xsgs_generate_curve(CURVE_TYPE_D, &filename);
		break;
	case 1:
		xsgs_generate_curve(CURVE_TYPE_F, &filename);
		break;
	case 2:
		xsgs_generate_curve(CURVE_TYPE_G, &filename);
		break;
	default:
		filename = get_selected_filename(curve_dir, 3, curve_name_prefix,
				prefix_length, choice);
		break;
	}

	if (filename == NULL) {
		printf("Error on curve selection.\n");
		return NULL;
	}

	// import selected curve
	param = xsgs_param_import_file(filename);
	free(filename);
	if (param == NULL) {
		printf("Error on curve parameter import.\n");
		return NULL;
	}

	return param;
}
Example #2
0
/*help for generate-netlist hot key*/
SCM g_get_selected_filename(void)                     
{                                                     
	return (get_selected_filename(global_window_current));
}