MCPcopy Create free account
hub / github.com/NetHack/NetHack / roletoggleCallback

Function roletoggleCallback

win/X11/winmisc.c:634–671  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

632}
633
634static void
635roletoggleCallback(Widget w, XtPointer client, XtPointer call)
636{
637 Arg args[2];
638 int j, valid;
639 int c = 0;
640 int ra = xtp2i(XawToggleGetCurrent(plsel_race_radios[0])) - 1;
641 int ro = xtp2i(XawToggleGetCurrent(plsel_role_radios[0])) - 1;
642
643 nhUse(w);
644 nhUse(client);
645 nhUse(call);
646
647 plsel_set_play_button(ra < 0 || ro < 0);
648
649 if (ra < 0 || ro < 0)
650 return;
651
652 valid = -1;
653
654 for (j = 0; races[j].noun; j++) {
655 boolean v = validrace(ro, j);
656
657 if (j == ra)
658 c = j;
659 XtSetArg(args[0], nhStr(XtNsensitive), v);
660 XtSetValues(plsel_race_radios[j], args, ONE);
661 if (valid < 0 && v)
662 valid = j;
663 }
664 if (!validrace(ro, c))
665 c = valid;
666
667 j = c + 1;
668 XawToggleSetCurrent(plsel_race_radios[0], i2xtp(j));
669
670 X11_player_selection_setupOthers();
671}
672
673static void
674gendertoggleCallback(Widget w, XtPointer client, XtPointer call)

Callers

nothing calls this directly

Calls 5

xtp2iFunction · 0.85
plsel_set_play_buttonFunction · 0.85
validraceFunction · 0.85
i2xtpFunction · 0.85

Tested by

no test coverage detected