/*-------------------------------------------------------------------------*/ static void qmonUsersetFillConf( Widget w, lListElem *ep ) { lList *ul; DENTER(GUI_LAYER, "qmonUsersetFillConf"); if (!ep) { /* ** clear the userset_user_list */ XtVaSetValues( userset_user_list, XmNitems, NULL, XmNitemCount, 0, NULL); DEXIT; return; } userset_type_state = (int)lGetUlong(ep, US_type); XmtChooserSetState(userset_type, userset_type_state, False); ul = lGetList(ep, US_entries); lPSortList(ul, "%I+", UE_name); UpdateXmListFromCull(userset_user_list, XmFONTLIST_DEFAULT_TAG, ul, UE_name); DEXIT; }
/*-------------------------------------------------------------------------*/ static void qmonUsersetType(Widget w, XtPointer cld, XtPointer cad) { DENTER(GUI_LAYER, "qmonUsersetType"); XmtChooserSetState(w, userset_type_state, False); DEXIT; }
/*-------------------------------------------------------------------------*/ static void qmonCkptResetAsk(void) { int state = 5; /* ckpt_when set to sx */ DENTER(GUI_LAYER, "qmonCkptResetAsk"); XmtInputFieldSetString(ckpt_name_w, ""); XmtChooserSetState(ckpt_interface_w, 0, False); XmtInputFieldSetString(ckpt_ckpt_command_w, "NONE"); XmtInputFieldSetString(ckpt_migr_command_w, "NONE"); XmtInputFieldSetString(ckpt_rest_command_w, "NONE"); XmtInputFieldSetString(ckpt_clean_command_w, "NONE"); XmtInputFieldSetString(ckpt_ckpt_dir_w, "/tmp"); XmtChooserSetState(ckpt_when_w, state, False); XmtInputFieldSetString(ckpt_signal_w, "NONE"); DEXIT; }
/*-------------------------------------------------------------------------*/ static void qmonBrowserClose(Widget w, XtPointer cld, XtPointer cad) { DENTER(TOP_LAYER, "qmonBrowserClose"); /* disable browsing */ XmtChooserSetState(browser_object, 0, True); xmui_unmanage(BrowserShell); DEXIT; }
/*-------------------------------------------------------------------------*/ static void qmonUsersetModify(Widget w, XtPointer cld, XtPointer cad) { XmString *usetname; Cardinal usetnum; String usetstr; XmString *usetusers; Cardinal usetusernum; DENTER(GUI_LAYER, "qmonUsersetModify"); /* ** on opening the dialog fill in the old values */ XtVaGetValues( userset_names, XmNselectedItems, &usetname, XmNselectedItemCount, &usetnum, NULL); XtVaGetValues( userset_user_list, XmNitems, &usetusers, XmNitemCount, &usetusernum, NULL); if (usetnum == 1 && XmStringGetLtoR(usetname[0], XmFONTLIST_DEFAULT_TAG, &usetstr)) { XmtInputFieldSetString(uset_name, usetstr); XtFree((char *)usetstr); XtVaSetValues( uset_name, XmNeditable, False, NULL); XtVaSetValues( uset_user_list, XmNitems, usetusers, XmNitemCount, usetusernum, NULL); XmtChooserSetState(uset_type, userset_type_state, False); add_mode = 0; XtManageChild(userset_ask_layout); XmtSetInitialFocus(userset_ask_layout, uset_user); } DEXIT; }
/*-------------------------------------------------------------------------*/ static void qmonUsersetAdd(Widget w, XtPointer cld, XtPointer cad) { DENTER(GUI_LAYER, "qmonUsersetAdd"); XmtInputFieldSetString(uset_name, ""); XmtChooserSetState(uset_type, US_ACL, False); XtVaSetValues( uset_name, XmNeditable, True, NULL); XtVaSetValues( uset_user_list, XmNitems, NULL, XmNitemCount, 0, NULL); add_mode = 1; XtManageChild(userset_ask_layout); XmtSetInitialFocus(userset_ask_layout, uset_name); DEXIT; }
/*-------------------------------------------------------------------------*/ #if 0 /* EB: not used */ static void qmonUsersetName(Widget w, XtPointer cld, XtPointer cad) { String name = NULL; DENTER(GUI_LAYER, "qmonUsersetName"); name = XmtInputFieldGetString(uset_name); if (name && !strcmp(name, DEFAULT_DEPARTMENT)) { XtSetSensitive(uset_user, False); XtSetSensitive(uset_user_list, False); XtSetSensitive(uset_user_remove, False); XmtChooserSetState(uset_type, US_DEPT, False); XtSetSensitive(uset_type, False); } else { XtSetSensitive(uset_user, True); XtSetSensitive(uset_user_list, True); XtSetSensitive(uset_user_remove, True); XtSetSensitive(uset_type, True); } DEXIT; }
/*-------------------------------------------------------------------------*/ static Boolean qmonSchedSet(lListElem *sep) { static char schedd_job_info[BUFSIZ]; DENTER(GUI_LAYER, "qmonSchedSet"); if (!sep) { DRETURN(False); } /* printf("------> qmonSchedSet\n"); */ /* lWriteElemTo(sep, stdout); */ data.algorithm = sge_strdup(data.algorithm, (StringConst)lGetString(sep, SC_algorithm)); data.schedule_interval = sge_strdup(data.schedule_interval, (StringConst)lGetString(sep, SC_schedule_interval)); data.sc_params = sge_strdup(data.sc_params, (StringConst)lGetString(sep, SC_params)); data.maxujobs = lGetUlong(sep, SC_maxujobs); data.flush_submit_secs = lGetUlong(sep, SC_flush_submit_sec); data.flush_finish_secs = lGetUlong(sep, SC_flush_finish_sec); data.max_reservation = lGetUlong(sep, SC_max_reservation); /* this depends on the kind queue_sort_method is represented */ data.queue_sort_method = lGetUlong(sep, SC_queue_sort_method); /* ** load adjustments need special treatment */ data.job_load_adjustments = lCopyList("copy", lGetList(sep, SC_job_load_adjustments)); data.load_adjustment_decay_time = sge_strdup(data.load_adjustment_decay_time, (StringConst)lGetString(sep, SC_load_adjustment_decay_time)); data.load_formula = sge_strdup(data.load_formula, (StringConst)lGetString(sep, SC_load_formula)); data.reprioritize_interval = sge_strdup(data.reprioritize_interval, (StringConst)lGetString(sep, SC_reprioritize_interval)); data.default_duration = sge_strdup(data.default_duration, (StringConst)lGetString(sep, SC_default_duration)); /** printf("->data.algorithm: '%s'\n", data.algorithm ? data.algorithm : "-NA-"); printf("->data.schedule_interval: '%s'\n", data.schedule_interval ? data.schedule_interval : "-NA-"); printf("->data.sc_params: '%s'\n", data.sc_params ? data.sc_params : "-NA-"); printf("->data.maxujobs: '%d'\n", data.maxujobs ); printf("->data.flush_submit_secs: '%d'\n", data.flush_submit_secs ); printf("->data.flush_finish_secs: '%d'\n", data.flush_finish_secs ); printf("->data.max_reservation: '%d'\n", data.max_reservation ); printf("->data.queue_sort_method: '%d'\n", data.queue_sort_method ); printf("->data.load_adjustment_decay_time: '%s'\n", data.load_adjustment_decay_time ? data.load_adjustment_decay_time : "-NA-"); printf("->data.load_formula: '%s'\n", data.load_formula ? data.load_formula : "-NA-"); **/ /* ** set the dialog values */ XmtDialogSetDialogValues(qmon_sconf, (XtPointer) &data); /* ** schedd_job_info needs some extras ** attention: order must match order of labels in qmon_sconf.ad ** ** Qmon*sconf_general*sconf_job_info.chooserType: ChooserOption ** Qmon*sconf_general*sconf_job_info.strings: \ ** "False", \ ** "True", \ ** "Job Range" */ if (lGetString(sep, SC_schedd_job_info)) sge_strlcpy(schedd_job_info, lGetString(sep, SC_schedd_job_info), BUFSIZ); else strcpy(schedd_job_info, "false"); if (!strcasecmp(schedd_job_info, "false")) { XmtChooserSetState(sconf_job_info, 0, True); XmtInputFieldSetString(sconf_job_range, ""); } else if (!strcasecmp(schedd_job_info, "true")) { XmtChooserSetState(sconf_job_info, 1, True); XmtInputFieldSetString(sconf_job_range, ""); } else { char *sji; strtok(schedd_job_info, " \t"); sji = strtok(NULL, "\n"); XmtChooserSetState(sconf_job_info, 2, True); XmtInputFieldSetString(sconf_job_range, sji); } qmonSchedFreeData(); DRETURN(True); }
/*-------------------------------------------------------------------------*/ static void qmonCkptSetAsk( lListElem *ckp ) { StringConst ckpt_name = NULL; StringConst ckpt_interface = NULL; StringConst ckpt_ckpt_command = NULL; StringConst ckpt_migr_command = NULL; StringConst ckpt_rest_command = NULL; StringConst ckpt_clean_command = NULL; StringConst ckpt_ckpt_dir = NULL; StringConst ckpt_when = NULL; StringConst ckpt_signal = NULL; int i; int state = 0; DENTER(GUI_LAYER, "qmonCkptSetAsk"); if (!ckp) { DEXIT; return; } ckpt_name = (StringConst)lGetString(ckp, CK_name); if (ckpt_name) XmtInputFieldSetString(ckpt_name_w, ckpt_name); ckpt_interface = (StringConst)lGetString(ckp, CK_interface); if (ckpt_interface) { for (i=0; i<XtNumber(ckpt_interface_types); i++) { if (!strcasecmp(ckpt_interface, ckpt_interface_types[i])) { XmtChooserSetState(ckpt_interface_w, i, False); break; } } } else XmtChooserSetState(ckpt_interface_w, 0, False); ckpt_ckpt_command = (StringConst)lGetString(ckp, CK_ckpt_command); if (ckpt_ckpt_command) XmtInputFieldSetString(ckpt_ckpt_command_w, ckpt_ckpt_command); ckpt_migr_command = (StringConst)lGetString(ckp, CK_migr_command); if (ckpt_migr_command) XmtInputFieldSetString(ckpt_migr_command_w, ckpt_migr_command); ckpt_rest_command = (StringConst)lGetString(ckp, CK_rest_command); if (ckpt_rest_command) XmtInputFieldSetString(ckpt_rest_command_w, ckpt_rest_command); ckpt_clean_command = (StringConst)lGetString(ckp, CK_clean_command); if (ckpt_clean_command) XmtInputFieldSetString(ckpt_clean_command_w, ckpt_clean_command); ckpt_ckpt_dir = (StringConst)lGetString(ckp, CK_ckpt_dir); if (ckpt_ckpt_dir) XmtInputFieldSetString(ckpt_ckpt_dir_w, ckpt_ckpt_dir); ckpt_when = (StringConst)lGetString(ckp, CK_when); if (ckpt_when && strchr(ckpt_when, 's')) state |= 1; if (ckpt_when && strchr(ckpt_when, 'm')) state |= 2; if (ckpt_when && strchr(ckpt_when, 'x')) state |= 4; if (ckpt_when && strchr(ckpt_when, 'r')) state |= 8; if (!state) state = 1; XmtChooserSetState(ckpt_when_w, state, False); ckpt_signal = (StringConst)lGetString(ckp, CK_signal); if (ckpt_signal) XmtInputFieldSetString(ckpt_signal_w, ckpt_signal); DEXIT; }