void radio_group::add(checkbox& uiobj) { uiobj.radio(true); uiobj.check(false); uiobj.react(false); element_tag el; el.uiobj = &uiobj; el.eh_checked = uiobj.events().click.connect_unignorable([this](const arg_click& arg) { for (auto & i : ui_container_) i.uiobj->check(arg.window_handle == i.uiobj->handle()); }, true); el.eh_destroy = uiobj.events().destroy.connect_unignorable([this](const arg_destroy& arg) { for (auto i = ui_container_.begin(); i != ui_container_.end(); ++i) { if (arg.window_handle == i->uiobj->handle()) { ui_container_.erase(i); return; } } }); ui_container_.push_back(el); }
void radio_group::add(checkbox& uiobj) { uiobj.radio(true); uiobj.check(false); uiobj.react(false); element_tag el; el.uiobj = &uiobj; el.eh_checked = API::dev::make_event(events::click::identifier, uiobj, nana::make_fun(*this, &radio_group::_m_checked), true); el.eh_destroy = uiobj.make_event<events::destroy>(*this, &radio_group::_m_destroy); ui_container_.push_back(el); }