| 737 | } |
| 738 | |
| 739 | static Widget |
| 740 | X11_create_player_selection_name(Widget form) |
| 741 | { |
| 742 | Widget namelabel, name_vp, name_form; |
| 743 | Arg args[10]; |
| 744 | Cardinal num_args; |
| 745 | |
| 746 | /* name viewport */ |
| 747 | num_args = 0; |
| 748 | XtSetArg(args[num_args], nhStr(XtNtop), XtChainTop); num_args++; |
| 749 | XtSetArg(args[num_args], nhStr(XtNleft), XtChainLeft); num_args++; |
| 750 | XtSetArg(args[num_args], nhStr(XtNright), XtChainRight); num_args++; |
| 751 | XtSetArg(args[num_args], XtNforceBars, False); num_args++; |
| 752 | XtSetArg(args[num_args], XtNallowVert, False); num_args++; |
| 753 | XtSetArg(args[num_args], XtNallowHoriz, False); num_args++; |
| 754 | name_vp = XtCreateManagedWidget("name_vp", viewportWidgetClass, form, |
| 755 | args, num_args); |
| 756 | |
| 757 | num_args = 0; |
| 758 | XtSetArg(args[num_args], nhStr(XtNtop), XtChainTop); num_args++; |
| 759 | XtSetArg(args[num_args], nhStr(XtNleft), XtChainLeft); num_args++; |
| 760 | XtSetArg(args[num_args], nhStr(XtNright), XtChainRight); num_args++; |
| 761 | name_form = XtCreateManagedWidget("name_form", formWidgetClass, name_vp, |
| 762 | args, num_args); |
| 763 | |
| 764 | num_args = 0; |
| 765 | XtSetArg(args[num_args], nhStr(XtNleft), XtChainLeft); num_args++; |
| 766 | XtSetArg(args[num_args], nhStr(XtNright), XtChainLeft); num_args++; |
| 767 | XtSetArg(args[num_args], nhStr(XtNlabel), "Name"); num_args++; |
| 768 | XtSetArg(args[num_args], nhStr(XtNjustify), XtJustifyLeft); num_args++; |
| 769 | |
| 770 | namelabel = XtCreateManagedWidget("name_label", |
| 771 | labelWidgetClass, name_form, |
| 772 | args, num_args); |
| 773 | |
| 774 | num_args = 0; |
| 775 | XtSetArg(args[num_args], nhStr(XtNfromVert), namelabel); num_args++; |
| 776 | XtSetArg(args[num_args], nhStr(XtNleft), XtChainLeft); num_args++; |
| 777 | XtSetArg(args[num_args], nhStr(XtNright), XtChainRight); num_args++; |
| 778 | XtSetArg(args[num_args], nhStr(XtNresizable), True); num_args++; |
| 779 | XtSetArg(args[num_args], nhStr(XtNeditType), |
| 780 | !plsel_ask_name ? XawtextRead : XawtextEdit); num_args++; |
| 781 | XtSetArg(args[num_args], nhStr(XtNresize), XawtextResizeWidth); num_args++; |
| 782 | XtSetArg(args[num_args], nhStr(XtNstring), svp.plname); num_args++; |
| 783 | XtSetArg(args[num_args], XtNinsertPosition, strlen(svp.plname)); num_args++; |
| 784 | XtSetArg(args[num_args], nhStr(XtNaccelerators), |
| 785 | XtParseAcceleratorTable(plsel_input_accelerators)); num_args++; |
| 786 | plsel_name_input = XtCreateManagedWidget("name_input", |
| 787 | asciiTextWidgetClass, name_form, |
| 788 | args, num_args); |
| 789 | |
| 790 | XtInstallAccelerators(plsel_name_input, plsel_name_input); |
| 791 | if (plsel_ask_name) { |
| 792 | XtSetKeyboardFocus(form, plsel_name_input); |
| 793 | } else { |
| 794 | XtSetArg(args[0], nhStr(XtNdisplayCaret), False); |
| 795 | XtSetValues(plsel_name_input, args, ONE); |
| 796 | } |