Пример #1
0
/*-------------------------------------------------------------------------*/
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;
}
Пример #2
0
/*-------------------------------------------------------------------------*/
static void qmonUsersetType(Widget w, XtPointer cld, XtPointer cad)
{
   DENTER(GUI_LAYER, "qmonUsersetType");

   XmtChooserSetState(w, userset_type_state, False);
   
   DEXIT;
}
Пример #3
0
/*-------------------------------------------------------------------------*/
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;
}
Пример #4
0
/*-------------------------------------------------------------------------*/
static void qmonBrowserClose(Widget w, XtPointer cld, XtPointer cad)
{

    DENTER(TOP_LAYER, "qmonBrowserClose");

    /* disable browsing */
    XmtChooserSetState(browser_object, 0, True);

    xmui_unmanage(BrowserShell);

    DEXIT;
}
Пример #5
0
/*-------------------------------------------------------------------------*/
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;
}
Пример #6
0
/*-------------------------------------------------------------------------*/
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;
}
Пример #7
0
/*-------------------------------------------------------------------------*/

#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;
}
Пример #8
0
/*-------------------------------------------------------------------------*/
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);
}
Пример #9
0
/*-------------------------------------------------------------------------*/
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;
}