本文整理汇总了C++中CPDF_FormField::CountControls方法的典型用法代码示例。如果您正苦于以下问题:C++ CPDF_FormField::CountControls方法的具体用法?C++ CPDF_FormField::CountControls怎么用?C++ CPDF_FormField::CountControls使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPDF_FormField
的用法示例。
在下文中一共展示了CPDF_FormField::CountControls方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SaveData
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();
}
示例2: SaveData
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();
}
}
示例3: ValidateFieldName
bool CPDF_InterForm::ValidateFieldName(
CFX_WideString& csNewFieldName,
int iType,
const CPDF_FormField* pExcludedField,
const CPDF_FormControl* pExcludedControl) const {
if (csNewFieldName.IsEmpty())
return false;
int iPos = 0;
int iLength = csNewFieldName.GetLength();
CFX_WideString csSub;
while (true) {
while (iPos < iLength &&
(csNewFieldName[iPos] == L'.' || csNewFieldName[iPos] == L' ')) {
iPos++;
}
if (iPos < iLength && !csSub.IsEmpty())
csSub += L'.';
while (iPos < iLength && csNewFieldName[iPos] != L'.')
csSub += csNewFieldName[iPos++];
for (int i = csSub.GetLength() - 1; i > -1; i--) {
if (csSub[i] != L' ' && csSub[i] != L'.')
break;
csSub.SetAt(i, L'\0');
}
size_t dwCount = m_pFieldTree->m_Root.CountFields();
for (size_t m = 0; m < dwCount; ++m) {
CPDF_FormField* pField = m_pFieldTree->m_Root.GetFieldAtIndex(m);
if (!pField)
continue;
if (pField == pExcludedField) {
if (!pExcludedControl || pField->CountControls() < 2)
continue;
}
CFX_WideString csFullName = pField->GetFullName();
int iRet = CompareFieldName(csSub, csFullName);
if (iRet == 1) {
if (pField->GetFieldType() != iType)
return false;
} else if (iRet == 2 && csSub == csNewFieldName) {
if (csFullName[iPos] == L'.')
return false;
} else if (iRet == 3 && csSub == csNewFieldName) {
if (csNewFieldName[csFullName.GetLength()] == L'.')
return false;
}
}
if (iPos >= iLength)
break;
}
if (csSub.IsEmpty())
return false;
csNewFieldName = csSub;
return true;
}
示例4: ValidateFieldName
FX_BOOL CPDF_InterForm::ValidateFieldName(
CFX_WideString& csNewFieldName,
int iType,
const CPDF_FormField* pExcludedField,
const CPDF_FormControl* pExcludedControl) {
if (csNewFieldName.IsEmpty()) {
return FALSE;
}
int iPos = 0;
int iLength = csNewFieldName.GetLength();
CFX_WideString csSub;
while (TRUE) {
while (iPos < iLength &&
(csNewFieldName[iPos] == L'.' || csNewFieldName[iPos] == L' ')) {
iPos++;
}
if (iPos < iLength && !csSub.IsEmpty()) {
csSub += L'.';
}
while (iPos < iLength && csNewFieldName[iPos] != L'.') {
csSub += csNewFieldName[iPos++];
}
for (int i = csSub.GetLength() - 1; i > -1; i--) {
if (csSub[i] == L' ' || csSub[i] == L'.') {
csSub.SetAt(i, L'\0');
} else {
break;
}
}
FX_DWORD dwCount = m_pFieldTree->m_Root.CountFields();
for (FX_DWORD m = 0; m < dwCount; m++) {
CPDF_FormField* pField = m_pFieldTree->m_Root.GetField(m);
if (pField == NULL) {
continue;
}
if (pField == pExcludedField) {
if (pExcludedControl != NULL) {
if (pField->CountControls() < 2) {
continue;
}
} else {
continue;
}
}
CFX_WideString csFullName = pField->GetFullName();
int iRet = CompareFieldName(csSub, csFullName);
if (iRet == 1) {
if (pField->GetFieldType() != iType) {
return FALSE;
}
} else if (iRet == 2 && csSub == csNewFieldName) {
if (csFullName[iPos] == L'.') {
return FALSE;
}
} else if (iRet == 3 && csSub == csNewFieldName) {
if (csNewFieldName[csFullName.GetLength()] == L'.') {
return FALSE;
}
}
}
if (iPos >= iLength) {
break;
}
}
if (csSub.IsEmpty()) {
return FALSE;
}
csNewFieldName = csSub;
return TRUE;
}