int main(int argc, char **argv) { Widget toplevel, widget, bb, list; XtAppContext app; XmString item; XtSetLanguageProc(NULL, NULL, NULL); toplevel = XtVaAppInitialize(&app, "ComBox", NULL, 0, &argc, argv, NULL, NULL); bb = XmCreateBulletinBoard(toplevel, "bb", NULL, 0); XtManageChild(bb); widget = XmCreateComboBox(bb, "widget", NULL, 0); /* use list routine to add items */ list = CB_List(widget); item = XmStringCreateSimple("Item 1"); XmListAddItem(list,item,0); item = XmStringCreateSimple("Item 2"); XmListAddItem(list,item,0); item = XmStringCreateSimple("Item 3"); XmListAddItem(list,item,0); item = XmStringCreateSimple("Item 4"); XmListAddItem(list,item,0); item = XmStringCreateSimple("Item 5"); XmListAddItem(list,item,0); XmComboBoxUpdate(widget); XtManageChild(widget); XtRealizeWidget(toplevel); check_geometry(widget); LessTifTestMainLoop(toplevel); exit(0); }
Widget XmCreateComboBox_TNK(Widget parent, String name, ArgList arglist,Cardinal argcount) { return XmCreateComboBox(parent, name, arglist, argcount);}
/*+++++++++++++++++++++++++++++++++++++++*/ static Widget BuildI18nDlg( Widget shell ) { register int i, n; Arg args[MAX_ARGS]; XmString button_string[NUM_LABELS]; XmString string; Widget form; Widget inputMethodForm; Widget imStartModeForm; Widget preeditTypeForm; int count = 0; Widget widgetList1[6]; /* get i18n resource values */ /* Set up DialogBoxDialog button labels */ button_string[0] = CMPSTR((String) _DtOkString); button_string[1] = CMPSTR((String) _DtCancelString); button_string[2] = CMPSTR((String) _DtHelpString); /* Create toplevel DialogBox */ /* Initialize the i18n structure */ i18n.pictLabel = NULL; i18n.systemDefault = NULL; i18n.inputMethodTB = NULL; i18n.serverHostLabel = NULL; i18n.serverHostCB = NULL; i18n.inputMethodLabel = NULL; i18n.inputMethodRC = NULL; i18n.imStartModeTB = NULL; i18n.imStartModeRC = NULL; i18n.askAtLoginTG = NULL; i18n.resumeCurrentImTG = NULL; i18n.preeditTypeTB = NULL; i18n.preeditTypeList = NULL; i18n.buttonMoveUp = NULL; i18n.buttonMoveDown = NULL; i18n.warnDialog = NULL; /* saveRestore * Note that save.poscnt has been initialized elsewhere. * save.posArgs may contain information from restoreBeep().*/ XtSetArg(save.posArgs[save.poscnt], XmNbuttonCount, NUM_LABELS); save.poscnt++; XtSetArg(save.posArgs[save.poscnt], XmNbuttonLabelStrings, button_string); save.poscnt++; XtSetArg(save.posArgs[save.poscnt], XmNdefaultPosition, False); save.poscnt++; style.i18nDialog = __DtCreateDialogBoxDialog(shell, "i18nDialog", save.posArgs, save.poscnt); XtAddCallback(style.i18nDialog, XmNhelpCallback, (XtCallbackProc)HelpRequestCB, (XtPointer)HELP_I18N_DIALOG); XmStringFree(button_string[0]); XmStringFree(button_string[1]); XmStringFree(button_string[2]); widgetList1[0] = _DtDialogBoxGetButton(style.i18nDialog,2); n=0; XtSetArg(args[n], XmNautoUnmanage, False); n++; XtSetArg(args[n], XmNcancelButton, widgetList1[0]); n++; XtSetValues (style.i18nDialog, args, n); n=0; XtSetArg(args[n], XmNtitle, ((char *)GETMESSAGE(19, 1, "Style Manager - Internationalization"))); n++; XtSetArg (args[n], XmNuseAsyncGeometry, True); n++; XtSetArg(args[n], XmNmwmFunctions, DIALOG_MWM_FUNC); n++; XtSetValues (XtParent(style.i18nDialog), args, n); n = 0; XtSetArg(args[n], XmNallowOverlap, False); n++; XtSetArg(args[n], XmNchildType, XmWORK_AREA); n++; form = XmCreateForm(style.i18nDialog, "i18nForm", args, n); n = 0; XtSetArg(args[n], XmNfillMode, XmFILL_SELF); n++; XtSetArg(args[n], XmNbehavior, XmICON_LABEL); n++; XtSetArg(args[n], XmNpixmapForeground, style.secBSCol); n++; XtSetArg(args[n], XmNpixmapBackground, style.secTSCol); n++; XtSetArg(args[n], XmNstring, NULL); n++; XtSetArg(args[n], XmNshadowThickness, 0); n++; XtSetArg(args[n], XmNimageName, I18N_ICON); n++; XtSetArg(args[n], XmNtraversalOn, False); n++; widgetList1[count++] = i18n.pictLabel = _DtCreateIcon(form, "i18npictLabel", args, n); n = 0; XtSetArg(args[n], XmNmarginHeight, LB_MARGIN_HEIGHT); n++; XtSetArg(args[n], XmNmarginWidth, LB_MARGIN_WIDTH); n++; string = CMPSTR(((char *)GETMESSAGE(19, 2, "Default"))); XtSetArg(args[n], XmNlabelString, string); n++; widgetList1[count++] = i18n.systemDefault = XmCreatePushButtonGadget(form, "systemDefault", args, n); XmStringFree(string); n = 0; string = CMPSTR((char *)GETMESSAGE(19, 3, "Input Method")); XtSetArg(args[n], XmNtitleString, string); n++; widgetList1[count++] = i18n.inputMethodTB = _DtCreateTitleBox(form, "inputMethodTB", args, n); XmStringFree(string); n = 0; XtSetArg(args[n], XmNallowOverlap, False); n++; XtSetArg(args[n], XmNchildType, XmWORK_AREA); n++; inputMethodForm = XmCreateForm(i18n.inputMethodTB, "inputMethodForm", args, n); n = 0; string = CMPSTR((char *)GETMESSAGE(19, 4, "Input Method Start Mode")); XtSetArg(args[n], XmNtitleString, string); n++; widgetList1[count++] = i18n.imStartModeTB = _DtCreateTitleBox(form, "imStartModeTB", args, n); XmStringFree(string); n = 0; XtSetArg(args[n], XmNallowOverlap, False); n++; XtSetArg(args[n], XmNchildType, XmWORK_AREA); n++; imStartModeForm = XmCreateForm(i18n.imStartModeTB, "imStartModeForm", args, n); n = 0; string = CMPSTR((char *)GETMESSAGE(19, 5, "Preedit Type")); XtSetArg(args[n], XmNtitleString, string); n++; widgetList1[count++] = i18n.preeditTypeTB = _DtCreateTitleBox(form, "preeditTypeTB", args, n); XmStringFree(string); n = 0; XtSetArg(args[n], XmNallowOverlap, False); n++; XtSetArg(args[n], XmNchildType, XmWORK_AREA); n++; preeditTypeForm = XmCreateForm(i18n.preeditTypeTB, "preeditTypeForm", args, n); /* Create widgets inside the inputMethodForm */ n = 0; string = CMPSTR((char *)GETMESSAGE(19, 6, "Server Host :")); XtSetArg(args[n], XmNlabelString, string); n++; i18n.serverHostLabel = XmCreateLabelGadget(inputMethodForm, "serverHostLabel", args, n); n = 0; XtSetArg(args[n], XmNcomboBoxType, XmDROP_DOWN_COMBO_BOX); n++; i18n.serverHostCB = (Widget) (intptr_t) XmCreateComboBox(inputMethodForm, "serverHostCB", args, n); XtAddCallback(XtNameToWidget(i18n.serverHostCB, "Text"), XmNactivateCallback, ServerHostCB, NULL); XtAddCallback(XtNameToWidget(i18n.serverHostCB, "Text"), XmNfocusCallback, TextFocusCB, NULL); XtAddCallback(XtNameToWidget(i18n.serverHostCB, "Text"), XmNlosingFocusCallback, TextLosingFocusCB, NULL); n = 0; string = CMPSTR((char *)GETMESSAGE(19, 7, "Input Method")); XtSetArg(args[n], XmNlabelString, string); n++; i18n.inputMethodLabel = XmCreateLabelGadget(inputMethodForm, "inputMethodLabel", args, n); n = 0; XtSetArg(args[n], XmNmarginWidth, LB_MARGIN_WIDTH); n++; XtSetArg(args[n], XmNmarginHeight, LB_MARGIN_HEIGHT); n++; i18n.inputMethodRC = XmCreateRadioBox(inputMethodForm, "inputMethodRC", args, n); /* Create widgets inside the imStartModeForm */ n = 0; XtSetArg(args[n], XmNmarginWidth, 0); n++; XtSetArg(args[n], XmNmarginHeight, 0); n++; i18n.imStartModeRC = XmCreateRadioBox(imStartModeForm, "imStartModeRC", args, n); n = 0; string = CMPSTR((char *)GETMESSAGE(19, 8, "Ask at login")); XtSetArg(args[n], XmNlabelString, string); n++; i18n.askAtLoginTG = XmCreateToggleButtonGadget(i18n.imStartModeRC, "askAtLoginTG", args, n); XmStringFree(string); n = 0; string = CMPSTR((char *)GETMESSAGE(19, 9, "Resume Current Input Method")); XtSetArg(args[n], XmNlabelString, string); n++; i18n.resumeCurrentImTG = XmCreateToggleButtonGadget(i18n.imStartModeRC, "resumeCurrentImTG", args, n); XmStringFree(string); /* Create widgets inside the preeditTypeForm */ n = 0; XtSetArg(args[n], XmNselectionPolicy, XmBROWSE_SELECT); n++; i18n.preeditTypeList = (Widget) (intptr_t) XmCreateList(preeditTypeForm, "preeditTypeList", args, n); n = 0; string = CMPSTR((char *)GETMESSAGE(19, 10, "Move Up")); XtSetArg(args[n], XmNlabelString, string); n++; XtSetArg(args[n], XmNsensitive, False); n++; i18n.buttonMoveUp = XmCreatePushButtonGadget(preeditTypeForm, "buttonMoveUp", args, n); XmStringFree(string); n = 0; string = CMPSTR((char *)GETMESSAGE(19, 11, "Move Down")); XtSetArg(args[n], XmNlabelString, string); n++; XtSetArg(args[n], XmNsensitive, False); n++; i18n.buttonMoveDown = XmCreatePushButtonGadget(preeditTypeForm, "buttonMoveDown", args, n); XmStringFree(string); XtAddCallback(style.i18nDialog, XmNmapCallback, FormLayoutCB, NULL); XtAddCallback(style.i18nDialog, XmNmapCallback, MapCB, shell); XtAddCallback(style.i18nDialog, XmNcallback, ButtonCB, NULL); XtAddCallback(i18n.systemDefault, XmNactivateCallback, SystemDefaultCB, NULL); XtAddCallback(i18n.preeditTypeList, XmNbrowseSelectionCallback, ListItemSelectCB, NULL); XtAddCallback(i18n.buttonMoveUp, XmNactivateCallback, MoveUpCB, NULL); XtAddCallback(i18n.buttonMoveDown, XmNactivateCallback, MoveDownCB, NULL); XtManageChild(form); XtManageChildren(widgetList1,count); XtManageChild(inputMethodForm); XtManageChild(imStartModeForm); XtManageChild(preeditTypeForm); XtManageChild(i18n.serverHostLabel); XtManageChild(i18n.serverHostCB); XtManageChild(i18n.inputMethodLabel); XtManageChild(i18n.inputMethodRC); XtManageChild(i18n.imStartModeRC); XtManageChild(i18n.askAtLoginTG); XtManageChild(i18n.resumeCurrentImTG); XtManageChild(i18n.preeditTypeList); XtManageChild(i18n.buttonMoveUp); XtManageChild(i18n.buttonMoveDown); return(style.i18nDialog); }
void main (int argc, char **argv) { Widget Parent; Widget ComboBox; int n,i; Arg args[MAX_ARGS]; XmString TempLabelString, ItemList[NITEMS]; static char *CharItems[] = { "Item1", "btest1", "btest1b", "btest2", "btest3", "decor00", "decor01", "decor02", "decor03", "decor04", "decor05", "decor06", "decor07", "decor08", "decor09", "func00", "func01", "func02", "func03", "func04", "func05", "func06", "func07", "func08", "func09", "func10", "func11", "func12", "func13", "func14", "iplac00", "iplac01", "iplac02", "iplac05", "menu00", "menu04", "mtest1", "parse00", "prop00", "rstest1" }; CommonTestInit(argc, argv); /* Create a ComboBox */ if (UserData == NULL) { printf ("Usage: ComboBox4 -u <comboBoxType>\n"); exit(0); } n=0; Parent = XmCreateFrame (Shell1, "Parent",args,n); XtManageChild (Parent); /* Set the comboBoxType of ComboBox based on the flag passed by the user. */ n=0; if (strcmp (UserData, "COMBO_BOX") == 0) { XtSetArg(args[n], XmNcomboBoxType, XmCOMBO_BOX); n++; } else if (strcmp (UserData, "DROP_DOWN_COMBO_BOX") == 0) { XtSetArg(args[n], XmNcomboBoxType, XmDROP_DOWN_COMBO_BOX); n++; } if (strcmp (UserData, "DROP_DOWN_LIST") == 0) { XtSetArg(args[n], XmNcomboBoxType, XmDROP_DOWN_LIST); n++; } ComboBox = XmCreateComboBox (Parent, "ComboBox", args, n); XtManageChild (ComboBox); XtRealizeWidget (Shell1); /* Create the list */ for (i=0; i<NITEMS; i++) { TempLabelString = XmStringCreate(CharItems[i], XmSTRING_DEFAULT_CHARSET); ItemList[i] = TempLabelString; } /* Set values on the List Component of the ComboBox. */ n = 0; XtSetArg(args[n], XmNlistSpacing, 5); n++; XtSetArg(args[n], XmNlistMarginWidth, 2); n++; XtSetArg(args[n], XmNlistMarginHeight, 2); n++; XtSetArg(args[n], XmNitems, ItemList); n++; XtSetArg(args[n], XmNitemCount, NITEMS); n++; XtSetArg(args[n], XmNvisibleItemCount, VITEMS); n++; if (XtNameToWidget (ComboBox,"*List") != NULL) XtSetValues (XtNameToWidget(ComboBox,"*List"),args,n); CommonPause(); n = 0; XtSetArg(args[n], XmNautoShowCursorPosition, True); n++; XtSetArg(args[n], XmNcursorPosition, 5); n++; XtSetArg(args[n], XmNeditMode, XmSINGLE_LINE_EDIT); n++; XtSetArg(args[n], XmNmarginHeight, 20); n++; XtSetArg(args[n], XmNmarginWidth, 20); n++; XtSetArg (args[n], XmNresizeWidth, True); n++; XtSetValues (XtNameToWidget(ComboBox,"Text"),args,n); CommonPause(); /* Add an Item */ TempLabelString = XmStringCreate ("ExtraItem", XmSTRING_DEFAULT_CHARSET); XmListAddItem (XtNameToWidget(ComboBox,"*List"), TempLabelString, NITEMS+1); XmStringFree (TempLabelString); CommonPause(); /* Test for XmComboBoxUpdate */ TempLabelString = XmStringCreate ("Item1", XmSTRING_DEFAULT_CHARSET); XmListSelectItem (XtNameToWidget(ComboBox,"*List"), TempLabelString,False); XmComboBoxUpdate (ComboBox); XmStringFree (TempLabelString); CommonPause(); CommonPause(); XtAppMainLoop(app_context); }