refreshes gadget states with values passed to the pointers returned by the below functions.
| 1661 | |
| 1662 | // refreshes gadget states with values passed to the pointers returned by the below functions. |
| 1663 | void 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: { |
no test coverage detected