[Xmblackberry-devel] XmBlackBerry view.c,1.8,1.9
Status: Beta
Brought to you by:
rwscott
From: Rick S. <rw...@us...> - 2006-12-06 20:00:00
|
Update of /cvsroot/xmblackberry/XmBlackBerry In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv19670 Modified Files: view.c Log Message: Field values are now showing. Horrendously slow right now :( Index: view.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/view.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** view.c 6 Dec 2006 11:37:46 -0000 1.8 --- view.c 6 Dec 2006 19:59:52 -0000 1.9 *************** *** 51,62 **** Widget text; Widget form; ! printf("\ttype %i size %i\n", field->type, field->size); form = XmCreateForm(parent, "form", NULL, 0); text = XmCreateScrolledText(form, "record", NULL, 0); XtVaSetValues(XtParent(text), ! XmNleftAttachment, XmATTACH_FORM, ! XmNleftOffset, 28, NULL); XtManageChild(text); XtManageChild(form); --- 51,100 ---- Widget text; Widget form; + Widget label; + char label_name[3]; + int i; + int pos; + char buf[4]; + char *data = (char *)field->data; + char *sep = ""; + int rows; ! snprintf(label_name, sizeof(label_name), "%02x", field->type); form = XmCreateForm(parent, "form", NULL, 0); + label = XmVaCreateLabel(form, label_name, + XmNleftAttachment, XmATTACH_FORM, + XmNtopAttachment, XmATTACH_FORM, + NULL); text = XmCreateScrolledText(form, "record", NULL, 0); XtVaSetValues(XtParent(text), ! XmNleftAttachment, XmATTACH_WIDGET, ! XmNleftWidget, label, ! XmNrightAttachment, XmATTACH_FORM, ! XmNleftOffset, 0, NULL); + for (pos = 0, i = 0; i < field->size; i++) + { + snprintf(&buf[pos], sizeof(buf), "%s%02x", sep, data[i] & 0xff); + XmTextInsert(text, XmTextGetLastPosition(text), buf); + if ( (i + 1) % 16 == 0) + { + sep = "\n"; + } + else + { + sep = " "; + } + } + XmTextSetInsertionPosition(text, 0); + rows = (field->size / 17) + 1; + if (rows < 8) + { + XtUnmanageChild(XtNameToWidget(XtParent(text), "*VertScrollBar")); + } + XtUnmanageChild(XtNameToWidget(XtParent(text), "*HorScrollBar")); + XtVaSetValues(text, + XmNrows, (field->size / 17) + 1 < 8 ? (field->size / 17) + 1 : 8, + NULL); + XtManageChild(label); XtManageChild(text); XtManageChild(form); *************** *** 108,112 **** NULL); rc = XmCreateRowColumn(sw, "rc", NULL, 0); - printf("%i fields\n", ListLength(fields)); while ((field = ListPeekNext(fields, field))) { --- 146,149 ---- *************** *** 121,125 **** Create all the fields in a record */ ! static void CreateRecord(readInfo_t *info) { --- 158,162 ---- Create all the fields in a record */ ! static Widget CreateRecord(readInfo_t *info) { *************** *** 239,242 **** --- 276,280 ---- XtManageChild(fields); XtManageChild(form); + return(form); } *************** *** 261,269 **** CreateRecord(info); info->num++; - /* - XtVaSetValues(info->notebook, - XmNlastPageNumber, info->num, - NULL); - */ ret = 1; } --- 299,302 ---- *************** *** 274,277 **** --- 307,311 ---- info->name, info->num, info->num == 1 ? "" : "s"); + XtManageChild(info->notebook); XtFree(info->name); XtFree((char *)info); *************** *** 290,293 **** --- 324,335 ---- cbs->page_number, cbs->prev_page_number); + if (cbs->page_widget) + { + XtManageChild(cbs->page_widget); + } + if (cbs->prev_page_widget) + { + XtManageChild(cbs->prev_page_widget); + } } *************** *** 317,327 **** info = XtNew(readInfo_t); info->notebook = XtNameToWidget(dialog, "*Notebook"); - #if 0 - XtVaSetValues(info->notebook, - XmNcurrentPageNumber, 1, - XmNfirstPageNumber, 1, - XmNlastPageNumber, 1, - NULL); - #endif info->name = XtNewString(name); info->records = get_database_records(device->database_table, get_database_index(device->database_table, info->name)); --- 359,362 ---- |