MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / UpdateChanges

Method UpdateChanges

Descent3/newui_core.cpp:1663–1728  ·  view source on GitHub ↗

refreshes gadget states with values passed to the pointers returned by the below functions.

Source from the content-addressed store, hash-verified

1661
1662// refreshes gadget states with values passed to the pointers returned by the below functions.
1663void newuiSheet::UpdateChanges() {
1664 int i, first_radio_index = 0;
1665
1666 ASSERT(m_realized);
1667
1668 for (i = 0; i < m_ngadgets; i++) {
1669 newuiSheet::t_gadget_desc *desc = &m_gadgetlist[i];
1670 bool bval;
1671 int16_t sval;
1672 char sbuftest[EDIT_BUFLEN_MAX];
1673
1674 switch (desc->type) {
1675 case GADGET_HGROUP:
1676 case GADGET_GROUP:
1677 first_radio_index = -1;
1678 break;
1679
1680 case GADGET_LCHECKBOX:
1681 case GADGET_CHECKBOX:
1682 bval = desc->obj.chbox->IsChecked();
1683 if (desc->parm.b != bval) {
1684 desc->obj.chbox->SetCheck(desc->parm.b);
1685 }
1686 break;
1687
1688 case GADGET_LRADIO:
1689 case GADGET_RADIO:
1690 // check if new index is same as current index.
1691 if (first_radio_index == -1)
1692 first_radio_index = i;
1693 if (m_gadgetlist[first_radio_index].parm.i == (i - first_radio_index)) {
1694 // possible request for change of radio button state here.
1695 bval = desc->obj.radio->IsActivated();
1696 if (!bval) {
1697 // wasn't active before so lets activate it now.
1698 desc->obj.radio->Activate();
1699 }
1700 }
1701 break;
1702
1703 case GADGET_SLIDER:
1704 sval = desc->obj.slider->GetPos();
1705 if (desc->parm.s[0] != sval) {
1706 desc->obj.slider->SetPos(desc->parm.s[0]);
1707 desc->parm.s[0] = desc->obj.slider->GetPos();
1708 }
1709 break;
1710
1711 case GADGET_EDITBOX:
1712 case GADGET_EDITBOXNUM:
1713 case GADGET_EDITBOXPASS:
1714 desc->obj.edit->GetText(sbuftest, EDIT_BUFLEN_MAX);
1715 if (strcmp(sbuftest, (char *)desc->internal) != 0) {
1716 desc->obj.edit->SetText((const char *) desc->internal);
1717 }
1718 break;
1719
1720 case GADGET_CHANGEABLE_TXT: {

Callers 3

DoUIMethod · 0.80
FileSelectCallbackFunction · 0.80

Calls 9

IsCheckedMethod · 0.80
SetCheckMethod · 0.80
IsActivatedMethod · 0.80
ActivateMethod · 0.45
GetPosMethod · 0.45
SetPosMethod · 0.45
GetTextMethod · 0.45
SetTextMethod · 0.45
SetTitleMethod · 0.45

Tested by

no test coverage detected