bool CFFL_TextField::OnChar(CPDFSDK_Annot* pAnnot, uint32_t nChar, uint32_t nFlags) { switch (nChar) { case FWL_VKEY_Return: if (!(m_pWidget->GetFieldFlags() & FIELDFLAG_MULTILINE)) { CPDFSDK_PageView* pPageView = GetCurPageView(true); ASSERT(pPageView); m_bValid = !m_bValid; CFX_FloatRect rcAnnot = pAnnot->GetRect(); m_pFormFillEnv->Invalidate(pAnnot->GetUnderlyingPage(), rcAnnot.left, rcAnnot.top, rcAnnot.right, rcAnnot.bottom); if (m_bValid) { if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, true)) pWnd->SetFocus(); } else { if (CommitData(pPageView, nFlags)) { DestroyPDFWindow(pPageView); return true; } return false; } } break; case FWL_VKEY_Escape: { CPDFSDK_PageView* pPageView = GetCurPageView(true); ASSERT(pPageView); EscapeFiller(pPageView, true); return true; } } return CFFL_FormFiller::OnChar(pAnnot, nChar, nFlags); }
void CFFL_FormFiller::KillFocusForAnnot(CPDFSDK_Annot* pAnnot, FX_UINT nFlag) { if (!IsValid()) return; CPDFSDK_PageView* pPageView = GetCurPageView(false); if (!pPageView) return; CommitData(pPageView, nFlag); if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, FALSE)) pWnd->KillFocus(); FX_BOOL bDestroyPDFWindow; switch (m_pWidget->GetFieldType()) { case FIELDTYPE_PUSHBUTTON: case FIELDTYPE_CHECKBOX: case FIELDTYPE_RADIOBUTTON: bDestroyPDFWindow = TRUE; break; default: bDestroyPDFWindow = FALSE; break; } EscapeFiller(pPageView, bDestroyPDFWindow); }
FX_BOOL CFFL_TextField::OnChar(CPDFSDK_Annot* pAnnot, FX_UINT nChar, FX_UINT nFlags) { switch (nChar) { case FWL_VKEY_Return: if (!(m_pWidget->GetFieldFlags() & FIELDFLAG_MULTILINE)) { CPDFSDK_PageView* pPageView = GetCurPageView(); ASSERT(pPageView != NULL); m_bValid = !m_bValid; CPDF_Rect rcAnnot = pAnnot->GetRect(); m_pApp->FFI_Invalidate(pAnnot->GetPDFPage(), rcAnnot.left, rcAnnot.top, rcAnnot.right, rcAnnot.bottom); if (m_bValid) { if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, TRUE)) pWnd->SetFocus(); } else { if (CommitData(pPageView, nFlags)) { DestroyPDFWindow(pPageView); return TRUE; } else { return FALSE; } } } break; case FWL_VKEY_Escape: { CPDFSDK_PageView* pPageView = GetCurPageView(); ASSERT(pPageView != NULL); EscapeFiller(pPageView,TRUE); return TRUE; } } return CFFL_FormFiller::OnChar(pAnnot, nChar, nFlags); }
FX_BOOL CFFL_FormFiller::OnChar(CPDFSDK_Annot* pAnnot, FX_UINT nChar, FX_UINT nFlags) { if (IsValid()) { CPDFSDK_PageView* pPageView = GetCurPageView(); ASSERT(pPageView != NULL); if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, FALSE)) { return pWnd->OnChar(nChar, nFlags); } } return FALSE; }
FX_BOOL CFFL_FormFiller::OnKeyDown(CPDFSDK_Annot* pAnnot, FX_UINT nKeyCode, FX_UINT nFlags) { if (IsValid()) { CPDFSDK_PageView* pPageView = GetCurPageView(true); ASSERT(pPageView); if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, FALSE)) { return pWnd->OnKeyDown(nKeyCode, nFlags); } } return FALSE; }
CFX_WideString CFFL_ComboBox::GetSelectExportText() { CFX_WideString swRet; int nExport = -1; CPDFSDK_PageView* pPageView = GetCurPageView(true); if (CPWL_ComboBox* pComboBox = (CPWL_ComboBox*)GetPDFWindow(pPageView, false)) { nExport = pComboBox->GetSelect(); } if (nExport >= 0) { if (CPDF_FormField* pFormField = m_pWidget->GetFormField()) { swRet = pFormField->GetOptionValue(nExport); if (swRet.IsEmpty()) swRet = pFormField->GetOptionLabel(nExport); } } return swRet; }
void CFFL_ListBox::OnKeyStroke(FX_BOOL bKeyDown, FX_DWORD nFlag) { ASSERT(m_pWidget != NULL); int nFlags = m_pWidget->GetFieldFlags(); if (nFlags & FIELDFLAG_COMMITONSELCHANGE) { if (m_bValid) { CPDFSDK_PageView* pPageView = GetCurPageView(); ASSERT(pPageView != NULL); if (CommitData(pPageView, nFlag)) { DestroyPDFWindow(pPageView); m_bValid = FALSE; } } } }
FX_BOOL CFFL_FormFiller::KillFocusForAnnot(CPDFSDK_Annot* pAnnot, FX_UINT nFlag) { if (!IsValid()) return TRUE; CPDFSDK_PageView* pPageView = GetCurPageView(); CommitData(pPageView, nFlag); if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, FALSE)) pWnd->KillFocus(); switch (m_pWidget->GetFieldType()) { case FIELDTYPE_PUSHBUTTON: case FIELDTYPE_CHECKBOX: case FIELDTYPE_RADIOBUTTON: EscapeFiller(pPageView, TRUE); break; default: EscapeFiller(pPageView, FALSE); break; } return TRUE; }