p3dfiles.c
来自「speech signal process tools」· C语言 代码 · 共 943 行 · 第 1/2 页
C
943 行
/*----------------------------------------------------------------------+| || This material contains proprietary software of Entropic Speech, || Inc. Any reproduction, distribution, or publication without the || prior written permission of Entropic Speech, Inc. is strictly || prohibited. Any public distribution of copies of this work || authorized in writing by Entropic Speech, Inc. must bear the || notice || || "Copyright (c) 1990 Entropic Speech, Inc. All rights reserved." || |+-----------------------------------------------------------------------+| || Program: plot3d || Module: p3dfiles.c || || Handle command windows for load and saving params and loading data. || || Rodney W. Johnson, Entropic Speech, Inc. || |+----------------------------------------------------------------------*/#ifndef lintstatic char *sccs_id = "@(#)p3dfiles.c 1.7 7/24/91 ESI";#endif#include <stdio.h>#include <esps/esps.h>#include <xview/xview.h>#include <xview/panel.h>#include <xview/cms.h>#include <esps/constants.h>#include "plot3d.h"short get_fea_type();long get_fea_siz();extern int debug_level;extern int do_color;extern int data_loaded;extern char *iname;extern char *start_rec_string;extern char *end_rec_string;extern char *start_item_string;extern char *end_item_string;extern char *farg_string;extern char *dir_string;Xv_opaque load_data_notify(), load_params_notify(), save_params_notify();static int ld_dat_notify();static char *ld_dat();static int ld_par_notify();static char *ld_par();static int sav_par_notify();static char *sav_par();static char *make_path();extern void do_box(), do_axes();extern void getsym();extern char *read_data();extern void set_frame_title();extern void set_box_len(), set_box_wid(), set_box_hgt();extern int get_box_len(), get_box_wid(), get_box_hgt();extern void set_hskew(), set_vskew(), set_finv();extern double get_hskew(), get_vskew(), get_finv();extern void set_ori();extern int get_ori();extern void set_rot(), set_bear(), set_elev();extern double get_rot(), get_bear(), get_elev();static Frame ld_dat_frame;static Panel ld_dat_panel;static Panel_item ld_dat_dir_text;static Panel_item ld_dat_file_text;static Panel_item ld_dat_button;static Panel_item ld_dat_startrec_text, ld_dat_endrec_text;static Panel_item ld_dat_fld_text;static Panel_item ld_dat_startitem_text, ld_dat_enditem_text;static Panel_item ld_dat_rb_msg;static Panel_item ld_dat_msg;static Frame ld_par_frame;static Panel ld_par_panel;static Panel_item ld_par_dir_text;static Panel_item ld_par_file_text;static Panel_item ld_par_msg;static Panel_item ld_par_button;static Frame sav_par_frame;static Panel sav_par_panel;static Panel_item sav_par_dir_text;static Panel_item sav_par_file_text;static Panel_item sav_par_msg;static Panel_item sav_par_button;voidinit_file_windows(cms) Cms cms;{ extern Frame panel_frame; /* Create load data panel */ ld_dat_frame = xv_create(panel_frame, FRAME_CMD, XV_WIDTH, 452, XV_HEIGHT, 164, XV_LABEL, "3-D Plot: Load Data", XV_SHOW, FALSE, FRAME_SHOW_FOOTER, FALSE, FRAME_CMD_PUSHPIN_IN, FALSE, 0); ld_dat_panel = xv_get(ld_dat_frame, FRAME_CMD_PANEL); xv_set(ld_dat_panel, XV_X, 0, XV_Y, 0, XV_WIDTH, WIN_EXTEND_TO_EDGE, XV_HEIGHT, WIN_EXTEND_TO_EDGE, 0); if (do_color) xv_set(ld_dat_panel, WIN_CMS, cms, WIN_FOREGROUND_COLOR, COL_PANEL_FG, WIN_BACKGROUND_COLOR, COL_PANEL_BG, 0); ld_dat_dir_text = xv_create(ld_dat_panel, PANEL_TEXT, XV_X, 12, XV_Y, 21, XV_WIDTH, 341, XV_HEIGHT, 15, PANEL_LABEL_STRING, "directory", PANEL_VALUE_X, 81, PANEL_VALUE_Y, 21, PANEL_LAYOUT, PANEL_HORIZONTAL, PANEL_VALUE_DISPLAY_LENGTH, 34, PANEL_VALUE_STORED_LENGTH, 120, PANEL_READ_ONLY, FALSE, 0); if ( data_loaded ) xv_set( ld_dat_dir_text, PANEL_VALUE, dir_string, NULL); ld_dat_file_text = xv_create(ld_dat_panel, PANEL_TEXT, XV_X, 49, XV_Y, 53, XV_WIDTH, 304, XV_HEIGHT, 15, PANEL_LABEL_STRING, "file", PANEL_VALUE_X, 81, PANEL_VALUE_Y, 53, PANEL_LAYOUT, PANEL_HORIZONTAL, PANEL_VALUE_DISPLAY_LENGTH, 34, PANEL_VALUE_STORED_LENGTH, 120, PANEL_READ_ONLY, FALSE, 0); if ( data_loaded ) xv_set( ld_dat_file_text, PANEL_VALUE, iname, NULL); ld_dat_button = xv_create(ld_dat_panel, PANEL_BUTTON, XV_X, 372, XV_Y, 67, XV_WIDTH, 61, XV_HEIGHT, 25, PANEL_LABEL_STRING, " load ", PANEL_NOTIFY_PROC, ld_dat_notify, 0); ld_dat_startrec_text = xv_create(ld_dat_panel, PANEL_TEXT, XV_X, 60, XV_Y, 85, XV_WIDTH, 62, XV_HEIGHT, 15, PANEL_LABEL_STRING, "-r", PANEL_VALUE_X, 82, PANEL_VALUE_Y, 85, PANEL_LAYOUT, PANEL_HORIZONTAL, PANEL_VALUE_DISPLAY_LENGTH, 5, PANEL_VALUE_STORED_LENGTH, 12, PANEL_READ_ONLY, FALSE, 0); if ( data_loaded ) xv_set( ld_dat_startrec_text, PANEL_VALUE, start_rec_string, NULL); ld_dat_endrec_text = xv_create(ld_dat_panel, PANEL_TEXT, XV_X, 129, XV_Y, 85, XV_WIDTH, 51, XV_HEIGHT, 15, PANEL_LABEL_STRING, ":", PANEL_VALUE_X, 140, PANEL_VALUE_Y, 85, PANEL_LAYOUT, PANEL_HORIZONTAL, PANEL_VALUE_DISPLAY_LENGTH, 5, PANEL_VALUE_STORED_LENGTH, 12, PANEL_READ_ONLY, FALSE, 0); if ( data_loaded ) xv_set( ld_dat_endrec_text, PANEL_VALUE, end_rec_string, NULL); ld_dat_fld_text = xv_create(ld_dat_panel, PANEL_TEXT, XV_X, 41, XV_Y, 117, XV_WIDTH, 152, XV_HEIGHT, 15, PANEL_LABEL_STRING, "field", PANEL_VALUE_X, 81, PANEL_VALUE_Y, 117, PANEL_LAYOUT, PANEL_HORIZONTAL, PANEL_VALUE_DISPLAY_LENGTH, 14, PANEL_VALUE_STORED_LENGTH, 80, PANEL_VALUE, DEF_FIELD, PANEL_READ_ONLY, FALSE, 0); if ( data_loaded ) xv_set( ld_dat_fld_text, PANEL_VALUE, farg_string, NULL); ld_dat_startitem_text = xv_create(ld_dat_panel, PANEL_TEXT, XV_X, 203, XV_Y, 117, XV_WIDTH, 53, XV_HEIGHT, 15, PANEL_LABEL_STRING, "[", PANEL_VALUE_X, 216, PANEL_VALUE_Y, 117, PANEL_LAYOUT, PANEL_HORIZONTAL, PANEL_VALUE_DISPLAY_LENGTH, 5, PANEL_VALUE_STORED_LENGTH, 12, PANEL_READ_ONLY, FALSE, 0); if ( data_loaded ) xv_set( ld_dat_startitem_text, PANEL_VALUE, start_item_string, NULL); ld_dat_enditem_text = xv_create(ld_dat_panel, PANEL_TEXT, XV_X, 265, XV_Y, 117, XV_WIDTH, 51, XV_HEIGHT, 15, PANEL_LABEL_STRING, ":", PANEL_VALUE_X, 276, PANEL_VALUE_Y, 117, PANEL_LAYOUT, PANEL_HORIZONTAL, PANEL_VALUE_DISPLAY_LENGTH, 5, PANEL_VALUE_STORED_LENGTH, 12, PANEL_READ_ONLY, FALSE, 0); if ( data_loaded ) xv_set( ld_dat_enditem_text, PANEL_VALUE, end_item_string, NULL); ld_dat_rb_msg = xv_create(ld_dat_panel, PANEL_MESSAGE, XV_X, 324, XV_Y, 117, XV_WIDTH, 5, XV_HEIGHT, 13, PANEL_LABEL_STRING, "]", PANEL_LABEL_BOLD, TRUE, 0); ld_dat_msg = xv_create(ld_dat_panel, PANEL_MESSAGE, XV_X, 12, XV_Y, 141, /* XV_HEIGHT, 13, */ PANEL_LABEL_STRING, "", PANEL_LABEL_BOLD, TRUE, 0); if (do_color) xv_set(ld_dat_msg, PANEL_ITEM_COLOR, COL_ERRMSG_FG, 0); /* Create load params panel */ ld_par_frame = xv_create(panel_frame, FRAME_CMD, XV_WIDTH, 452, XV_HEIGHT, 120, XV_LABEL, "3-D Plot: Load Params", XV_SHOW, FALSE, FRAME_SHOW_FOOTER, FALSE, FRAME_CMD_PUSHPIN_IN, FALSE, 0); ld_par_panel = xv_get(ld_par_frame, FRAME_CMD_PANEL); xv_set(ld_par_panel, XV_X, 0, XV_Y, 0, XV_WIDTH, WIN_EXTEND_TO_EDGE, XV_HEIGHT, WIN_EXTEND_TO_EDGE, 0); if (do_color) xv_set(ld_par_panel, WIN_CMS, cms, WIN_FOREGROUND_COLOR, COL_PANEL_FG, WIN_BACKGROUND_COLOR, COL_PANEL_BG, 0); ld_par_dir_text = xv_create(ld_par_panel, PANEL_TEXT, XV_X, 12, XV_Y, 26, XV_WIDTH, 341, XV_HEIGHT, 15, PANEL_LABEL_STRING, "directory", PANEL_VALUE_X, 81, PANEL_VALUE_Y, 26, PANEL_LAYOUT, PANEL_HORIZONTAL, PANEL_VALUE_DISPLAY_LENGTH, 34, PANEL_VALUE_STORED_LENGTH, 120, PANEL_READ_ONLY, FALSE, 0); ld_par_file_text = xv_create(ld_par_panel, PANEL_TEXT, XV_X, 49, XV_Y, 68, XV_WIDTH, 304, XV_HEIGHT, 15, PANEL_LABEL_STRING, "file", PANEL_VALUE_X, 81, PANEL_VALUE_Y, 68, PANEL_LAYOUT, PANEL_HORIZONTAL, PANEL_VALUE_DISPLAY_LENGTH, 34, PANEL_VALUE_STORED_LENGTH, 120, PANEL_READ_ONLY, FALSE, 0); ld_par_msg = xv_create(ld_par_panel, PANEL_MESSAGE, XV_X, 12, XV_Y, 95, /* XV_HEIGHT, 13, */ PANEL_LABEL_STRING, "", PANEL_LABEL_BOLD, TRUE, 0); if (do_color) xv_set(ld_par_msg, PANEL_ITEM_COLOR, COL_ERRMSG_FG, 0); ld_par_button = xv_create(ld_par_panel, PANEL_BUTTON, XV_X, 372, XV_Y, 47, XV_WIDTH, 61, XV_HEIGHT, 25, PANEL_LABEL_STRING, " load ", PANEL_NOTIFY_PROC, ld_par_notify, 0); /* Create save params panel */ sav_par_frame = xv_create(panel_frame, FRAME_CMD, XV_WIDTH, 452, XV_HEIGHT, 120, XV_LABEL, "3-D Plot: Save Params", XV_SHOW, FALSE, FRAME_SHOW_FOOTER, FALSE, FRAME_CMD_PUSHPIN_IN, FALSE, 0); sav_par_panel = xv_get(sav_par_frame, FRAME_CMD_PANEL); xv_set(sav_par_panel, XV_X, 0, XV_Y, 0, XV_WIDTH, WIN_EXTEND_TO_EDGE, XV_HEIGHT, WIN_EXTEND_TO_EDGE, 0); if (do_color) xv_set(sav_par_panel, WIN_CMS, cms, WIN_FOREGROUND_COLOR, COL_PANEL_FG, WIN_BACKGROUND_COLOR, COL_PANEL_BG, 0); sav_par_dir_text = xv_create(sav_par_panel, PANEL_TEXT, XV_X, 12, XV_Y, 26, XV_WIDTH, 341, XV_HEIGHT, 15, PANEL_LABEL_STRING, "directory", PANEL_VALUE_X, 81, PANEL_VALUE_Y, 26, PANEL_LAYOUT, PANEL_HORIZONTAL, PANEL_VALUE_DISPLAY_LENGTH, 34, PANEL_VALUE_STORED_LENGTH, 120, PANEL_READ_ONLY, FALSE, 0); sav_par_file_text = xv_create(sav_par_panel, PANEL_TEXT, XV_X, 49, XV_Y, 68, XV_WIDTH, 304, XV_HEIGHT, 15, PANEL_LABEL_STRING, "file", PANEL_VALUE_X, 81, PANEL_VALUE_Y, 68, PANEL_LAYOUT, PANEL_HORIZONTAL, PANEL_VALUE_DISPLAY_LENGTH, 34, PANEL_VALUE_STORED_LENGTH, 120, PANEL_READ_ONLY, FALSE, 0); sav_par_msg = xv_create(sav_par_panel, PANEL_MESSAGE, XV_X, 12, XV_Y, 95, /* XV_HEIGHT, 13, */ PANEL_LABEL_STRING, "", PANEL_LABEL_BOLD, TRUE, 0); if (do_color) xv_set(sav_par_msg, PANEL_ITEM_COLOR, COL_ERRMSG_FG, 0); sav_par_button = xv_create(sav_par_panel, PANEL_BUTTON, XV_X, 372, XV_Y, 47, XV_WIDTH, 61, XV_HEIGHT, 25, PANEL_LABEL_STRING, " save ", PANEL_NOTIFY_PROC, sav_par_notify, 0);}/* NOTIFY FUNCTIONS FOR MENU ITEMS */Xv_opaqueload_data_notify(menu, item) Menu menu; Menu_item item;{ if (debug_level) fprintf(stderr, "load_data_notify\n"); xv_set(ld_dat_frame, XV_SHOW, TRUE, 0); return XV_NULL;}Xv_opaqueload_params_notify(menu, item) Menu menu; Menu_item item;{ if (debug_level) fprintf(stderr, "load_params_notify\n"); xv_set(ld_par_frame, XV_SHOW, TRUE, 0); return XV_NULL;}Xv_opaquesave_params_notify(menu, item) Menu menu; Menu_item item;{ if (debug_level) fprintf(stderr, "save_params_notify\n");
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?