CJS_Result CJX_Field::setItemState( CFX_V8* runtime, const std::vector<v8::Local<v8::Value>>& params) { if (params.size() != 2) return CJS_Result::Failure(JSMessage::kParamError); CXFA_Node* node = GetXFANode(); if (!node->IsWidgetReady()) return CJS_Result::Success(); int32_t iIndex = runtime->ToInt32(params[0]); if (runtime->ToInt32(params[1]) != 0) { node->SetItemState(iIndex, true, true, true, true); return CJS_Result::Success(); } if (node->GetItemState(iIndex)) node->SetItemState(iIndex, false, true, true, true); return CJS_Result::Success(); }
void CJX_Field::selectedIndex(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute) { CXFA_Node* node = GetXFANode(); if (!node->IsWidgetReady()) return; if (!bSetting) { pValue->SetInteger(node->GetSelectedItem(0)); return; } int32_t iIndex = pValue->ToInteger(); if (iIndex == -1) { node->ClearAllSelections(); return; } node->SetItemState(iIndex, true, true, true, true); }