summaryrefslogtreecommitdiff
path: root/fpdfsdk/cpdfsdk_widget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk/cpdfsdk_widget.cpp')
-rw-r--r--fpdfsdk/cpdfsdk_widget.cpp93
1 files changed, 51 insertions, 42 deletions
diff --git a/fpdfsdk/cpdfsdk_widget.cpp b/fpdfsdk/cpdfsdk_widget.cpp
index eb42ba60fc..2adc46f722 100644
--- a/fpdfsdk/cpdfsdk_widget.cpp
+++ b/fpdfsdk/cpdfsdk_widget.cpp
@@ -77,7 +77,7 @@ CXFA_FFWidget* CPDFSDK_Widget::GetMixXFAWidget() const {
if (!m_hMixXFAWidget) {
if (CXFA_FFDocView* pDocView = pContext->GetXFADocView()) {
WideString sName;
- if (GetFieldType() == FIELDTYPE_RADIOBUTTON) {
+ if (GetFieldType() == FormFieldType::kRadioButton) {
sName = GetAnnotName();
if (sName.IsEmpty())
sName = GetName();
@@ -206,7 +206,7 @@ bool CPDFSDK_Widget::HasXFAAAction(PDFSDK_XFAAActionType eXFAAAT) {
XFA_EVENTTYPE eEventType = GetXFAEventType(eXFAAAT);
if ((eEventType == XFA_EVENT_Click || eEventType == XFA_EVENT_Change) &&
- GetFieldType() == FIELDTYPE_RADIOBUTTON) {
+ GetFieldType() == FormFieldType::kRadioButton) {
if (CXFA_FFWidget* hGroupWidget = GetGroupMixXFAWidget()) {
if (pXFAWidgetHandler->HasEvent(hGroupWidget->GetNode()->GetWidgetAcc(),
eEventType)) {
@@ -255,7 +255,7 @@ bool CPDFSDK_Widget::OnXFAAAction(PDFSDK_XFAAActionType eXFAAAT,
param.m_wsPrevText = data.sValue;
if ((eEventType == XFA_EVENT_Click || eEventType == XFA_EVENT_Change) &&
- GetFieldType() == FIELDTYPE_RADIOBUTTON) {
+ GetFieldType() == FormFieldType::kRadioButton) {
if (CXFA_FFWidget* hGroupWidget = GetGroupMixXFAWidget()) {
CXFA_WidgetAcc* pAcc = hGroupWidget->GetNode()->GetWidgetAcc();
param.m_pTarget = pAcc;
@@ -286,18 +286,18 @@ void CPDFSDK_Widget::Synchronize(bool bSynchronizeElse) {
CPDF_FormField* pFormField = GetFormField();
switch (GetFieldType()) {
- case FIELDTYPE_CHECKBOX:
- case FIELDTYPE_RADIOBUTTON: {
+ case FormFieldType::kCheckBox:
+ case FormFieldType::kRadioButton: {
CPDF_FormControl* pFormCtrl = GetFormControl();
XFA_CHECKSTATE eCheckState =
pFormCtrl->IsChecked() ? XFA_CHECKSTATE_On : XFA_CHECKSTATE_Off;
pWidgetAcc->SetCheckState(eCheckState, true);
break;
}
- case FIELDTYPE_TEXTFIELD:
+ case FormFieldType::kTextField:
pWidgetAcc->SetValue(XFA_VALUEPICTURE_Edit, pFormField->GetValue());
break;
- case FIELDTYPE_LISTBOX: {
+ case FormFieldType::kListBox: {
pWidgetAcc->ClearAllSelections();
for (int i = 0, sz = pFormField->CountSelectedItems(); i < sz; i++) {
@@ -307,7 +307,7 @@ void CPDFSDK_Widget::Synchronize(bool bSynchronizeElse) {
}
break;
}
- case FIELDTYPE_COMBOBOX: {
+ case FormFieldType::kComboBox: {
pWidgetAcc->ClearAllSelections();
for (int i = 0, sz = pFormField->CountSelectedItems(); i < sz; i++) {
@@ -318,6 +318,8 @@ void CPDFSDK_Widget::Synchronize(bool bSynchronizeElse) {
pWidgetAcc->SetValue(XFA_VALUEPICTURE_Edit, pFormField->GetValue());
break;
}
+ default:
+ break;
}
if (bSynchronizeElse) {
@@ -360,7 +362,7 @@ void CPDFSDK_Widget::SynchronizeXFAValue(CXFA_FFDocView* pXFADocView,
ASSERT(pFormControl);
switch (pFormField->GetFieldType()) {
- case FIELDTYPE_CHECKBOX: {
+ case FormFieldType::kCheckBox: {
if (CXFA_WidgetAcc* pWidgetAcc = hWidget->GetNode()->GetWidgetAcc()) {
pFormField->CheckControl(
pFormField->GetControlIndex(pFormControl),
@@ -368,7 +370,7 @@ void CPDFSDK_Widget::SynchronizeXFAValue(CXFA_FFDocView* pXFADocView,
}
break;
}
- case FIELDTYPE_RADIOBUTTON: {
+ case FormFieldType::kRadioButton: {
// TODO(weili): Check whether we need to handle checkbox and radio
// button differently, otherwise, merge these two cases.
if (CXFA_WidgetAcc* pWidgetAcc = hWidget->GetNode()->GetWidgetAcc()) {
@@ -378,14 +380,14 @@ void CPDFSDK_Widget::SynchronizeXFAValue(CXFA_FFDocView* pXFADocView,
}
break;
}
- case FIELDTYPE_TEXTFIELD: {
+ case FormFieldType::kTextField: {
if (CXFA_WidgetAcc* pWidgetAcc = hWidget->GetNode()->GetWidgetAcc()) {
pFormField->SetValue(pWidgetAcc->GetValue(XFA_VALUEPICTURE_Display),
true);
}
break;
}
- case FIELDTYPE_LISTBOX: {
+ case FormFieldType::kListBox: {
pFormField->ClearSelection(false);
if (CXFA_WidgetAcc* pWidgetAcc = hWidget->GetNode()->GetWidgetAcc()) {
@@ -399,7 +401,7 @@ void CPDFSDK_Widget::SynchronizeXFAValue(CXFA_FFDocView* pXFADocView,
}
break;
}
- case FIELDTYPE_COMBOBOX: {
+ case FormFieldType::kComboBox: {
pFormField->ClearSelection(false);
if (CXFA_WidgetAcc* pWidgetAcc = hWidget->GetNode()->GetWidgetAcc()) {
@@ -415,6 +417,8 @@ void CPDFSDK_Widget::SynchronizeXFAValue(CXFA_FFDocView* pXFADocView,
}
break;
}
+ default:
+ break;
}
}
@@ -425,7 +429,7 @@ void CPDFSDK_Widget::SynchronizeXFAItems(CXFA_FFDocView* pXFADocView,
ASSERT(hWidget);
switch (pFormField->GetFieldType()) {
- case FIELDTYPE_LISTBOX: {
+ case FormFieldType::kListBox: {
pFormField->ClearSelection(false);
pFormField->ClearOptions(true);
@@ -438,7 +442,7 @@ void CPDFSDK_Widget::SynchronizeXFAItems(CXFA_FFDocView* pXFADocView,
}
break;
}
- case FIELDTYPE_COMBOBOX: {
+ case FormFieldType::kComboBox: {
pFormField->ClearSelection(false);
pFormField->ClearOptions(false);
@@ -453,6 +457,8 @@ void CPDFSDK_Widget::SynchronizeXFAItems(CXFA_FFDocView* pXFADocView,
pFormField->SetValue(L"", true);
break;
}
+ default:
+ break;
}
}
#endif // PDF_ENABLE_XFA
@@ -476,27 +482,28 @@ bool CPDFSDK_Widget::IsWidgetAppearanceValid(CPDF_Annot::AppearanceMode mode) {
if (!psub)
return false;
- int nFieldType = GetFieldType();
- switch (nFieldType) {
- case FIELDTYPE_PUSHBUTTON:
- case FIELDTYPE_COMBOBOX:
- case FIELDTYPE_LISTBOX:
- case FIELDTYPE_TEXTFIELD:
- case FIELDTYPE_SIGNATURE:
+ FormFieldType fieldType = GetFieldType();
+ switch (fieldType) {
+ case FormFieldType::kPushButton:
+ case FormFieldType::kComboBox:
+ case FormFieldType::kListBox:
+ case FormFieldType::kTextField:
+ case FormFieldType::kSignature:
return psub->IsStream();
- case FIELDTYPE_CHECKBOX:
- case FIELDTYPE_RADIOBUTTON:
+ case FormFieldType::kCheckBox:
+ case FormFieldType::kRadioButton:
if (CPDF_Dictionary* pSubDict = psub->AsDictionary()) {
return !!pSubDict->GetStreamFor(GetAppState());
}
return false;
+ default:
+ return true;
}
- return true;
}
-int CPDFSDK_Widget::GetFieldType() const {
+FormFieldType CPDFSDK_Widget::GetFieldType() const {
CPDF_FormField* pField = GetFormField();
- return pField ? pField->GetFieldType() : FIELDTYPE_UNKNOWN;
+ return pField ? pField->GetFieldType() : FormFieldType::kUnknown;
}
bool CPDFSDK_Widget::IsAppearanceValid() {
@@ -522,7 +529,7 @@ int CPDFSDK_Widget::GetFieldFlags() const {
}
bool CPDFSDK_Widget::IsSignatureWidget() const {
- return GetFieldType() == FIELDTYPE_SIGNATURE;
+ return GetFieldType() == FormFieldType::kSignature;
}
CPDF_FormField* CPDFSDK_Widget::GetFormField() const {
@@ -733,8 +740,8 @@ bool CPDFSDK_Widget::IsAppModified() const {
#ifdef PDF_ENABLE_XFA
void CPDFSDK_Widget::ResetAppearance(bool bValueChanged) {
switch (GetFieldType()) {
- case FIELDTYPE_TEXTFIELD:
- case FIELDTYPE_COMBOBOX: {
+ case FormFieldType::kTextField:
+ case FormFieldType::kComboBox: {
bool bFormatted = false;
WideString sValue = OnFormat(bFormatted);
ResetAppearance(bFormatted ? &sValue : nullptr, true);
@@ -757,24 +764,26 @@ void CPDFSDK_Widget::ResetAppearance(const WideString* sValue,
CPWL_AppStream appStream(this, GetAPDict());
switch (GetFieldType()) {
- case FIELDTYPE_PUSHBUTTON:
+ case FormFieldType::kPushButton:
appStream.SetAsPushButton();
break;
- case FIELDTYPE_CHECKBOX:
+ case FormFieldType::kCheckBox:
appStream.SetAsCheckBox();
break;
- case FIELDTYPE_RADIOBUTTON:
+ case FormFieldType::kRadioButton:
appStream.SetAsRadioButton();
break;
- case FIELDTYPE_COMBOBOX:
+ case FormFieldType::kComboBox:
appStream.SetAsComboBox(sValue);
break;
- case FIELDTYPE_LISTBOX:
+ case FormFieldType::kListBox:
appStream.SetAsListBox();
break;
- case FIELDTYPE_TEXTFIELD:
+ case FormFieldType::kTextField:
appStream.SetAsTextField(sValue);
break;
+ default:
+ break;
}
m_pAnnot->ClearCachedAP();
@@ -796,10 +805,10 @@ void CPDFSDK_Widget::DrawAppearance(CFX_RenderDevice* pDevice,
const CFX_Matrix& mtUser2Device,
CPDF_Annot::AppearanceMode mode,
const CPDF_RenderOptions* pOptions) {
- int nFieldType = GetFieldType();
+ FormFieldType fieldType = GetFieldType();
- if ((nFieldType == FIELDTYPE_CHECKBOX ||
- nFieldType == FIELDTYPE_RADIOBUTTON) &&
+ if ((fieldType == FormFieldType::kCheckBox ||
+ fieldType == FormFieldType::kRadioButton) &&
mode == CPDF_Annot::Normal &&
!IsWidgetAppearanceValid(CPDF_Annot::Normal)) {
CFX_PathData pathData;
@@ -827,8 +836,8 @@ void CPDFSDK_Widget::UpdateField() {
void CPDFSDK_Widget::DrawShadow(CFX_RenderDevice* pDevice,
CPDFSDK_PageView* pPageView) {
- int nFieldType = GetFieldType();
- if (!m_pInterForm->IsNeedHighLight(nFieldType))
+ FormFieldType fieldType = GetFieldType();
+ if (!m_pInterForm->IsNeedHighLight(fieldType))
return;
CFX_Matrix page2device;
@@ -848,7 +857,7 @@ void CPDFSDK_Widget::DrawShadow(CFX_RenderDevice* pDevice,
FX_RECT rcDev = rcDevice.ToFxRect();
pDevice->FillRect(
&rcDev, ArgbEncode(static_cast<int>(m_pInterForm->GetHighlightAlpha()),
- m_pInterForm->GetHighlightColor(nFieldType)));
+ m_pInterForm->GetHighlightColor(fieldType)));
}
CFX_FloatRect CPDFSDK_Widget::GetClientRect() const {