void CXFA_FFComboBox::OnProcessEvent(CFWL_Event* pEvent) {
  CXFA_FFField::OnProcessEvent(pEvent);
  switch (pEvent->GetClassID()) {
    case CFWL_EventType::SelectChanged: {
      CFWL_EvtSelectChanged* postEvent =
          static_cast<CFWL_EvtSelectChanged*>(pEvent);
      OnSelectChanged(m_pNormalWidget->GetWidget(), postEvent->bLButtonUp);
      break;
    }
    case CFWL_EventType::EditChanged: {
      CFX_WideString wsChanged;
      OnTextChanged(m_pNormalWidget->GetWidget(), wsChanged);
      break;
    }
    case CFWL_EventType::PreDropDown: {
      OnPreOpen(m_pNormalWidget->GetWidget());
      break;
    }
    case CFWL_EventType::PostDropDown: {
      OnPostOpen(m_pNormalWidget->GetWidget());
      break;
    }
    default:
      break;
  }
  m_pOldDelegate->OnProcessEvent(pEvent);
}
Beispiel #2
0
FWL_ERR CXFA_FFComboBox::OnProcessEvent(CFWL_Event* pEvent) {
  CXFA_FFField::OnProcessEvent(pEvent);
  FX_DWORD dwEventID = pEvent->GetClassID();
  switch (dwEventID) {
    case FWL_EVTHASH_CMB_SelChanged: {
      CFWL_EvtCmbSelChanged* postEvent = (CFWL_EvtCmbSelChanged*)pEvent;
      OnSelectChanged(m_pNormalWidget->GetWidget(), postEvent->iArraySels,
                      postEvent->bLButtonUp);
      break;
    }
    case FWL_EVTHASH_CMB_EditChanged: {
      CFX_WideString wsChanged;
      OnTextChanged(m_pNormalWidget->GetWidget(), wsChanged);
      break;
    }
    case FWL_EVTHASH_CMB_PreDropDown: {
      OnPreOpen(m_pNormalWidget->GetWidget());
      break;
    }
    case FWL_EVTHASH_CMB_PostDropDown: {
      OnPostOpen(m_pNormalWidget->GetWidget());
      break;
    }
    default: {}
  }
  return m_pOldDelegate->OnProcessEvent(pEvent);
}
Beispiel #3
0
bool CFFL_InteractiveFormFiller::OnPopupPostOpen(
    const CPWL_Wnd::PrivateData* pAttached,
    uint32_t nFlag) {
  auto* pData = static_cast<const CFFL_PrivateData*>(pAttached);
  ASSERT(pData->pWidget);

  CPDFSDK_Annot::ObservedPtr pObserved(pData->pWidget);
  return OnPostOpen(&pObserved, pData->pPageView, nFlag) || !pObserved;
}
Beispiel #4
0
void CFFL_IFormFiller::OnPopupPostOpen(void* pPrivateData,
                                       FX_BOOL& bExit,
                                       FX_DWORD nFlag) {
  CFFL_PrivateData* pData = (CFFL_PrivateData*)pPrivateData;
  ASSERT(pData);
  ASSERT(pData->pWidget);

  FX_BOOL bTempReset = FALSE;
  FX_BOOL bTempExit = FALSE;
  OnPostOpen(pData->pWidget, pData->pPageView, bTempReset, bTempExit, nFlag);

  if (bTempReset || bTempExit) {
    bExit = TRUE;
  }
}