⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xbcview.c

📁 BCView - Bayes Classifier Visualization Download xbcview Linux executable (218 kb) wbcview.exe W
💻 C
📖 第 1 页 / 共 5 页
字号:
  if ((i == XAW_LIST_NONE) || !ranges)    return;                     /* check selected list item */  widget = ((int)client == 0) ? di_h_min : di_v_min;  sprintf(buf, "%g", ranges[i].min);  XtVaSetValues(widget, XtNstring, buf, NULL);  widget = ((int)client == 0) ? di_h_max : di_v_max;  sprintf(buf, "%g", ranges[i].max);  XtVaSetValues(widget, XtNstring, buf, NULL);}  /* lcb_att() */              /* set new range of values *//*----------------------------------------------------------------------  Action Functions----------------------------------------------------------------------*/static void ld_class (Widget w, XEvent *e, String *s, Cardinal *c){                               /* --- File > Load Classifier... */  const char *t;                /* buffer for dialog box title */  mn_enable(menu, MN_MENU, 0);  /* disable menu bar */  XtVaGetValues(XtNameToWidget(mn_menubar(menu), "*ld_class"),    XtNlabel, &t, NULL);        /* get name of menu entry */  if (fselect(w_top, t, NULL, NULL, dcb_class) != 0) {    error(E_DIALOG); mn_enable(menu, MN_MENU, 1); }}  /* ld_class() */             /* show a file selector box *//*--------------------------------------------------------------------*/static void ld_data (Widget w, XEvent *e, String *s, Cardinal *c){                               /* --- File > Load Data... */  const char *t;                /* buffer for dialog box title */  if (!attset) {                /* if no classifier has been loaded, */    error(E_DATA); return; }    /* no data file can be loaded */  mn_enable(menu, MN_MENU, 0);  /* disable menu bar */  XtVaGetValues(XtNameToWidget(mn_menubar(menu), "*ld_data"),    XtNlabel, &t, NULL);        /* get name of menu entry */  if (fselect(w_top, t, NULL, NULL, dcb_data) != 0) {    error(E_DIALOG); mn_enable(menu, MN_MENU, 1); }}  /* ld_data() */              /* show a file selector box *//*--------------------------------------------------------------------*/static void format (Widget w, XEvent *e, String *s, Cardinal *c){                               /* --- File > Data Format... */  if (!psh_fmt) {               /* if property sheet not created yet */    psh_fmt = psh_create("fmtDlg", w_top, 1);    if (!psh_fmt) return;       /* create a property sheet */    if ((psh_addline(psh_fmt, "lfirst")               != 0)    ||  (psh_additem(psh_fmt, "first",   PSH_MENU, 0) != 0)    ||  (psh_menuadd(psh_fmt, "first",   "atts")      != 0)    ||  (psh_menuadd(psh_fmt, "first",   "data")      != 0)    ||  (psh_menuadd(psh_fmt, "first",   "comment")   != 0)    ||  (psh_addline(psh_fmt, "lblank")               != 0)    ||  (psh_additem(psh_fmt, "blank",   PSH_EDIT, 0) != 0)    ||  (psh_addline(psh_fmt, "lfield")               != 0)    ||  (psh_additem(psh_fmt, "field",   PSH_EDIT, 0) != 0)    ||  (psh_addline(psh_fmt, "lrecord")              != 0)    ||  (psh_additem(psh_fmt, "record",  PSH_EDIT, 0) != 0)    ||  (psh_addline(psh_fmt, "lunknown")             != 0)    ||  (psh_additem(psh_fmt, "unknown", PSH_EDIT, 0) != 0)) {      psh_delete(psh_fmt); error(E_DIALOG); return; }  }                             /* add dialog items */  mn_enable(menu, MN_MENU, 0);  /* disable menu bar */  psh_setval(psh_fmt, "first",   (char*)fmtinfo.first);  psh_setval(psh_fmt, "blank",   fmtinfo.blanks);  psh_setval(psh_fmt, "field",   fmtinfo.fldseps);  psh_setval(psh_fmt, "record",  fmtinfo.recseps);  psh_setval(psh_fmt, "unknown", fmtinfo.uvchars);  psh_handle(psh_fmt, dcb_format); /* fill input gadgets with current */}  /* format() */                  /* values and handle dialog *//*--------------------------------------------------------------------*/static void quit (Widget w, XEvent *e, String *s, Cardinal *c){                               /* --- File > Quit */  bc_clean();                   /* clean up the variables and */  col_delete();                 /* delete all colors and shades */  if (w_top) XtDestroyApplicationContext(appctx);  exit(0);                      /* terminate the program */}  /* quit() *//*--------------------------------------------------------------------*/static void dclick (Widget w, XEvent *e, String *s, Cardinal *c){                               /* --- double click in attribute list */  dcb_atts(db_atts, (void*)2, NULL);}  /* dclick() */               /* call dialog box callback for `ok' *//*--------------------------------------------------------------------*/static int listbox (Widget form, Widget left, const char *name){                               /* --- create a list box */  int    n;                     /* widget argument counter */  Arg    args[16];              /* widget argument list */  Widget view, list;            /* viewport and list widget */  Widget min, max;              /* minimum and maximum widget */  Widget label;                 /* buffer for label widgets */  char   buf[16];               /* buffer for widget name */  /* --- create list box --- */  n = 0;                      /* build argument list */  XtSetArg(args[n], XtNborderWidth, 0);                       n++;  if (left) { XtSetArg(args[n], XtNfromHoriz,   left);        n++; }  else      { XtSetArg(args[n], XtNleft,        XtChainLeft); n++; }  XtSetArg(args[n], XtNtop,         XtChainTop);              n++;  XtSetArg(args[n], XtNbottom,      XtChainTop);              n++;  XtSetArg(args[n], XtNjustify,     XtJustifyLeft);           n++;  sprintf(buf, "l%s", name);  /* create the widget name */  label = XtCreateManagedWidget(buf, labelWidgetClass, form, args, n);  if (!label) return -1;      /* create title widget */  n = 0;                      /* build argument list */  XtSetArg(args[n], XtNborderWidth, 1);                       n++;  if (left) { XtSetArg(args[n], XtNfromHoriz,   left);        n++; }  else      { XtSetArg(args[n], XtNleft,        XtChainLeft); n++; }  XtSetArg(args[n], XtNfromVert,    label);                   n++;  XtSetArg(args[n], XtNallowHoriz,  False);                   n++;  XtSetArg(args[n], XtNallowVert,   True);                    n++;  XtSetArg(args[n], XtNuseRight,    True);                    n++;  XtSetArg(args[n], XtNtop,         XtChainTop);              n++;  XtSetArg(args[n], XtNbottom,      XtChainBottom);           n++;  sprintf(buf, "v%s", name);  /* create the widget name */  view = XtCreateManagedWidget(buf, viewportWidgetClass,                               form, args, n);  if (!view) return -1;       /* create list viewport */  n = 0;                      /* build argument list */  XtSetArg(args[n], XtNstring,         "");                   n++;  XtSetArg(args[n], XtNborderWidth,    0);                    n++;  XtSetArg(args[n], XtNverticalList,   True);                 n++;  XtSetArg(args[n], XtNdefaultColumns, 1);                    n++;  XtSetArg(args[n], XtNforceColumns,   True);                 n++;  sprintf(buf, "%s_att", name);  /* create the widget name */  list = XtCreateManagedWidget(buf, listWidgetClass, view, args, n);  if (!list) return -1;       /* create list widget */  /* --- create input field for minimum --- */  n = 0;                      /* build argument list */  XtSetArg(args[n], XtNborderWidth, 0);                       n++;  XtSetArg(args[n], XtNfromVert,    view);                    n++;  if (left) { XtSetArg(args[n], XtNfromHoriz,   left);        n++; }  else      { XtSetArg(args[n], XtNleft,        XtChainLeft); n++; }  XtSetArg(args[n], XtNtop,         XtChainBottom);           n++;  XtSetArg(args[n], XtNbottom,      XtChainBottom);           n++;  XtSetArg(args[n], XtNjustify,     XtJustifyLeft);           n++;  sprintf(buf, "l%s_min", name); /* create the widget name */  label = XtCreateManagedWidget(buf, labelWidgetClass, form, args, n);  if (!label) return -1;      /* create min label widget */  n = 0;                      /* build argument list */  XtSetArg(args[n], XtNborderWidth, 1);                       n++;  XtSetArg(args[n], XtNeditType,    XawtextEdit);             n++;  XtSetArg(args[n], XtNfromHoriz,   label);                   n++;  XtSetArg(args[n], XtNfromVert,    view);                    n++;  XtSetArg(args[n], XtNtop,         XtChainBottom);           n++;  XtSetArg(args[n], XtNbottom,      XtChainBottom);           n++;  min = XtCreateManagedWidget(buf+1, asciiTextWidgetClass,                                 form, args, n);  if (!min) return -1;        /* create minimum widget */  /* --- create input field for maximum --- */  n = 0;                      /* build argument list */  XtSetArg(args[n], XtNborderWidth, 0);                       n++;  XtSetArg(args[n], XtNfromVert,    min);                     n++;  if (left) { XtSetArg(args[n], XtNfromHoriz,   left);        n++; }  else      { XtSetArg(args[n], XtNleft,        XtChainLeft); n++; }  XtSetArg(args[n], XtNtop,         XtChainBottom);           n++;  XtSetArg(args[n], XtNbottom,      XtChainBottom);           n++;  XtSetArg(args[n], XtNjustify,     XtJustifyLeft);           n++;  sprintf(buf, "l%s_max", name); /* create the widget name */  label = XtCreateManagedWidget(buf, labelWidgetClass, form, args, n);  if (!label) return -1;      /* create h_max label widget */  n = 0;                      /* build argument list */  XtSetArg(args[n], XtNborderWidth, 1);                       n++;  XtSetArg(args[n], XtNeditType,    XawtextEdit);             n++;  XtSetArg(args[n], XtNfromHoriz,   label);                   n++;  XtSetArg(args[n], XtNfromVert,    min);                     n++;  XtSetArg(args[n], XtNtop,         XtChainBottom);           n++;  XtSetArg(args[n], XtNbottom,      XtChainBottom);           n++;  max = XtCreateManagedWidget(buf+1, asciiTextWidgetClass,                              form, args, n);  if (!max) return -1;          /* create maximum widget */  return 0;                     /* return 'ok' */}  /* listbox() *//*--------------------------------------------------------------------*/static void atts (Widget w, XEvent *e, String *s, Cardinal *c){                               /* --- Actions > Attributes... */  static String empty = "";     /* an empty string */  XtTranslations tla, tlo;      /* translations for text widgets */  Widget    shell = NULL, form; /* widgets for dialog shell and form */  Widget    lview, rview;       /* left and right viewport widget */  Widget    lh_min, lh_max;     /* label widgets for horizontal */  Widget    lv_min, lv_max;     /* and vertical minimum/maximum */  Widget    ok, cancel;         /* widgets for ok and cancel buttons */  Arg       args[16];           /* widget argument list */  int       n;                  /* widget argument counter */  Position  x,  y;              /* position of created dialog */  Dimension wd, ht;             /* width and height of created dialog */  Dimension lblwd, t;           /* label width and temp. buffer */  int       dd;                 /* default distance of dialog items */  if (!db_atts) {               /* if dialog box is not created */    shell = XtCreatePopupShell("attDlg", transientShellWidgetClass,              w_top, NULL, 0);  /* create a dialog box shell */    if (!shell) { error(E_DIALOG); return; }    XtSetArg(args[0], XtNborderWidth, 0);    form = XtCreateManagedWidget("form", formWidgetClass,             shell, args, 1);   /* create a form for the box layout */    if (!form) { XtDestroyWidget(shell); error(E_DIALOG); return; }    /* --- create listbox for horizontal axis --- */    if (listbox(form, NULL,  "h") != 0) {      XtDestroyWidget(shell); error(E_DIALOG); return; }    lview    = XtNameToWidget(form, "*vh");    di_h_att = XtNameToWidget(form, "*h_att");    di_h_min = XtNameToWidget(form, "*h_min");    di_h_max = XtNameToWidget(form, "*h_max");    XtAddCallback(di_h_att, XtNcallback, lcb_att, (void*)0);    /* --- create listbox for vertical axis --- */    if (listbox(form, lview, "v") != 0) {      XtDestroyWidget(shell); error(E_DIALOG); return; }    rview    = XtNameToWidget(form, "*vv");    di_v_att = XtNameToWidget(form, "*v_att");    di_v_min = XtNameToWidget(form, "*v_min");    di_v_max = XtNameToWidget(form, "*v_max");    XtAddCallback(di_v_att, XtNcallback, lcb_att, (void*)1);    /* --- create ok button --- */    n = 0;                      /* build argument list */    XtSetArg(args[n], XtNfromVert,    di_h_max);      n++;    XtSetArg(args[n], XtNleft,        XtChainLeft);   n++;    XtSetArg(args[n], XtNtop,         XtChainBottom); n++;    XtSetArg(args[n], XtNbottom,      XtChainBottom); n++;    ok = XtCreateManagedWidget("ok", commandWidgetClass,           form, args, n);      /* create 'ok' button */    if (!ok) { XtDestroyWidget(shell); error(E_DIALOG); return; }    XtAddCallback(ok, XtNcallback, dcb_atts, (void*)1);    /* --- create cancel button --- */    n = 0;                      /* build argument list */    XtSetArg(args[n], XtNfromHoriz,   ok);            n++;    XtSetArg(args[n], XtNfromVert,    di_v_max);      n++;    XtSetArg(args[n], XtNtop,         XtChainBottom); n++;    XtSetArg(args[n], XtNright,       XtChainRight);  n++;    XtSetArg(args[n], XtNbottom,      XtChainBottom); n++;    cancel = XtCreateManagedWidget("cancel", commandWidgetClass,               form, args, n);  /* create 'cancel' button */    if (!cancel) { XtDestroyWidget(shell); error(E_DIALOG); return; }    XtAddCallback(cancel, XtNcallback, dcb_atts, (void*)0);    /* --- adapt widths of labels and gadgets --- */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -