static void PrintWindowData( String str, String tab_str, WSMWinData *win_data) { register int i; char *type_str; if (win_data->type == WSM_VALUE_DATA) { sprintf(str, "%sName: %s, Type: Value, Value: %ld\n", tab_str, XrmQuarkToString(win_data->nameq), win_data->data.value); return; } switch(win_data->type) { case WSM_CHAR_LIST_DATA: type_str = "Char List"; break; case WSM_SHORT_LIST_DATA: type_str = "Short List"; break; case WSM_LONG_LIST_DATA: type_str = "Long List"; break; case WSM_VALUE_DATA: case WSM_NONE: type_str = "<NONE>"; break; } sprintf(str, "%sName: %s, Type: %s, Len: %d\n%s%s", tab_str, XrmQuarkToString(win_data->nameq), type_str, win_data->data_len, tab_str, " "); for (i = 0; i < win_data->data_len; i++) { str += strlen(str); switch(win_data->type) { case WSM_CHAR_LIST_DATA: sprintf(str, "%c(%d)", win_data->data.char_ptr[i], (int) win_data->data.char_ptr[i]); break; case WSM_SHORT_LIST_DATA: sprintf(str, "%d", (int) win_data->data.short_ptr[i]); break; case WSM_LONG_LIST_DATA: sprintf(str, "%ld", win_data->data.long_ptr[i]); break; case WSM_VALUE_DATA: case WSM_NONE: break; } if (i < (win_data->data_len - 1)) strcat(str, ", "); } strcat(str, "\n"); }
void MotifUI::DumpWidget(Widget w, boolean verbose, int level) { int i; for (i = 0; i < level; i++) printf(" "); printf("%s : %s", XrmQuarkToString(w->core.xrm_name), w->core.widget_class->core_class.class_name); if (verbose) { int n = (level * 3) + strlen(XrmQuarkToString(w->core.xrm_name)) + strlen(w->core.widget_class->core_class.class_name) + 3; for ( ; n < G_width; n++) printf(" "); if (XtIsManaged(w)) printf(" Managed "); else printf(" Unmanaged"); if (XtIsSensitive(w)) printf(" Sensitive "); else printf(" Insensitive"); if (XtIsRealized(w)) printf(" Realized "); else printf(" Unrealized"); if (w->core.visible) printf(" Visible\n"); else printf(" Invisible\n"); } else printf("\n"); }
void print_reply_start_state(WSMGetStateReply *get_state) { #ifdef DEBUG2 int i,j,p; Window window; WorkWindow *w_window; PRINT("REPLY WSM_GET_STATE\n"); for (i = 0; i < get_state->num_win_info_list; i ++) { window = get_state->win_info_list[i].window; w_window = GetWorkWindow(window); /* PRINT(" 0x%X \n",window);*/ PRINT(" %d ",window); if ( _WSMGetConfigFormatType(window) == WSM_ICON_FMT) PRINT(" ICON "); else if ( _WSMGetConfigFormatType(window) == WSM_WINDOW_FMT) PRINT(" WINDOW "); else if ( _WSMGetConfigFormatType(window) == WSM_GLOBAL_FMT) PRINT(" GLOBAL "); if (w_window != NULL) { for (p = 0; w_window->specifier_qlist[p] != NULLQUARK; p++) PRINT("%s.", XrmQuarkToString(w_window->specifier_qlist[p])); } PRINT("\n"); for (j = 0; j < get_state->win_info_list[i].num_data_list; j++) PRINT(" %s %ld\n", XrmQuarkToString(get_state->win_info_list[i].data_list[j].nameq), get_state->win_info_list[i].data_list[j].data.value); } #endif }
void XtGetResourceList( WidgetClass widget_class, XtResourceList *resources, Cardinal *num_resources) { int size; register Cardinal i, dest = 0; register XtResourceList *list, dlist; LOCK_PROCESS; size = widget_class->core_class.num_resources * sizeof(XtResource); *resources = (XtResourceList) __XtMalloc((unsigned) size); if (!widget_class->core_class.class_inited) { /* Easy case */ (void) memmove((char *) *resources, (char *)widget_class->core_class.resources, size); *num_resources = widget_class->core_class.num_resources; UNLOCK_PROCESS; return; } /* Nope, it's the hard case */ list = (XtResourceList *) widget_class->core_class.resources; dlist = *resources; for (i = 0; i < widget_class->core_class.num_resources; i++) { if (list[i] != NULL) { dlist[dest].resource_name = (String) XrmQuarkToString(TOXRMQUARK(list[i]->resource_name)); dlist[dest].resource_class = (String) XrmQuarkToString(TOXRMQUARK(list[i]->resource_class)); dlist[dest].resource_type = (String) XrmQuarkToString(TOXRMQUARK(list[i]->resource_type)); dlist[dest].resource_size = list[i]->resource_size; /* trust that resource_offset isn't that big */ dlist[dest].resource_offset = (Cardinal) -((int)(list[i]->resource_offset + 1)); dlist[dest].default_type = (String) XrmQuarkToString(TOXRMQUARK(list[i]->default_type)); dlist[dest].default_addr = list[i]->default_addr; dest++; } } *num_resources = dest; UNLOCK_PROCESS; }
/*-------------------------------------------------------------------------*/ static void set_CE_Type( Widget w, XtPointer address, XrmQuark type, Cardinal size ) { lList *lp = NULL; if (type != QmonQCE_Type) { XmtWarningMsg("XmtDialogSetDialogValues", "XbaeMatrix", "Type Mismatch: Widget '%s':\n\tCan't set widget values" " from a resource of type '%s'; QmonQCE_Type expected.", XtName(w), XrmQuarkToString(type)); return; } if (size == sizeof(lList*)) lp = *(lList**) address; else return; qmonSetCE_Type(w, lp, CE_TYPE_REDUCED); }
/*-------------------------------------------------------------------------*/ static void set_Spinbox( Widget w, XtPointer address, XrmQuark type, Cardinal size ) { int value; /* * Here special Qmon Quarks are used. Does it work ? */ if (type != QmonQInt) { XmtWarningMsg("XmtDialogSetDialogValues", "Spinbox", "Type Mismatch: Widget '%s':\n\tCan't set widget values" " from a resource of type '%s'; QmonQInt expected.", XtName(w), XrmQuarkToString(type)); return; } if (size == sizeof(int)) value = *(int *) address; else return; XmpSpinboxSetValue(w, (long)value, True); }
/*-------------------------------------------------------------------------*/ static void get_TimeInput( Widget w, XtPointer address, XrmQuark type, Cardinal size ) { Cardinal value = 0; String str = NULL; if (type != QmonQCardinal ) { XmtWarningMsg("XmtDialogGetDialogValues", "TimeInput", "Type Mismatch: Widget '%s':\n\tCan't get widget values" " from a resource of type '%s'", XtName(w), XrmQuarkToString(type)); return; } str = XmtInputFieldGetString(w); if (str && str[0] != '\0') { u_long32 tmp_date_time; ulong_parse_date_time_from_string(&tmp_date_time, NULL, str); value = (Cardinal)tmp_date_time; } *(Cardinal*)address = value; }
/*-------------------------------------------------------------------------*/ static void set_StrListField( Widget w, XtPointer address, XrmQuark type, Cardinal size ) { lList *list = NULL; String str = NULL; static char buf[100 * BUFSIZ]; lListElem *ep = NULL; /* * Here special Qmon Quarks are used. Does it work ? */ if (type != QmonQENV_Type && type != QmonQST_Type && type != QmonQRN_Type && type != QmonQTRN_Type && type != QmonQPN_Type && type != QmonQMR_Type && type != QmonQQR_Type && type != QmonQJRE_Type && type != QmonQCTX_Type && type != QmonQPE_Type && type != QmonQARA_Type) { XmtWarningMsg("XmtDialogSetDialogValues", "StrListField", "Type Mismatch: Widget '%s':\n\tCan't set widget values" " from a resource of type '%s'.", XtName(w), XrmQuarkToString(type)); return; } buf[0] = '\0'; if (size == sizeof(lList*) || size == sizeof(String)) { if (type == QmonQPE_Type) str = *(String*) address; else list = *(lList**) address; } else return; if (type == QmonQENV_Type || type == QmonQCTX_Type) { str = write_pair_list(list, VARIABLE_TYPE); } if (type == QmonQST_Type) { int first_time = 1; strcpy(buf, ""); for_each(ep, list) { if (first_time) { strcpy(buf, lGetString(ep, ST_name)); first_time = 0; } else snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), " %s", lGetString(ep, ST_name)); } str = buf; }
void print_space_windows(Space *s) { #ifdef DEBUG WorkWindowList *w_list; if (s!= NULL) { w_list = s->w_list; while (w_list != NULL) { PRINT("SPACE %s WINDOW 0x%X %s\n", XrmQuarkToString(s->nameq), w_list->work_win->window, XrmQuarkToString(w_list->work_win->specifier_qlist[0])); w_list = w_list->next; } } else PRINT("NULL space\n"); #endif }
void print_values(XrmValue *attr_values,XrmQuarkList attrib_qlist,XrmQuark room, int num_attrib) { #ifdef DEBUG2 int q; for (q = 0; q < num_attrib; q++) { if (attr_values[q].size != 0) PRINT(" v: %s %s : %s \n", XrmQuarkToString(room), XrmQuarkToString(attrib_qlist[q]), (char*)attr_values[q].addr); else PRINT(" v: %s %s : NOT FOUND \n", XrmQuarkToString(room), XrmQuarkToString(attrib_qlist[q])); } #endif }
void print_all_windows() { #ifdef DEBUG WorkWindow *w_window = work_windows; while (w_window != NULL) { PRINT("WINDOW 0x%X %s\n", w_window->window, XrmQuarkToString(w_window->specifier_qlist[0])); w_window = w_window->next; } #endif }
static Bool EnumDatabase(XrmDatabase *db, XrmBindingList bindings, XrmQuarkList quarks, XrmRepresentation *type, XrmValue *value, XPointer closure) { char *res = XrmQuarkToString(quarks[1]); if (res) { option = module_options->option; while (option->name) { if (strcasecmp(option->name, res) == 0) return (False); ++option; } CheckMsg(CHECKER_OPTION_UNUSED, "WARNING %s.%s is not used\n", XrmQuarkToString(quarks[0]), res); ++error_level; } return (False); }
void print_request(WSMRequest *request) { #ifdef DEBUG2 int p,q,i; Window window; WorkWindow *w_window; PRINT("\nREQUEST:\n"); if (request->any.type == WSM_SET_STATE) { PRINT("num_win_info_list = %d\n",request->set_state.num_win_info_list); for (p = 0; p < request->set_state.num_win_info_list; p++) { window = request->set_state.win_info_list[p].window; w_window = GetWorkWindow(window); PRINT(" %d ",window); if ( _WSMGetConfigFormatType(window) == WSM_ICON_FMT) PRINT(" ICON "); else if ( _WSMGetConfigFormatType(window) == WSM_WINDOW_FMT) PRINT(" WINDOW "); else if ( _WSMGetConfigFormatType(window) == WSM_GLOBAL_FMT) PRINT(" GLOBAL "); if (w_window != NULL) { for (i = 0; w_window->specifier_qlist[i] != NULLQUARK; i++) PRINT("%s.", XrmQuarkToString(w_window->specifier_qlist[i])); } PRINT("\n"); for (q = 0; q < request->set_state.win_info_list[p].num_data_list; q++) { PRINT(" %s %d\n", XrmQuarkToString(request->set_state.win_info_list[p].data_list[q].nameq), request->set_state.win_info_list[p].data_list[q].data.value); } } } PRINT("\n"); #endif }
static void BadSize( Cardinal size, XrmQuark name) { String params[2]; Cardinal num_params = 2; params[0] = (String)(long) size; params[1] = XrmQuarkToString(name); XtWarningMsg("invalidSizeOverride", "xtDependencies", XtCXtToolkitError, "Representation size %d must match superclass's to override %s", params, &num_params); } /* BadType */
static MessageData PackSingleAttribute(MessageData data, WSMAttribute *attr_list, int num) { register int i; data = PackListNum(data, num); for (i = 0; i < num; i++, attr_list++) { data = PackString(data, XrmQuarkToString(attr_list->nameq)); data = PackCARD8(data, (CARD8) attr_list->size); data = PackBoolean(data, attr_list->is_list); } return(data); }
/* * XmeTraitGet finds out whether or not a given object has installed a given * trait. If it has installed, a pointer to the associated trait record is * returned, otherwise the result is NULL. * * object the object (a widget class) that you are inquiring about. * trait the trait name. */ extern XtPointer XmeTraitGet(XtPointer obj, XrmQuark trait) { int i, j; WidgetClass super; if (obj == NULL || trait == 0) { DEBUGOUT(_LtDebug(__FILE__, NULL, "XmeTraitGet(NULL)\n")); _XmInitTraits(); return NULL; } DEBUGOUT(_LtDebug(__FILE__, NULL, "XmeTraitGet(%s,%s)\n", ((WidgetClass)obj)->core_class.class_name, XrmQuarkToString(trait))); for (i=0; i<_num_traits; i++) { if (_traits[i].wc == (WidgetClass)obj) { for (j=0; _traits[i].traits[j].trait && j<_traits[i].num; j++) if (_traits[i].traits[j].trait == trait) { /* We may have a removed trait here, * search superclass for it */ if (_traits[i].traits[j].traitrec == NULL) { super = XtSuperclass(obj); return XmeTraitGet((XtPointer)super, trait); } return _traits[i].traits[j].traitrec; } /* Not found, look in the superclass */ #if 1 /* Sometimes XtSuperclass doesn't work. */ /* Use its expansion instead */ super = ((WidgetClass)obj)->core_class.superclass; #else super = XtSuperclass(obj); #endif return XmeTraitGet((XtPointer)super, trait); /* Never reached */ } } /* Widget Class not found */ return NULL; }
/* for debugging purposes only - as the name indicates */ extern void _LtDebugTraitReport(void) { int i, j; XrmQuark q; for (i=0; i<_num_traits; i++) { fprintf(stderr, "Widget class '%s'\n", _traits[i].wc->core_class.class_name); for (j=0; _traits[i].traits[j].trait && j<_traits[i].num; j++) { q = _traits[i].traits[j].trait; fprintf(stderr, "\t\t%s\n", XrmQuarkToString(q)); } } }
void print_internal_win_data( WSMWinData *xrm_data_list, int num_xrm_data_list) { #ifdef DEBUG int p; for (p = 0; p < num_xrm_data_list; p++) { PRINT("I: %s %ld\n", XrmQuarkToString(xrm_data_list[p].nameq), xrm_data_list[p].data.value); } #endif }
/*-------------------------------------------------------------------------*/ void qmonListTimerProc( XtPointer cld, XtIntervalId *id ) { tTimer *td = (tTimer *)cld; tUpdateRec *uproc; int i; u_long32 selector = 0; DENTER(GUI_LAYER, "qmonListTimerProc"); /* ** first we fetch all lists and then we call the update procs */ for (i=0; i<XtNumber(QmonListTimer); i++) { if (QmonListTimer[i].timercount > 0 && QmonListTimer[i].fetch == 0) { selector |= (1<<i); } } qmonMirrorMulti(selector); /* ** call the registered update procs and reset fetch */ for (i=0; i<XtNumber(QmonListTimer); i++) { if (QmonListTimer[i].timercount > 0 && QmonListTimer[i].fetch == 0) { DPRINTF(("Update for %s\n", sge_gdi_list_timers[i])); QmonListTimer[i].fetch = QmonListTimer[i].fetch_frequency; for (uproc = QmonListTimer[i].update_proc_list; uproc; uproc = uproc->next) { DPRINTF(("Update proc %s called\n", XrmQuarkToString(uproc->id))); uproc->proc(); } } else { QmonListTimer[i].fetch--; } } /* ** keep the timer running */ td->timerid = XtAppAddTimeOut(td->timerapp, td->timeout, td->timerproc, td ); DEXIT; }
void print_window(WorkWindow *w_window) { #ifdef DEBUG2 int p; PRINT("\nWINDOW %d = ",w_window->window); for (p = 0; w_window->specifier_qlist[p] != NULLQUARK; p++) PRINT("%s.", XrmQuarkToString(w_window->specifier_qlist[p])); PRINT("\n"); if (w_window->mapped) PRINT("mapped\n"); else PRINT("unmapped\n"); #endif }
void print_all_values(XrmValue **attr_values,XrmQuarkList attrib_qlist,XrmQuarkList rooms_qlist, int num_attrib) { #ifdef DEBUG int p,q; for (p = 0; rooms_qlist[p] != NULLQUARK; p++) { for (q = 0; q < num_attrib; q++) { if (attr_values[p][q].size != 0) PRINT("%s %s : %s \n", XrmQuarkToString(rooms_qlist[p]), XrmQuarkToString(attrib_qlist[q]), (char*)attr_values[p][q].addr); else { PRINT("%s %s : NOT FOUND \n", XrmQuarkToString(rooms_qlist[p]), XrmQuarkToString(attrib_qlist[q])); } } } #endif }
/*-------------------------------------------------------------------------*/ static void get_StringList( Widget w, XtPointer address, XrmQuark type, Cardinal size ) { lList *lp = NULL; /* * Here special Qmon Quarks are used. Does it work ? */ if (type != QmonQUS_Type && type != QmonQMR_Type && type != QmonQPR_Type && type != QmonQSTR_Type && type != QmonQSTU_Type && type != QmonQHR_Type) { XmtWarningMsg("XmtDialogSetDialogValues", "XbaeMatrix", "Type Mismatch: Widget '%s':\n\tCan't get widget values" " from a resource of type '%s'", XtName(w), XrmQuarkToString(type)); return; } if (type == QmonQUS_Type) { lp = XmStringToCull(w, US_Type, US_name, ALL_ITEMS); } if (type == QmonQPR_Type) { lp = XmStringToCull(w, PR_Type, PR_name, ALL_ITEMS); } if (type == QmonQMR_Type) { lp = XmStringToCull(w, MR_Type, MR_user, ALL_ITEMS); } if (type == QmonQSTR_Type) { lp = XmStringToCull(w, ST_Type, ST_name, ALL_ITEMS); } if (type == QmonQSTU_Type) { lp = XmStringToCull(w, STU_Type, STU_name, ALL_ITEMS); } if (type == QmonQHR_Type) { lp = XmStringToCull(w, HR_Type, HR_name, ALL_ITEMS); } *(lList**)address = lp; }
/*-------------------------------------------------------------------------*/ static void get_2xN( Widget w, XtPointer address, XrmQuark type, Cardinal size ) { lList *lp = NULL; if (type != QmonQVA_Type && type != QmonQCE2_Type && type != QmonQHS_Type && type != QmonQMR_Type && type != QmonQPN_Type && type != QmonQAT_Type && type != QmonQSO_Type && type != QmonQUA_Type) { XmtWarningMsg("XmtDialogGetDialogValues", "XbaeMatrix", "Type Mismatch: Widget '%s':\n\tCan't get widget values" " from a resource of type '%s'", XtName(w), XrmQuarkToString(type)); return; } if (type == QmonQVA_Type) lp = qmonGet2xN(w, VA_Type, VA_variable, VA_value); else if ( type == QmonQCE2_Type ) lp = qmonGet2xN(w, CE_Type, CE_name, CE_stringval); else if ( type == QmonQHS_Type ) lp = qmonGet2xN(w, HS_Type, HS_name, HS_value); else if ( type == QmonQMR_Type ) lp = qmonGet2xN(w, MR_Type, MR_user, MR_host); else if ( type == QmonQPN_Type ) lp = qmonGet2xN(w, PN_Type, PN_path, PN_host); else if ( type == QmonQAT_Type ) lp = qmonGet2xN(w, AT_Type, AT_account, AT_cell); else if ( type == QmonQSO_Type ) lp = qmonGet2xN(w, SO_Type, SO_name, SO_threshold); else if ( type == QmonQUA_Type ) lp = qmonGet2xN(w, UA_Type, UA_name, UA_value); #if 0 /* * AA-2009-02-12 * leads to crash reverting memory leak fix in qmon_qaction.c */ if (*(lList**)address != NULL) { lFreeList((lList**)address); } #endif *(lList**)address = lp; }
/* stolen from Xlib Xrm.c */ static void PrintBindingQuarkList(XrmBindingList bindings, XrmQuarkList quarks, FILE* stream) { Bool firstNameSeen; for (firstNameSeen = False; *quarks; bindings++, quarks++) { if (*bindings == XrmBindLoosely) { (void) fprintf(stream, "*"); } else if (firstNameSeen) { (void) fprintf(stream, "."); } firstNameSeen = True; (void) fputs(XrmQuarkToString(*quarks), stream); } }
static Bool _fillStringArrayProc(XrmDatabase *clientDB, XrmBindingList bindingList, XrmQuarkList quarkList, XrmRepresentation *reps, XrmValue *value, XPointer uData) { char **stringsPtr = (char **)uData; char *indexStr; /* Our index into this string array is at quarkList[2]. */ if ((indexStr = XrmQuarkToString(quarkList[2])) == (char *)NULL) return True; if ((stringsPtr[atoi(indexStr)] = XtNewString((char *)value->addr)) == (char *)NULL) return True; return FALSE; }
void print_win_data( WSMWinData *xrm_data_list, int num_xrm_data_list) { int p; #ifdef DEBUG2 if (num_xrm_data_list == 0) PRINT("D: no data \n"); else { for (p = 0; p < num_xrm_data_list; p++) { PRINT("D: %s %ld\n", XrmQuarkToString(xrm_data_list[p].nameq), xrm_data_list[p].data.value); } } #endif }
void print_reply(WSMReply *reply) { #ifdef DEBUG2 int q; PRINT("\n"); if (reply->any.type == WSM_REG_WINDOW) { PRINT("REPLY WSM_REG_WINDOW\n"); for (q = 0; q < reply->register_window.num_window_data; q++) { PRINT(" %s %d\n", XrmQuarkToString(reply->register_window.window_data[q].nameq), reply->register_window.window_data[q].data.value); } } #endif }
static void VerbosePass1(Widget w, int level) { int i; if (level == 0) G_width = 0; int new_width = (level * 3) + strlen(XrmQuarkToString(w->core.xrm_name)) + strlen(w->core.widget_class->core_class.class_name) + 3; if (new_width > G_width) G_width = new_width; if (XtIsWidget(w)) for (i = 0; i < w->core.num_popups; i++) VerbosePass1(w->core.popup_list[i], level + 1); if (XtIsComposite(w)) { CompositeWidget cw = (CompositeWidget) w; for (i = 0; i < cw->composite.num_children; i++) VerbosePass1(cw->composite.children[i], level + 1); } }
/*-------------------------------------------------------------------------*/ static void set_Ulong32Field( Widget w, XtPointer address, XrmQuark type, Cardinal size ) { static char buf[BUFSIZ]; if (type != QmonQUlong32) { XmtWarningMsg("XmtDialogSetDialogValues", "Ulong32Field", "Type Mismatch: Widget '%s':\n\tCan't set widget values" " from a resource of type '%s'.", XtName(w), XrmQuarkToString(type)); } (void)sprintf(buf, "%u", *(unsigned int *)address); XmtInputFieldSetString(w, buf); }
/*-------------------------------------------------------------------------*/ static void set_2xN( Widget w, XtPointer address, XrmQuark type, Cardinal size ) { lList *lp = NULL; if (type != QmonQVA_Type && type != QmonQCE2_Type && type != QmonQHS_Type && type != QmonQMR_Type && type != QmonQPN_Type && type != QmonQAT_Type && type != QmonQSO_Type && type != QmonQUA_Type) { XmtWarningMsg("XmtDialogSetDialogValues", "XbaeMatrix", "Type Mismatch: Widget '%s':\n\tCan't set widget values" " from a resource of type '%s'", XtName(w), XrmQuarkToString(type)); return; } if (size == sizeof(lList*)) lp = *(lList**) address; else return; if (type == QmonQVA_Type) qmonSet2xN(w, lp, VA_variable, VA_value); else if ( type == QmonQCE2_Type ) qmonSet2xN(w, lp, CE_name, CE_stringval); else if ( type == QmonQHS_Type ) qmonSet2xN(w, lp, HS_name, HS_value); else if ( type == QmonQMR_Type ) qmonSet2xN(w, lp, MR_user, MR_host); else if ( type == QmonQPN_Type ) qmonSet2xN(w, lp, PN_path, PN_host); else if ( type == QmonQAT_Type ) qmonSet2xN(w, lp, AT_account, AT_cell); else if ( type == QmonQSO_Type ) qmonSet2xN(w, lp, SO_name, SO_threshold); else if ( type == QmonQUA_Type ) qmonSet2xN(w, lp, UA_name, UA_value); }