void CFFL_CheckBox::SaveData(CPDFSDK_PageView* pPageView) { CPWL_CheckBox* pWnd = GetCheckBox(pPageView, false); if (!pWnd) return; bool bNewChecked = pWnd->IsChecked(); if (bNewChecked) { CPDF_FormField* pField = m_pWidget->GetFormField(); for (int32_t i = 0, sz = pField->CountControls(); i < sz; i++) { if (CPDF_FormControl* pCtrl = pField->GetControl(i)) { if (pCtrl->IsChecked()) { break; } } } } CPDFSDK_Widget::ObservedPtr observed_widget(m_pWidget.Get()); CFFL_CheckBox::ObservedPtr observed_this(this); m_pWidget->SetCheck(bNewChecked, NotificationOption::kDoNotNotify); if (!observed_widget) return; m_pWidget->UpdateField(); if (!observed_widget || !observed_this) return; SetChangeMark(); }
void CFFL_RadioButton::SaveData(CPDFSDK_PageView* pPageView) { ASSERT(m_pWidget != NULL); if (CPWL_RadioButton* pWnd = (CPWL_RadioButton*)GetPDFWindow(pPageView, FALSE)) { FX_BOOL bNewChecked = pWnd->IsChecked(); if (bNewChecked) { CPDF_FormField* pField = m_pWidget->GetFormField(); ASSERT(pField != NULL); for (int32_t i = 0, sz = pField->CountControls(); i < sz; i++) { if (CPDF_FormControl* pCtrl = pField->GetControl(i)) { if (pCtrl->IsChecked()) { break; } } } } m_pWidget->SetCheck(bNewChecked, FALSE); m_pWidget->UpdateField(); SetChangeMark(); } }