void create_models ( Widget parent ) { Arg args[10]; Cardinal argcnt; Widget pane, form, rowcol; static char first = 1; /*------------------------------------------------------------*/ /* Create a popup shell & list widget for the file list. */ argcnt = 0; XtSetArg(args[argcnt], XmNcolormap, gemmap); argcnt++; XtSetArg(args[argcnt], XmNvisual, gemvis); argcnt++; model_toplevel = XmCreateBulletinBoardDialog(parent, "ModelSelect",args, argcnt); /* * models and files were read through create_model_menu() * first time */ if ( !first ) { get_models(); first = 0; } pane = XtVaCreateManagedWidget("modelpane", xmPanedWindowWidgetClass, model_toplevel, XmNsashWidth, 1, XmNsashHeight, 1, NULL); rowcol = XtVaCreateManagedWidget("ModelRC", xmRowColumnWidgetClass, pane, XmNorientation, XmVERTICAL, XmNpacking, XmPACK_COLUMN, NULL ); create_model_list(rowcol); form = XtVaCreateManagedWidget("ModelFileFrame", xmFormWidgetClass, pane, NULL ); model_filelist(form); rowcol = XtVaCreateManagedWidget("ModelConfirm", xmRowColumnWidgetClass, pane, XmNorientation, XmHORIZONTAL, NULL ); create_std_buttons( rowcol, (XtCallbackProc)model_confirm ); }
void create_model_menu ( Widget parent ) { int ii; long jj; Widget widget, submenu, ssubmenu; Arg args[5]; Cardinal argcnt; /*----------------------------------------------------------------------*/ get_models(); argcnt = 0; XtSetArg(args[argcnt], XmNcolormap, gemmap); argcnt++; XtSetArg(args[argcnt], XmNvisual, gemvis); argcnt++; submenu = XmCreatePulldownMenu( XtParent(parent), "submenu", args, argcnt); XtVaSetValues(parent, XmNsubMenuId, submenu, NULL); for(ii = 0; ii < ModelNo; ii++) { widget = XtVaCreateManagedWidget ( ModelStr[ii].model_name, xmCascadeButtonWidgetClass, submenu, NULL ); if ( ModelStr[ii].nfile > 0 ) { argcnt = 0; XtSetArg(args[argcnt], XmNcolormap, gemmap); argcnt++; XtSetArg(args[argcnt], XmNvisual, gemvis); argcnt++; ssubmenu = XmCreatePulldownMenu( submenu, "submenu", args, argcnt); XtVaSetValues( widget, XmNsubMenuId, ssubmenu, NULL); for( jj=0; jj < ModelStr[ii].nfile; jj++) { widget = XtVaCreateManagedWidget ( ModelStr[ii].file_names[jj], xmPushButtonWidgetClass, ssubmenu, XmNuserData, ii, NULL ); XtAddCallback(widget, XmNactivateCallback, (XtCallbackProc)menu_select_models, (XtPointer)jj ); } } } }
void make_test_train(bool async) { auto estimator = train_estimator(async); const auto centers = estimator->get_trained_centers(); const auto exp_centers = mkcol({5.5, 8}); assert_equal_containers(exp_centers, centers, SPOT); const auto& models = estimator->get_models(); assert_equal(2u, models.size()); const auto X = get_X(); assert_equal_containers(X, models[0]->train_X, SPOT); assert_equal_containers(X, models[1]->train_X, SPOT); const auto target1 = mkcol({dyes, dyes, dno, dno, dno}); const auto target2 = mkcol({dno, dno, dyes, dyes, dyes}); assert_equal_containers(target1, models[0]->train_y, SPOT); assert_equal_containers(target2, models[1]->train_y, SPOT); }
/*=====================================================================*/ void update_modellist ( void ) { get_models(); }