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

Method Unrealize

Descent3/newui_core.cpp:1577–1660  ·  view source on GitHub ↗

call this to release gadgets specified above in parent window

Source from the content-addressed store, hash-verified

1575
1576// call this to release gadgets specified above in parent window
1577void newuiSheet::Unrealize() {
1578 int i, first_radio_index = -1;
1579
1580 if (!m_realized)
1581 return;
1582
1583 for (i = 0; i < m_ngadgets; i++) {
1584 newuiSheet::t_gadget_desc *desc = &m_gadgetlist[i];
1585
1586 if (desc->obj.gadget) {
1587 switch (desc->type) {
1588 case GADGET_HGROUP:
1589 case GADGET_GROUP:
1590 first_radio_index = -1;
1591 if (desc->title && desc->obj.gadget) {
1592 desc->obj.gadget->Destroy();
1593 delete desc->obj.gadget;
1594 }
1595 break;
1596 case GADGET_LCHECKBOX:
1597 case GADGET_CHECKBOX:
1598 desc->parm.b = desc->obj.chbox->IsChecked();
1599 desc->obj.chbox->Destroy();
1600 delete desc->obj.chbox;
1601 break;
1602 case GADGET_RADIO:
1603 case GADGET_LRADIO:
1604 if (first_radio_index == -1)
1605 first_radio_index = i;
1606 if (desc->obj.radio->IsActivated()) {
1607 m_gadgetlist[first_radio_index].parm.i = i - first_radio_index;
1608 }
1609 desc->obj.radio->Destroy();
1610 delete desc->obj.radio;
1611 break;
1612 case GADGET_SLIDER:
1613 desc->parm.s[0] = desc->obj.slider->GetPos();
1614 desc->obj.slider->Destroy();
1615 delete desc->obj.slider;
1616 break;
1617
1618 case GADGET_HOTSPOT:
1619 desc->obj.hot->Destroy();
1620 delete desc->obj.hot;
1621 break;
1622
1623 case GADGET_BUTTON:
1624 case GADGET_LBUTTON:
1625 desc->obj.button->Destroy();
1626 delete desc->obj.button;
1627 break;
1628
1629 case GADGET_LISTBOX:
1630 m_parent->RemoveGadget(desc->obj.lb);
1631 break;
1632
1633 case GADGET_COMBOBOX:
1634 m_parent->RemoveGadget(desc->obj.cb);

Callers 2

DoUIMethod · 0.80
DoUIMethod · 0.80

Calls 6

IsCheckedMethod · 0.80
IsActivatedMethod · 0.80
RemoveGadgetMethod · 0.80
DestroyMethod · 0.45
GetPosMethod · 0.45
GetTextMethod · 0.45

Tested by

no test coverage detected