1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Copyright 2014 PDFium Authors. All rights reserved. 2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Use of this source code is governed by a BSD-style license that can be 3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// found in the LICENSE file. 4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 7ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/javascript/JavaScript.h" 8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/javascript/IJavaScript.h" 9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/javascript/JS_Define.h" 10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/javascript/JS_Object.h" 11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/javascript/JS_Value.h" 12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/javascript/Field.h" 13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/javascript/JS_EventHandler.h" 14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov//#include "../include/JS_ResMgr.h" 15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/javascript/JS_Context.h" 16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/javascript/JS_Runtime.h" 17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/javascript/Document.h" 18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/javascript/color.h" 19ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/javascript/PublicMethods.h" 20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/javascript/Icon.h" 21ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 23ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* ---------------------- Field ---------------------- */ 24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 25ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovBEGIN_JS_STATIC_CONST(CJS_Field) 26ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovEND_JS_STATIC_CONST() 27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 28ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovBEGIN_JS_STATIC_PROP(CJS_Field) 29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(alignment) 30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(borderStyle) 31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(buttonAlignX) 32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(buttonAlignY) 33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(buttonFitBounds) 34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(buttonPosition) 35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(buttonScaleHow) 36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(buttonScaleWhen) 37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(calcOrderIndex) 38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(charLimit) 39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(comb) 40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(commitOnSelChange) 41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(currentValueIndices) 42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(defaultStyle) 43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(defaultValue) 44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(doNotScroll) 45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(doNotSpellCheck) 46ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(delay) 47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(display) 48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(doc) 49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(editable) 50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(exportValues) 51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(hidden) 52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(fileSelect) 53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(fillColor) 54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(lineWidth) 55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(highlight) 56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(multiline) 57ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(multipleSelection) 58ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(name) 59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(numItems) 60ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(page) 61ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(password) 62ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(print) 63ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(radiosInUnison) 64ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(readonly) 65ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(rect) 66ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(required) 67ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(richText) 68ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(richValue) 69ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(rotation) 70ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(strokeColor) 71ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(style) 72ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(submitName) 73ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(textColor) 74ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(textFont) 75ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(textSize) 76ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(type) 77ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(userName) 78ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(value) 79ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(valueAsString) 80ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP_ENTRY(source) 81ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovEND_JS_STATIC_PROP() 82ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 83ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovBEGIN_JS_STATIC_METHOD(CJS_Field) 84ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(browseForFileToSubmit, 0) 85ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(buttonGetCaption, 1) 86ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(buttonGetIcon, 1) 87ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(buttonImportIcon, 0) 88ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(buttonSetCaption, 2) 89ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(buttonSetIcon, 2) 90ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(checkThisBox, 2) 91ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(clearItems, 0) 92ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(defaultIsChecked, 2) 93ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(deleteItemAt, 1) 94ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(getArray , 0) 95ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(getItemAt, 0) 96ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(getLock, 0) 97ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(insertItemAt, 0) 98ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(isBoxChecked, 1) 99ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(isDefaultChecked, 1) 100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(setAction, 2) 101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(setFocus, 0) 102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(setItems, 1) 103ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(setLock, 0) 104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(signatureGetModifications, 0) 105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(signatureGetSeedValue, 0) 106ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(signatureInfo, 0) 107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(signatureSetSeedValue, 0) 108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(signatureSign, 0) 109ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD_ENTRY(signatureValidate, 0) 110ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovEND_JS_STATIC_METHOD() 111ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 112ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovIMPLEMENT_JS_CLASS(CJS_Field, Field) 113ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 114ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL CJS_Field::InitInstance(IFXJS_Context* cc) 115ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 116ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Context* pContext = (CJS_Context*)cc; 117ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pContext != NULL); 118ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 119ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field* pField = (Field*)GetEmbedObject(); 120ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pField != NULL); 121ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 122ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pField->SetIsolate(pContext->GetJSRuntime()->GetIsolate()); 123ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 124ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 125ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 126ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 127ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovField::Field(CJS_Object* pJSObject): CJS_EmbedObj(pJSObject), 128ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pJSDoc(NULL), 129ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDocument(NULL), 130ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_nFormControlIndex(-1), 131ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_bCanSet(FALSE), 132ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_bDelay(FALSE), 133ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_isolate(NULL) 134ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 135ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 136ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 137ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovField::~Field() 138ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 139ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 140ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 141ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov//note: iControlNo = -1, means not a widget. 142ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::ParseFieldName(const std::wstring &strFieldNameParsed,std::wstring &strFieldName,int & iControlNo) 143ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 144ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iStart = strFieldNameParsed.find_last_of(L'.'); 145ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (iStart == -1) 146ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 147ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov strFieldName = strFieldNameParsed; 148ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov iControlNo = -1; 149ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return; 150ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 151ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov std::wstring suffixal = strFieldNameParsed.substr(iStart+1); 152ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov iControlNo = FXSYS_wtoi((FX_LPCWSTR)suffixal.c_str()); 153ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (iControlNo == 0) 154ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 155ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iStart; 156ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov while((iStart = suffixal.find_last_of(L" ")) != -1) 157ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 158ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov suffixal.erase(iStart,1); 159ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 160ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 161ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (suffixal.compare(L"0") != 0) 162ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 163ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov strFieldName = strFieldNameParsed; 164ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov iControlNo = -1; 165ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return; 166ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 167ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 168ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 169ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov strFieldName = strFieldNameParsed.substr(0,iStart); 170ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 171ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 172ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::AttachField(Document* pDocument, const CFX_WideString& csFieldName) 173ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 174ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDocument != NULL); 175ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pJSDoc = pDocument; 176ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 177ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDocument = pDocument->GetReaderDoc(); 178ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 179ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 180ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_bCanSet = m_pDocument->GetPermissions(FPDFPERM_FILL_FORM) || 181ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || 182ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDocument->GetPermissions(FPDFPERM_MODIFY); 183ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 184ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pRDInterForm = m_pDocument->GetInterForm(); 185ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pRDInterForm != NULL); 186ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 187ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_InterForm* pInterForm = pRDInterForm->GetInterForm(); 188ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 189ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 190ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString swFieldNameTemp = csFieldName; 191ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov swFieldNameTemp.Replace((FX_LPCWSTR)L"..", (FX_LPCWSTR)L"."); 192ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 193ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pInterForm->CountFields(swFieldNameTemp) <= 0) 194ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 195ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov std::wstring strFieldName; 196ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iControlNo = -1; 197ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ParseFieldName((wchar_t*)(FX_LPCWSTR)swFieldNameTemp, strFieldName, iControlNo); 198ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (iControlNo == -1) return FALSE; 199ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 200ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_FieldName = strFieldName.c_str(); 201ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_nFormControlIndex = iControlNo; 202ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 203ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 204ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 205ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_FieldName = swFieldNameTemp; 206ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_nFormControlIndex = -1; 207ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 208ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 209ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 210ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 211ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::GetFormFields(CPDFSDK_Document* pDocument, const CFX_WideString& csFieldName, CFX_PtrArray& FieldArray) 212ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 213ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDocument != NULL); 214ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 215ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pReaderInterForm = pDocument->GetInterForm(); 216ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pReaderInterForm != NULL); 217ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 218ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_InterForm* pInterForm = pReaderInterForm->GetInterForm(); 219ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 220ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 221ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(FieldArray.GetSize() == 0); 222ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 223ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=pInterForm->CountFields(csFieldName); i<sz; i++) 224ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 225ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDF_FormField* pFormField = pInterForm->GetField(i, csFieldName)) 226ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FieldArray.Add((void*)pFormField); 227ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 228ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 229ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 230ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::GetFormFields(const CFX_WideString& csFieldName, CFX_PtrArray& FieldArray) 231ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 232ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 233ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 234ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::GetFormFields(m_pDocument, csFieldName, FieldArray); 235ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 236ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 237ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::UpdateFormField(CPDFSDK_Document* pDocument, CPDF_FormField* pFormField, 238ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bChangeMark, FX_BOOL bResetAP, FX_BOOL bRefresh) 239ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 240ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDocument != NULL); 241ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 242ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 243ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); 244ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 245ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 246ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray widgets; 247ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pInterForm->GetWidgets(pFormField, widgets); 248ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 249ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bResetAP) 250ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 251ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nFieldType = pFormField->GetFieldType(); 252ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_TEXTFIELD) 253ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 254ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=widgets.GetSize(); i<sz; i++) 255ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 256ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgets.GetAt(i); 257ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pWidget != NULL); 258ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 259ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bFormated = FALSE; 260ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString sValue = pWidget->OnFormat(0, bFormated); 261ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bFormated) 262ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->ResetAppearance(sValue, FALSE); 263ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 264ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->ResetAppearance(NULL, FALSE); 265ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 266ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 267ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 268ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 269ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=widgets.GetSize(); i<sz; i++) 270ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 271ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgets.GetAt(i); 272ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pWidget != NULL); 273ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 274ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->ResetAppearance(NULL, FALSE); 275ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 276ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 277ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 278ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 279ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bRefresh) 280ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 281ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=widgets.GetSize(); i<sz; i++) 282ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 283ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgets.GetAt(i); 284ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pWidget != NULL); 285ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 286ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm * pInterForm = pWidget->GetInterForm(); 287ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Document* pDoc = pInterForm->GetDocument(); 288ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// CReader_Page* pPage = pWidget->GetPage(); 289ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDoc != NULL); 290ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pDoc->UpdateAllViews(NULL, pWidget); 291ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 292ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 293ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 294ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bChangeMark) 295ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pDocument->SetChangeMark(); 296ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 297ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 298ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::UpdateFormControl(CPDFSDK_Document* pDocument, CPDF_FormControl* pFormControl, 299ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bChangeMark, FX_BOOL bResetAP, FX_BOOL bRefresh) 300ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 301ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDocument != NULL); 302ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormControl != NULL); 303ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 304ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); 305ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 306ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 307ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl); 308ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 309ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pWidget) 310ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 311ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bResetAP) 312ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 313ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nFieldType = pWidget->GetFieldType(); 314ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_TEXTFIELD) 315ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 316ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bFormated = FALSE; 317ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString sValue = pWidget->OnFormat(0, bFormated); 318ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bFormated) 319ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->ResetAppearance(sValue, FALSE); 320ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 321ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->ResetAppearance(NULL, FALSE); 322ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 323ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 324ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 325ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->ResetAppearance(NULL, FALSE); 326ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 327ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 328ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 329ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bRefresh) 330ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 331ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm * pInterForm = pWidget->GetInterForm(); 332ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Document* pDoc = pInterForm->GetDocument(); 333ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDoc != NULL); 334ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pDoc->UpdateAllViews(NULL, pWidget); 335ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 336ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 337ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 338ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 339ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bChangeMark) 340ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pDocument->SetChangeMark(); 341ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 342ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 343ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovCPDFSDK_Widget* Field::GetWidget(CPDFSDK_Document* pDocument, CPDF_FormControl* pFormControl) 344ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 345ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDocument != NULL); 346ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormControl != NULL); 347ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 348ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); 349ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 350ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 351ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return pInterForm->GetWidget(pFormControl); 352ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 353ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 354ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::ValueIsOccur(CPDF_FormField* pFormField, CFX_WideString csOptLabel) 355ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 356ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 357ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 358ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz = pFormField->CountOptions(); i < sz; i++) 359ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 360ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (csOptLabel.Compare(pFormField->GetOptionLabel(i)) == 0) 361ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 362ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 363ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 364ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 365ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 366ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 367ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovCPDF_FormControl* Field::GetSmartFieldControl(CPDF_FormField* pFormField) 368ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 369ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 370ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(!pFormField->CountControls() || m_nFormControlIndex>=pFormField->CountControls()) return NULL; 371ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 372ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_nFormControlIndex<0) 373ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return pFormField->GetControl(0); 374ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 375ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return pFormField->GetControl(m_nFormControlIndex); 376ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 377ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 378ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* ---------------------------------------- property ---------------------------------------- */ 379ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 380ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::alignment(OBJ_PROP_PARAMS) 381ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 382ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 383ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 384ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 385ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 386ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 387ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 388ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString alignStr; 389ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> alignStr; 390ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 391ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 392ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 393ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_String(FP_ALIGNMENT, alignStr); 394ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 395ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 396ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 397ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetAlignment(m_pDocument, m_FieldName, m_nFormControlIndex, alignStr); 398ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 399ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 400ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 401ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 402ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 403ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName, FieldArray); 404ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 405ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 406ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 407ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 408ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 409ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) 410ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 411ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 412ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 413ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 414ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 415ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov switch (pFormControl->GetControlAlignment()) 416ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 417ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case 1: 418ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"center"; 419ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 420ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case 0: 421ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"left"; 422ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 423ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case 2: 424ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"right"; 425ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 426ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov default: 427ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L""; 428ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 429ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 430ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 431ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 432ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 433ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 434ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetAlignment(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, 435ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov const CFX_ByteString& string) 436ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 437ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 438ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 439ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 440ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::borderStyle(OBJ_PROP_PARAMS) 441ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 442ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 443ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 444ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 445ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 446ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 447ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 448ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString strType = ""; 449ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> strType; 450ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 451ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 452ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 453ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_String(FP_BORDERSTYLE, strType); 454ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 455ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 456ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 457ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetBorderStyle(m_pDocument, m_FieldName, m_nFormControlIndex, strType); 458ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 459ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 460ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 461ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 462ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 463ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName, FieldArray); 464ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 465ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 466ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 467ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormField) return FALSE; 468ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 469ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Widget* pWidget = GetWidget(m_pDocument, GetSmartFieldControl(pFormField)); 470ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pWidget) return FALSE; 471ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 472ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nBorderstyle = pWidget->GetBorderStyle(); 473ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 474ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov switch (nBorderstyle) 475ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 476ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case BBS_SOLID: 477ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"solid"; 478ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 479ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case BBS_DASH: 480ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"dashed"; 481ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 482ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case BBS_BEVELED: 483ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"beveled"; 484ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 485ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case BBS_INSET: 486ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"inset"; 487ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 488ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case BBS_UNDERLINE: 489ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"underline"; 490ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 491ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov default: 492ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L""; 493ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 494ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 495ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 496ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 497ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 498ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 499ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 500ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetBorderStyle(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, 501ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov const CFX_ByteString& string) 502ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 503ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDocument != NULL); 504ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 505ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nBorderStyle = 0; 506ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 507ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (string == "solid") 508ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nBorderStyle = BBS_SOLID; 509ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (string == "beveled") 510ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nBorderStyle = BBS_BEVELED; 511ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (string == "dashed") 512ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nBorderStyle = BBS_DASH; 513ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (string == "inset") 514ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nBorderStyle = BBS_INSET; 515ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (string == "underline") 516ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nBorderStyle = BBS_UNDERLINE; 517ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else return; 518ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 519ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 520ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(pDocument, swFieldName, FieldArray); 521ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 522ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) 523ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 524ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); 525ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 526ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 527ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nControlIndex < 0) 528ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 529ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bSet = FALSE; 530ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int j=0,jsz = pFormField->CountControls(); j<jsz; j++) 531ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 532ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_Widget* pWidget = GetWidget(pDocument, pFormField->GetControl(j))) 533ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 534ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pWidget->GetBorderStyle() != nBorderStyle) 535ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 536ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->SetBorderStyle(nBorderStyle); 537ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bSet = TRUE; 538ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 539ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 540ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 541ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bSet) UpdateFormField(pDocument, pFormField, TRUE, TRUE, TRUE); 542ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 543ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 544ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 545ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(nControlIndex >= pFormField->CountControls()) return; 546ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControlIndex)) 547ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 548ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_Widget* pWidget = GetWidget(pDocument, pFormControl)) 549ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 550ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pWidget->GetBorderStyle() != nBorderStyle) 551ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 552ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->SetBorderStyle(nBorderStyle); 553ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormControl(pDocument, pFormControl, TRUE, TRUE, TRUE); 554ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 555ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 556ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 557ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 558ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 559ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 560ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 561ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::buttonAlignX(OBJ_PROP_PARAMS) 562ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 563ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 564ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 565ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 566ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 567ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 568ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 569ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nVP; 570ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> nVP; 571ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 572ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 573ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 574ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Int(FP_BUTTONALIGNX, nVP); 575ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 576ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 577ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 578ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetButtonAlignX(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); 579ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 580ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 581ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 582ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 583ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 584ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 585ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 586ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 587ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 588ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 589ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 590ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) 591ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 592ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 593ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 594ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 595ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 596ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_IconFit IconFit = pFormControl->GetIconFit(); 597ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 598ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_FLOAT fLeft,fBottom; 599ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov IconFit.GetIconPosition(fLeft,fBottom); 600ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 601ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32)fLeft; 602ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 603ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 604ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 605ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 606ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 607ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetButtonAlignX(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number) 608ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 609ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 610ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 611ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 612ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::buttonAlignY(OBJ_PROP_PARAMS) 613ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 614ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 615ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 616ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 617ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 618ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 619ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 620ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nVP; 621ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> nVP; 622ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 623ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 624ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 625ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Int(FP_BUTTONALIGNY, nVP); 626ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 627ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 628ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 629ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetButtonAlignY(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); 630ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 631ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 632ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 633ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 634ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 635ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 636ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 637ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 638ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 639ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 640ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 641ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) 642ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 643ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 644ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 645ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 646ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 647ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_IconFit IconFit = pFormControl->GetIconFit(); 648ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 649ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_FLOAT fLeft,fBottom; 650ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov IconFit.GetIconPosition(fLeft,fBottom); 651ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 652ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32)fBottom; 653ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 654ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 655ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 656ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 657ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 658ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetButtonAlignY(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number) 659ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 660ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 661ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 662ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 663ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::buttonFitBounds(OBJ_PROP_PARAMS) 664ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 665ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 666ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 667ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 668ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 669ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 670ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 671ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 672ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 673ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 674ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 675ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 676ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Bool(FP_BUTTONFITBOUNDS, bVP); 677ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 678ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 679ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 680ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetButtonFitBounds(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); 681ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 682ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 683ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 684ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 685ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 686ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 687ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 688ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 689ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 690ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 691ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 692ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) 693ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 694ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 695ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 696ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 697ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 698ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_IconFit IconFit = pFormControl->GetIconFit(); 699ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << IconFit.GetFittingBounds(); 700ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 701ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 702ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 703ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 704ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 705ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetButtonFitBounds(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b) 706ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 707ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 708ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 709ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 710ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::buttonPosition(OBJ_PROP_PARAMS) 711ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 712ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 713ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 714ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 715ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 716ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 717ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 718ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nVP; 719ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> nVP; 720ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 721ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 722ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 723ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Int(FP_BUTTONPOSITION, nVP); 724ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 725ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 726ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 727ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetButtonPosition(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); 728ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 729ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 730ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 731ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 732ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 733ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 734ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 735ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 736ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 737ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 738ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 739ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) 740ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 741ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 742ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 743ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 744ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 745ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << pFormControl->GetTextPosition(); 746ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 747ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 748ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 749ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 750ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetButtonPosition(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number) 751ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 752ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 753ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 754ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 755ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::buttonScaleHow(OBJ_PROP_PARAMS) 756ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 757ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 758ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 759ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 760ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 761ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 762ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 763ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nVP; 764ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> nVP; 765ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 766ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 767ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 768ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Int(FP_BUTTONSCALEHOW, nVP); 769ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 770ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 771ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 772ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetButtonScaleHow(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); 773ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 774ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 775ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 776ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 777ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 778ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName, FieldArray); 779ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 780ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 781ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 782ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 783ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 784ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) 785ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 786ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 787ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 788ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 789ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 790ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_IconFit IconFit = pFormControl->GetIconFit(); 791ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (IconFit.IsProportionalScale()) 792ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32)0; 793ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 794ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32)1; 795ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 796ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 797ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 798ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 799ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 800ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetButtonScaleHow(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number) 801ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 802ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 803ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 804ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 805ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::buttonScaleWhen(OBJ_PROP_PARAMS) 806ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 807ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 808ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 809ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 810ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 811ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 812ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 813ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nVP; 814ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> nVP; 815ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 816ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 817ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 818ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Int(FP_BUTTONSCALEWHEN, nVP); 819ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 820ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 821ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 822ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetButtonScaleWhen(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); 823ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 824ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 825ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 826ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 827ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 828ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 829ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 830ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 831ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*) FieldArray.ElementAt(0); 832ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 833ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 834ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) 835ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 836ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 837ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 838ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl) return FALSE; 839ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 840ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_IconFit IconFit = pFormControl->GetIconFit(); 841ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int ScaleM = IconFit.GetScaleMethod(); 842ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov switch (ScaleM) 843ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 844ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case CPDF_IconFit::Always : 845ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32) CPDF_IconFit::Always; 846ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 847ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case CPDF_IconFit::Bigger : 848ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32) CPDF_IconFit::Bigger; 849ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 850ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case CPDF_IconFit::Never : 851ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32) CPDF_IconFit::Never; 852ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 853ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case CPDF_IconFit::Smaller : 854ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32) CPDF_IconFit::Smaller; 855ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 856ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 857ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 858ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 859ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 860ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 861ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 862ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetButtonScaleWhen(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number) 863ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 864ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 865ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 866ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 867ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::calcOrderIndex(OBJ_PROP_PARAMS) 868ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 869ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 870ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 871ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 872ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 873ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 874ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 875ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nVP; 876ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> nVP; 877ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 878ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 879ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 880ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Int(FP_CALCORDERINDEX, nVP); 881ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 882ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 883ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 884ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetCalcOrderIndex(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); 885ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 886ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 887ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 888ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 889ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 890ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName, FieldArray); 891ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 892ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 893ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 894ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 895ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 896ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) 897ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 898ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 899ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pRDInterForm = m_pDocument->GetInterForm(); 900ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pRDInterForm != NULL); 901ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 902ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_InterForm* pInterForm = pRDInterForm->GetInterForm(); 903ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 904ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 905ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32)pInterForm->FindFieldInCalculationOrder(pFormField); 906ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 907ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 908ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 909ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 910ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 911ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetCalcOrderIndex(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number) 912ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 913ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 914ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 915ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 916ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::charLimit(OBJ_PROP_PARAMS) 917ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 918ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 919ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 920ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 921ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 922ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 923ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 924ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nVP; 925ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> nVP; 926ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 927ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 928ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 929ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Int(FP_CHARLIMIT, nVP); 930ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 931ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 932ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 933ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetCharLimit(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); 934ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 935ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 936ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 937ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 938ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 939ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName, FieldArray); 940ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 941ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 942ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 943ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 944ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 945ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) 946ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 947ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 948ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32)pFormField->GetMaxLen(); 949ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 950ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 951ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 952ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 953ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetCharLimit(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number) 954ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 955ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 956ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 957ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 958ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::comb(OBJ_PROP_PARAMS) 959ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 960ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 961ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 962ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 963ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 964ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 965ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 966ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 967ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 968ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 969ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 970ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 971ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Bool(FP_COMB, bVP); 972ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 973ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 974ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 975ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetComb(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); 976ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 977ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 978ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 979ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 980ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 981ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 982ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 983ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 984ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 985ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 986ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 987ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) 988ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 989ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 990ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldFlags() & FIELDFLAG_COMB) 991ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 992ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 993ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 994ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 995ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 996ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 997ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 998ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 999ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetComb(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b) 1000ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1001ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 1002ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1003ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1004ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::commitOnSelChange(OBJ_PROP_PARAMS) 1005ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1006ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 1007ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1008ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1009ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1010ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1011ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1012ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 1013ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 1014ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1015ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 1016ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1017ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Bool(FP_COMMITONSELCHANGE, bVP); 1018ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1019ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1020ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1021ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetCommitOnSelChange(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); 1022ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1023ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1024ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1025ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1026ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1027ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 1028ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 1029ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1030ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 1031ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1032ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1033ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && pFormField->GetFieldType() != FIELDTYPE_LISTBOX) 1034ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 1035ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1036ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldFlags() & FIELDFLAG_COMMITONSELCHANGE) 1037ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 1038ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1039ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 1040ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1041ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1042ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1043ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1044ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1045ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetCommitOnSelChange(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b) 1046ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1047ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 1048ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1049ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1050ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::currentValueIndices(OBJ_PROP_PARAMS) 1051ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1052ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 1053ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1054ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1055ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1056ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1057ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1058ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_DWordArray array; 1059ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1060ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.GetType() == VT_number) 1061ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1062ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iSelecting = 0; 1063ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> iSelecting; 1064ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov array.Add(iSelecting); 1065ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1066ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (vp.IsArrayObject()) 1067ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1068ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array SelArray(m_isolate); 1069ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Value SelValue(m_isolate); 1070ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iSelecting; 1071ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> SelArray; 1072ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=SelArray.GetLength(); i<sz; i++) 1073ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1074ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SelArray.GetElement(i,SelValue); 1075ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov iSelecting = (FX_INT32)SelValue; 1076ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov array.Add(iSelecting); 1077ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1078ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1079ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1080ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 1081ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1082ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_WordArray(FP_CURRENTVALUEINDICES, array); 1083ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1084ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1085ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1086ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetCurrentValueIndices(m_pDocument, m_FieldName, m_nFormControlIndex, array); 1087ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1088ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1089ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1090ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1091ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1092ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 1093ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 1094ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1095ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 1096ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1097ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1098ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && pFormField->GetFieldType() != FIELDTYPE_LISTBOX) 1099ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 1100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->CountSelectedItems() == 1) 1102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << pFormField->GetSelectedIndex(0); 1103ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (pFormField->CountSelectedItems() > 1) 1104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array SelArray(m_isolate); 1106ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=pFormField->CountSelectedItems(); i<sz; i++) 1107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SelArray.SetElement(i, CJS_Value(m_isolate,pFormField->GetSelectedIndex(i))); 1109ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1110ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << SelArray; 1111ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1112ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1113ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << -1; 1114ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1115ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1116ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1117ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1118ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1119ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetCurrentValueIndices(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, 1120ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov const CFX_DWordArray& array) 1121ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1122ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDocument != NULL); 1123ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1124ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1125ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(pDocument, swFieldName, FieldArray); 1126ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1127ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) 1128ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1129ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); 1130ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1131ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1132ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nFieldType = pFormField->GetFieldType(); 1133ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_LISTBOX) 1134ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1135ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD dwFieldFlags = pFormField->GetFieldFlags(); 1136ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->ClearSelection(TRUE); 1137ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1138ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=array.GetSize(); i<sz; i++) 1139ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1140ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (i>0 && !(dwFieldFlags & (1<<21))) 1141ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1142ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1143ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1144ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1145ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iSelecting = (FX_INT32)array.GetAt(i); 1146ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (iSelecting < pFormField->CountOptions() && !pFormField->IsItemSelected(iSelecting)) 1147ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->SetItemSelection(iSelecting, TRUE); 1148ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1149ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1150ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormField(pDocument, pFormField, TRUE, TRUE, TRUE); 1151ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1152ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1153ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1154ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1155ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::defaultStyle(OBJ_PROP_PARAMS) 1156ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1157ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov // MQG sError = JSGetStringFromID(IDS_STRING_NOTSUPPORT); 1158ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 1159ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1160ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1161ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1162ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1163ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1164ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ; 1165ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1166ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1167ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1168ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ; 1169ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1170ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1171ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1172ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1173ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetDefaultStyle(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex) 1174ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1175ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 1176ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1177ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1178ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::defaultValue(OBJ_PROP_PARAMS) 1179ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1180ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 1181ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1182ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1183ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1184ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1185ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1186ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString WideStr; 1187ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> WideStr; 1188ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1189ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 1190ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1191ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_WideString(FP_DEFAULTVALUE, WideStr); 1192ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1193ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1194ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1195ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetDefaultValue(m_pDocument, m_FieldName, m_nFormControlIndex, WideStr); 1196ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1197ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1198ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1199ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1200ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1201ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 1202ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 1203ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1204ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 1205ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1206ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1207ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON || 1208ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->GetFieldType() == FIELDTYPE_SIGNATURE) 1209ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 1210ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1211ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << pFormField->GetDefaultValue(); 1212ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1213ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1214ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1215ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1216ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetDefaultValue(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, 1217ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov const CFX_WideString& string) 1218ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1219ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 1220ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1221ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1222ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::doNotScroll(OBJ_PROP_PARAMS) 1223ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1224ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 1225ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1226ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1227ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1228ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1229ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1230ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 1231ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 1232ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1233ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 1234ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1235ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Bool(FP_DONOTSCROLL, bVP); 1236ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1237ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1238ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1239ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetDoNotScroll(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); 1240ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1241ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1242ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1243ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1244ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1245ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 1246ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 1247ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1248ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 1249ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1250ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1251ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) 1252ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 1253ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1254ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldFlags() & FIELDFLAG_DONOTSCROLL) 1255ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 1256ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1257ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 1258ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1259ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1260ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1261ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1262ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1263ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetDoNotScroll(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b) 1264ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1265ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 1266ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1267ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1268ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::doNotSpellCheck(OBJ_PROP_PARAMS) 1269ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1270ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 1271ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1272ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1273ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1274ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1275ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1276ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 1277ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 1278ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1279ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1280ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1281ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1282ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 1283ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 1284ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1285ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 1286ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1287ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1288ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD && 1289ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->GetFieldType() != FIELDTYPE_COMBOBOX) 1290ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 1291ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1292ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldFlags() & FIELDFLAG_DONOTSPELLCHECK) 1293ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 1294ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1295ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 1296ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1297ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1298ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1299ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1300ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1301ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetDelay(FX_BOOL bDelay) 1302ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1303ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_bDelay = bDelay; 1304ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1305ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bDelay) 1306ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1307ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_pJSDoc) 1308ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pJSDoc->DoFieldDelay(m_FieldName, m_nFormControlIndex); 1309ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1310ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1311ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1312ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::delay(OBJ_PROP_PARAMS) 1313ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1314ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1315ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1316ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1317ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1318ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 1319ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 1320ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1321ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SetDelay(bVP); 1322ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1323ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1324ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1325ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << m_bDelay; 1326ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1327ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1328ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1329ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1330ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::display(OBJ_PROP_PARAMS) 1331ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1332ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 1333ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1334ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1335ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1336ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1337ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1338ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nVP; 1339ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> nVP; 1340ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1341ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 1342ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1343ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Int(FP_DISPLAY, nVP); 1344ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1345ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1346ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1347ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetDisplay(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); 1348ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1349ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1350ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1351ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1352ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1353ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 1354ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 1355ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1356ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 1357ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1358ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1359ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); 1360ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 1361ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1362ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Widget* pWidget = pInterForm->GetWidget(GetSmartFieldControl(pFormField)); 1363ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pWidget)return FALSE; 1364ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1365ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD dwFlag = pWidget->GetFlags(); 1366ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1367ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (ANNOTFLAG_INVISIBLE & dwFlag || ANNOTFLAG_HIDDEN & dwFlag) 1368ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1369ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32)1; 1370ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1371ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1372ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1373ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (ANNOTFLAG_PRINT & dwFlag) 1374ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1375ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (ANNOTFLAG_NOVIEW & dwFlag) 1376ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1377ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32)3; 1378ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1379ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1380ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1381ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32)0; 1382ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1383ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1384ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1385ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1386ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32)2; 1387ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1388ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1389ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1390ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1391ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1392ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1393ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1394ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetDisplay(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number) 1395ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1396ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDocument != NULL); 1397ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1398ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); 1399ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 1400ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1401ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1402ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(pDocument, swFieldName, FieldArray); 1403ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1404ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) 1405ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1406ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); 1407ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1408ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1409ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nControlIndex < 0) 1410ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1411ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bSet = FALSE; 1412ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int j=0,jsz = pFormField->CountControls(); j<jsz; j++) 1413ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1414ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = pFormField->GetControl(j); 1415ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormControl != NULL); 1416ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1417ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl)) 1418ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1419ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD dwFlag = pWidget->GetFlags(); 1420ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov switch (number) 1421ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1422ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case 0: 1423ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_INVISIBLE); 1424ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_HIDDEN); 1425ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_NOVIEW); 1426ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag |= ANNOTFLAG_PRINT; 1427ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1428ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case 1: 1429ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_INVISIBLE); 1430ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_NOVIEW); 1431ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag |= (ANNOTFLAG_HIDDEN | ANNOTFLAG_PRINT); 1432ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1433ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case 2: 1434ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_INVISIBLE); 1435ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_PRINT); 1436ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_HIDDEN); 1437ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_NOVIEW); 1438ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1439ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case 3: 1440ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag |= ANNOTFLAG_NOVIEW; 1441ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag |= ANNOTFLAG_PRINT; 1442ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_HIDDEN); 1443ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1444ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1445ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1446ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (dwFlag != pWidget->GetFlags()) 1447ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1448ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->SetFlags(dwFlag); 1449ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bSet = TRUE; 1450ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1451ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1452ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1453ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1454ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bSet) UpdateFormField(pDocument, pFormField, TRUE, FALSE, TRUE); 1455ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1456ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1457ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1458ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(nControlIndex >= pFormField->CountControls()) return; 1459ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControlIndex)) 1460ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1461ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl)) 1462ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1463ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1464ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD dwFlag = pWidget->GetFlags(); 1465ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov switch (number) 1466ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1467ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case 0: 1468ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_INVISIBLE); 1469ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_HIDDEN); 1470ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_NOVIEW); 1471ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag |= ANNOTFLAG_PRINT; 1472ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1473ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case 1: 1474ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_INVISIBLE); 1475ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_NOVIEW); 1476ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag |= (ANNOTFLAG_HIDDEN | ANNOTFLAG_PRINT); 1477ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1478ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case 2: 1479ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_INVISIBLE); 1480ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_PRINT); 1481ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_HIDDEN); 1482ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_NOVIEW); 1483ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1484ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case 3: 1485ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag |= ANNOTFLAG_NOVIEW; 1486ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag |= ANNOTFLAG_PRINT; 1487ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlag &= (~ANNOTFLAG_HIDDEN); 1488ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1489ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1490ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (dwFlag != pWidget->GetFlags()) 1491ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1492ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->SetFlags(dwFlag); 1493ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormControl(pDocument, pFormControl, TRUE, FALSE, TRUE); 1494ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1495ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1496ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1497ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1498ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1499ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1500ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1501ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::doc(OBJ_PROP_PARAMS) 1502ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1503ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pJSDoc != NULL); 1504ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1505ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!vp.IsGetting())return FALSE; 1506ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1507ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (CJS_Object*)(*m_pJSDoc); 1508ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1509ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1510ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1511ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1512ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::editable(OBJ_PROP_PARAMS) 1513ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1514ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 1515ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1516ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1517ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1518ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1519ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1520ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 1521ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 1522ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1523ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1524ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1525ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1526ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1527ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName, FieldArray); 1528ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 1529ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1530ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 1531ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1532ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1533ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX) 1534ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 1535ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1536ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldFlags() & FIELDFLAG_EDIT) 1537ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 1538ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1539ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 1540ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1541ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1542ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1543ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1544ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1545ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::exportValues(OBJ_PROP_PARAMS) 1546ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1547ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 1548ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1549ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1550ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 1551ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 1552ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1553ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 1554ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1555ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1556ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_CHECKBOX && 1557ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON) 1558ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 1559ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1560ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1561ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1562ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1563ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!vp.IsArrayObject())return FALSE; 1564ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1565ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1566ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1567ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array ExportValusArray(m_isolate); 1568ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1569ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_nFormControlIndex < 0) 1570ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1571ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=pFormField->CountControls(); i<sz; i++) 1572ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1573ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = pFormField->GetControl(i); 1574ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormControl != NULL); 1575ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1576ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ExportValusArray.SetElement(i, CJS_Value(m_isolate,(FX_LPCWSTR)pFormControl->GetExportValue())); 1577ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1578ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1579ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1580ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1581ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(m_nFormControlIndex >= pFormField->CountControls()) return FALSE; 1582ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = pFormField->GetControl(m_nFormControlIndex); 1583ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl) return FALSE; 1584ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1585ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ExportValusArray.SetElement(0, CJS_Value(m_isolate,(FX_LPCWSTR)pFormControl->GetExportValue())); 1586ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1587ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1588ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << ExportValusArray; 1589ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1590ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1591ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1592ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1593ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1594ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::fileSelect(OBJ_PROP_PARAMS) 1595ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1596ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 1597ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1598ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1599ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName, FieldArray); 1600ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 1601ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1602ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 1603ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1604ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1605ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) 1606ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 1607ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1608ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1609ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1610ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1611ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1612ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 1613ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 1614ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1615ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1616ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1617ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1618ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldFlags() & FIELDFLAG_FILESELECT) 1619ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 1620ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1621ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 1622ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1623ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1624ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1625ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1626ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1627ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::fillColor(OBJ_PROP_PARAMS) 1628ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1629ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 1630ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1631ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array crArray(m_isolate); 1632ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1633ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1634ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 1635ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 1636ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1637ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1638ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1639ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1640ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!vp.IsArrayObject()) return FALSE; 1641ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1642ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> crArray; 1643ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1644ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPWL_Color color; 1645ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color::ConvertArrayToPWLColor(crArray, color); 1646ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1647ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 1648ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1649ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Color(FP_FILLCOLOR, color); 1650ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1651ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1652ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1653ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetFillColor(m_pDocument, m_FieldName, m_nFormControlIndex, color); 1654ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1655ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1656ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1657ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1658ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 1659ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1660ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1661ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 1662ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 1663ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1664ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iColorType; 1665ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormControl->GetBackgroundColor(iColorType); 1666ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1667ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPWL_Color color; 1668ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1669ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (iColorType == COLORTYPE_TRANSPARENT) 1670ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1671ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color = CPWL_Color(COLORTYPE_TRANSPARENT); 1672ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1673ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (iColorType == COLORTYPE_GRAY) 1674ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1675ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color = CPWL_Color(COLORTYPE_GRAY, pFormControl->GetOriginalBackgroundColor(0)); 1676ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1677ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (iColorType == COLORTYPE_RGB) 1678ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1679ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color = CPWL_Color(COLORTYPE_RGB, pFormControl->GetOriginalBackgroundColor(0), 1680ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormControl->GetOriginalBackgroundColor(1), 1681ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormControl->GetOriginalBackgroundColor(2)); 1682ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1683ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (iColorType == COLORTYPE_CMYK) 1684ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1685ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color = CPWL_Color(COLORTYPE_CMYK, pFormControl->GetOriginalBackgroundColor(0), 1686ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormControl->GetOriginalBackgroundColor(1), 1687ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormControl->GetOriginalBackgroundColor(2), 1688ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormControl->GetOriginalBackgroundColor(3)); 1689ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1690ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1691ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 1692ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1693ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color::ConvertPWLColorToArray(color, crArray); 1694ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << crArray; 1695ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1696ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1697ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1698ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1699ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1700ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetFillColor(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CPWL_Color& color) 1701ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1702ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 1703ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1704ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1705ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::hidden(OBJ_PROP_PARAMS) 1706ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1707ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 1708ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1709ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1710ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1711ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1712ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1713ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 1714ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 1715ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1716ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 1717ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1718ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Bool(FP_HIDDEN, bVP); 1719ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1720ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1721ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1722ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetHidden(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); 1723ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1724ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1725ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1726ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1727ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1728ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 1729ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 1730ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1731ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 1732ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1733ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1734ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); 1735ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 1736ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1737ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Widget* pWidget = pInterForm->GetWidget(GetSmartFieldControl(pFormField)); 1738ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pWidget) return FALSE; 1739ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1740ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD dwFlags = pWidget->GetFlags(); 1741ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1742ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (ANNOTFLAG_INVISIBLE & dwFlags || ANNOTFLAG_HIDDEN & dwFlags) 1743ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1744ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 1745ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1746ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1747ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 1748ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1749ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1750ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1751ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1752ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1753ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetHidden(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b) 1754ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1755ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDocument != NULL); 1756ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1757ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); 1758ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 1759ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1760ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1761ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(pDocument, swFieldName, FieldArray); 1762ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1763ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) 1764ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1765ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); 1766ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1767ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1768ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nControlIndex < 0) 1769ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1770ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bSet = FALSE; 1771ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int j=0,jsz = pFormField->CountControls(); j<jsz; j++) 1772ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1773ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormField->GetControl(j))) 1774ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1775ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD dwFlags = pWidget->GetFlags(); 1776ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1777ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (b) 1778ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1779ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags &= (~ANNOTFLAG_INVISIBLE); 1780ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags &= (~ANNOTFLAG_NOVIEW); 1781ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags |= (ANNOTFLAG_HIDDEN | ANNOTFLAG_PRINT); 1782ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1783ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1784ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1785ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags &= (~ANNOTFLAG_INVISIBLE); 1786ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags &= (~ANNOTFLAG_HIDDEN); 1787ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags &= (~ANNOTFLAG_NOVIEW); 1788ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags |= ANNOTFLAG_PRINT; 1789ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1790ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1791ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (dwFlags != pWidget->GetFlags()) 1792ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1793ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->SetFlags(dwFlags); 1794ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bSet = TRUE; 1795ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1796ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1797ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1798ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1799ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bSet) 1800ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormField(pDocument, pFormField, TRUE, FALSE, TRUE); 1801ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1802ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1803ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1804ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(nControlIndex >= pFormField->CountControls()) return; 1805ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControlIndex)) 1806ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1807ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl)) 1808ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1809ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD dwFlags = pWidget->GetFlags(); 1810ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1811ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (b) 1812ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1813ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags &= (~ANNOTFLAG_INVISIBLE); 1814ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags &= (~ANNOTFLAG_NOVIEW); 1815ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags |= (ANNOTFLAG_HIDDEN | ANNOTFLAG_PRINT); 1816ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1817ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1818ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1819ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags &= (~ANNOTFLAG_INVISIBLE); 1820ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags &= (~ANNOTFLAG_HIDDEN); 1821ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags &= (~ANNOTFLAG_NOVIEW); 1822ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags |= ANNOTFLAG_PRINT; 1823ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1824ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1825ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (dwFlags != pWidget->GetFlags()) 1826ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1827ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->SetFlags(dwFlags); 1828ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormControl(pDocument, pFormControl, TRUE, FALSE, TRUE); 1829ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1830ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1831ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1832ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1833ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1834ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1835ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1836ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::highlight(OBJ_PROP_PARAMS) 1837ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1838ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 1839ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1840ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1841ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1842ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1843ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1844ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString strMode; 1845ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> strMode; 1846ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1847ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 1848ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1849ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_String(FP_HIGHLIGHT, strMode); 1850ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1851ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1852ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1853ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetHighlight(m_pDocument, m_FieldName, m_nFormControlIndex, strMode); 1854ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1855ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1856ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1857ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1858ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1859ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 1860ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 1861ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1862ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 1863ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1864ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1865ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) 1866ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 1867ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1868ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 1869ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl) return FALSE; 1870ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1871ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int eHM = pFormControl->GetHighlightingMode(); 1872ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov switch (eHM) 1873ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1874ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case CPDF_FormControl::None: 1875ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"none"; 1876ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1877ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case CPDF_FormControl::Push: 1878ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"push"; 1879ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1880ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case CPDF_FormControl::Invert: 1881ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"invert"; 1882ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1883ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case CPDF_FormControl::Outline: 1884ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"outline"; 1885ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1886ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case CPDF_FormControl::Toggle: 1887ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"toggle"; 1888ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 1889ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1890ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1891ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1892ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1893ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1894ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1895ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetHighlight(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CFX_ByteString& string) 1896ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1897ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 1898ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1899ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1900ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::lineWidth(OBJ_PROP_PARAMS) 1901ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1902ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 1903ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1904ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 1905ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1906ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 1907ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1908ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iWidth; 1909ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> iWidth; 1910ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1911ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 1912ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1913ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Int(FP_LINEWIDTH, iWidth); 1914ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1915ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1916ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1917ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetLineWidth(m_pDocument, m_FieldName, m_nFormControlIndex, iWidth); 1918ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1919ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1920ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1921ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1922ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1923ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 1924ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 1925ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1926ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 1927ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1928ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1929ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 1930ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl) return FALSE; 1931ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1932ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); 1933ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 1934ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1935ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(!pFormField->CountControls()) return FALSE; 1936ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1937ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormField->GetControl(0)); 1938ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pWidget) return FALSE; 1939ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1940ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32)pWidget->GetBorderWidth(); 1941ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1942ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1943ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 1944ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1945ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1946ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetLineWidth(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number) 1947ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1948ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDocument != NULL); 1949ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1950ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); 1951ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 1952ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1953ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 1954ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(pDocument, swFieldName, FieldArray); 1955ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1956ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) 1957ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1958ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); 1959ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 1960ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1961ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nControlIndex < 0) 1962ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1963ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bSet = FALSE; 1964ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int j=0,jsz=pFormField->CountControls(); j<jsz; j++) 1965ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1966ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = pFormField->GetControl(j); 1967ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormControl != NULL); 1968ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1969ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl)) 1970ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1971ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (number != pWidget->GetBorderWidth()) 1972ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1973ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->SetBorderWidth(number); 1974ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bSet = TRUE; 1975ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1976ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1977ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1978ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bSet) UpdateFormField(pDocument, pFormField, TRUE, TRUE, TRUE); 1979ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1980ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 1981ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1982ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(nControlIndex >= pFormField->CountControls()) return; 1983ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControlIndex)) 1984ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1985ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl)) 1986ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1987ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (number != pWidget->GetBorderWidth()) 1988ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1989ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->SetBorderWidth(number); 1990ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormControl(pDocument, pFormControl, TRUE, TRUE, TRUE); 1991ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1992ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1993ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1994ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1995ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1996ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 1997ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1998ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::multiline(OBJ_PROP_PARAMS) 1999ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2000ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2001ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2002ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2003ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2004ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2005ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2006ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 2007ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 2008ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2009ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 2010ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2011ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Bool(FP_MULTILINE, bVP); 2012ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2013ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2014ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2015ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetMultiline(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); 2016ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2017ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2018ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2019ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2020ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2021ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName, FieldArray); 2022ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2023ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2024ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2025ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2026ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2027ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) 2028ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 2029ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2030ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldFlags() & FIELDFLAG_MULTILINE) 2031ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 2032ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2033ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 2034ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2035ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2036ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2037ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2038ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2039ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetMultiline(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b) 2040ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2041ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 2042ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2043ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2044ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::multipleSelection(OBJ_PROP_PARAMS) 2045ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2046ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2047ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2048ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2049ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2050ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2051ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2052ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 2053ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 2054ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2055ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 2056ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2057ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Bool(FP_MULTIPLESELECTION, bVP); 2058ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2059ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2060ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2061ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetMultipleSelection(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); 2062ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2063ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2064ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2065ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2066ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2067ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2068ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2069ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2070ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2071ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2072ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2073ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_LISTBOX) 2074ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 2075ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2076ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldFlags() & FIELDFLAG_MULTISELECT) 2077ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 2078ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2079ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 2080ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2081ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2082ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2083ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2084ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2085ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetMultipleSelection(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b) 2086ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2087ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 2088ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2089ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2090ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::name(OBJ_PROP_PARAMS) 2091ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2092ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!vp.IsGetting()) return FALSE; 2093ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2094ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2095ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName, FieldArray); 2096ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2097ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2098ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << m_FieldName; 2099ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2103ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::numItems(OBJ_PROP_PARAMS) 2104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2106ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName, FieldArray); 2107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2109ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2110ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2111ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2112ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && 2113ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->GetFieldType() != FIELDTYPE_LISTBOX) 2114ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 2115ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2116ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!vp.IsGetting()) return FALSE; 2117ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2118ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32)pFormField->CountOptions(); 2119ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2120ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2121ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2122ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2123ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::page(OBJ_PROP_PARAMS) 2124ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2125ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!vp.IsGetting()) return FALSE; 2126ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2127ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2128ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName, FieldArray); 2129ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2130ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2131ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2132ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormField) return FALSE; 2133ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2134ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2135ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2136ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); 2137ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 2138ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2139ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray widgetArray; 2140ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pInterForm->GetWidgets(pFormField, widgetArray); 2141ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2142ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (widgetArray.GetSize() > 0) 2143ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2144ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array PageArray(m_isolate); 2145ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2146ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=widgetArray.GetSize(); i<sz; i++) 2147ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2148ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgetArray.GetAt(i); 2149ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pWidget != NULL); 2150ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2151ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_PageView* pPageView = pWidget->GetPageView(); 2152ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(!pPageView) 2153ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 2154ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2155ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov PageArray.SetElement(i, CJS_Value(m_isolate,(FX_INT32)pPageView->GetPageIndex())); 2156ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2157ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2158ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << PageArray; 2159ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2160ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2161ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2162ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32) -1; 2163ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2164ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2165ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2166ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2167ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2168ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::password(OBJ_PROP_PARAMS) 2169ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2170ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2171ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2172ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2173ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2174ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2175ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2176ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 2177ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 2178ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2179ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 2180ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2181ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Bool(FP_PASSWORD, bVP); 2182ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2183ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2184ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2185ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetPassword(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); 2186ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2187ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2188ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2189ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2190ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2191ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2192ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2193ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2194ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2195ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2196ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2197ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) 2198ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 2199ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2200ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldFlags() & FIELDFLAG_PASSWORD) 2201ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 2202ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2203ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 2204ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2205ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2206ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2207ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2208ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2209ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetPassword(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b) 2210ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2211ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 2212ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2213ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2214ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::print(OBJ_PROP_PARAMS) 2215ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2216ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2217ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2218ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); 2219ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 2220ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2221ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2222ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName, FieldArray); 2223ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2224ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2225ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2226ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2227ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2228ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2229ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 2230ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 2231ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2232ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) 2233ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2234ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); 2235ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2236ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2237ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_nFormControlIndex < 0) 2238ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2239ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bSet = FALSE; 2240ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int j=0,jsz = pFormField->CountControls(); j<jsz; j++) 2241ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2242ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormField->GetControl(j))) 2243ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2244ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD dwFlags = pWidget->GetFlags(); 2245ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bVP) 2246ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags |= ANNOTFLAG_PRINT; 2247ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2248ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags &= ~ANNOTFLAG_PRINT; 2249ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2250ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (dwFlags != pWidget->GetFlags()) 2251ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2252ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->SetFlags(dwFlags); 2253ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bSet = TRUE; 2254ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2255ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2256ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2257ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2258ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bSet) 2259ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormField(m_pDocument, pFormField, TRUE, FALSE, TRUE); 2260ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2261ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2262ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2263ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(m_nFormControlIndex >= pFormField->CountControls()) return FALSE; 2264ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDF_FormControl* pFormControl = pFormField->GetControl(m_nFormControlIndex)) 2265ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2266ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl)) 2267ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2268ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD dwFlags = pWidget->GetFlags(); 2269ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bVP) 2270ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags |= ANNOTFLAG_PRINT; 2271ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2272ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov dwFlags &= ~ANNOTFLAG_PRINT; 2273ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2274ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (dwFlags != pWidget->GetFlags()) 2275ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2276ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->SetFlags(dwFlags); 2277ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormControl(m_pDocument, pFormField->GetControl(m_nFormControlIndex), TRUE, FALSE, TRUE); 2278ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2279ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2280ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2281ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2282ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2283ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2284ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2285ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2286ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2287ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2288ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2289ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Widget* pWidget = pInterForm->GetWidget(GetSmartFieldControl(pFormField)); 2290ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pWidget) return FALSE; 2291ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2292ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pWidget->GetFlags() & ANNOTFLAG_PRINT) 2293ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 2294ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2295ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 2296ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2297ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2298ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2299ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2300ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2301ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::radiosInUnison(OBJ_PROP_PARAMS) 2302ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2303ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2304ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2305ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2306ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2307ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2308ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2309ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2310ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2311ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2312ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2313ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 2314ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 2315ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2316ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2317ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2318ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2319ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2320ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2321ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2322ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON) 2323ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 2324ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2325ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldFlags() & FIELDFLAG_RADIOSINUNISON) 2326ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 2327ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2328ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 2329ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2330ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2331ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2332ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2333ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2334ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::readonly(OBJ_PROP_PARAMS) 2335ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2336ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2337ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2338ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2339ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2340ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2341ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2342ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2343ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2344ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2345ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2346ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 2347ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 2348ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2349ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2350ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2351ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2352ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2353ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2354ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2355ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldFlags() & FIELDFLAG_READONLY) 2356ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 2357ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2358ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 2359ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2360ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2361ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2362ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2363ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2364ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::rect(OBJ_PROP_PARAMS) 2365ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2366ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2367ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2368ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2369ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2370ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2371ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!vp.IsArrayObject())return FALSE; 2372ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2373ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array rcArray(m_isolate); 2374ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> rcArray; 2375ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Value Upper_Leftx(m_isolate), Upper_Lefty(m_isolate), Lower_Rightx(m_isolate), Lower_Righty(m_isolate); 2376ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov rcArray.GetElement(0, Upper_Leftx); 2377ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov rcArray.GetElement(1, Upper_Lefty); 2378ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov rcArray.GetElement(2, Lower_Rightx); 2379ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov rcArray.GetElement(3, Lower_Righty); 2380ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2381ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_FLOAT pArray[4] = {0.0f,0.0f,0.0f,0.0f}; 2382ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pArray[0] = (FX_FLOAT)(FX_INT32)Upper_Leftx; 2383ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pArray[1] = (FX_FLOAT)(FX_INT32)Lower_Righty; 2384ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pArray[2] = (FX_FLOAT)(FX_INT32)Lower_Rightx; 2385ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pArray[3] = (FX_FLOAT)(FX_INT32)Upper_Lefty; 2386ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2387ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Rect crRect(pArray); 2388ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2389ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 2390ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2391ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Rect(FP_RECT, crRect); 2392ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2393ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2394ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2395ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetRect(m_pDocument, m_FieldName, m_nFormControlIndex, crRect); 2396ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2397ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2398ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2399ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2400ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2401ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2402ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2403ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2404ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2405ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2406ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2407ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); 2408ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 2409ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2410ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Widget* pWidget = pInterForm->GetWidget(GetSmartFieldControl(pFormField)); 2411ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pWidget) return FALSE; 2412ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2413ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_FloatRect crRect = pWidget->GetRect(); 2414ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Value Upper_Leftx(m_isolate),Upper_Lefty(m_isolate),Lower_Rightx(m_isolate),Lower_Righty(m_isolate); 2415ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Upper_Leftx = (FX_INT32)crRect.left; 2416ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Upper_Lefty = (FX_INT32)crRect.top; 2417ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Lower_Rightx = (FX_INT32)crRect.right; 2418ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Lower_Righty = (FX_INT32)crRect.bottom; 2419ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2420ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array rcArray(m_isolate); 2421ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov rcArray.SetElement(0,Upper_Leftx); 2422ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov rcArray.SetElement(1,Upper_Lefty); 2423ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov rcArray.SetElement(2,Lower_Rightx); 2424ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov rcArray.SetElement(3,Lower_Righty); 2425ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2426ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << rcArray; 2427ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2428ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2429ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2430ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2431ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2432ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetRect(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CPDF_Rect& rect) 2433ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2434ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDocument != NULL); 2435ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2436ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); 2437ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 2438ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2439ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2440ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(pDocument, swFieldName, FieldArray); 2441ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2442ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) 2443ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2444ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); 2445ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2446ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2447ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nControlIndex < 0) 2448ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2449ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bSet = FALSE; 2450ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0, sz=pFormField->CountControls(); i<sz; i++) 2451ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2452ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = pFormField->GetControl(i); 2453ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormControl != NULL); 2454ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2455ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl)) 2456ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2457ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Rect crRect = rect; 2458ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2459ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Page* pPDFPage = pWidget->GetPDFPage(); 2460ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pPDFPage != NULL); 2461ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2462ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// CPDF_Page* pPDFPage = pPage->GetPage(); 2463ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// ASSERT(pPDFPage != NULL); 2464ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2465ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov crRect.Intersect(pPDFPage->GetPageBBox()); 2466ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2467ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!crRect.IsEmpty()) 2468ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2469ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Rect rcOld = pWidget->GetRect(); 2470ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (crRect.left != rcOld.left || 2471ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov crRect.right != rcOld.right || 2472ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov crRect.top != rcOld.top || 2473ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov crRect.bottom != rcOld.bottom) 2474ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2475ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->SetRect(crRect); 2476ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bSet = TRUE; 2477ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2478ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2479ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2480ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2481ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2482ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bSet) UpdateFormField(pDocument, pFormField, TRUE, TRUE, TRUE); 2483ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2484ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2485ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2486ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(nControlIndex >= pFormField->CountControls()) return; 2487ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControlIndex)) 2488ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2489ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl)) 2490ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2491ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Rect crRect = rect; 2492ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2493ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Page* pPDFPage = pWidget->GetPDFPage(); 2494ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pPDFPage != NULL); 2495ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2496ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// CPDF_Page* pPDFPage = pPage->GetPage(); 2497ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// ASSERT(pPDFPage != NULL); 2498ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2499ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov crRect.Intersect(pPDFPage->GetPageBBox()); 2500ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2501ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!crRect.IsEmpty()) 2502ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2503ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Rect rcOld = pWidget->GetRect(); 2504ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (crRect.left != rcOld.left || 2505ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov crRect.right != rcOld.right || 2506ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov crRect.top != rcOld.top || 2507ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov crRect.bottom != rcOld.bottom) 2508ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2509ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget->SetRect(crRect); 2510ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormControl(pDocument, pFormControl, TRUE, TRUE, TRUE); 2511ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2512ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2513ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2514ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2515ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2516ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2517ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2518ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2519ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::required(OBJ_PROP_PARAMS) 2520ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2521ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2522ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2523ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2524ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2525ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2526ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2527ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2528ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2529ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2530ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2531ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2532ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 2533ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 2534ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2535ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2536ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2537ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2538ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2539ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2540ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2541ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON) 2542ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 2543ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2544ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldFlags() & FIELDFLAG_REQUIRED) 2545ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 2546ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2547ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 2548ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2549ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2550ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2551ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2552ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2553ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::richText(OBJ_PROP_PARAMS) 2554ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2555ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2556ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2557ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2558ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2559ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2560ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2561ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool bVP; 2562ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> bVP; 2563ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2564ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 2565ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2566ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Bool(FP_RICHTEXT, bVP); 2567ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2568ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2569ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2570ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetRichText(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); 2571ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2572ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2573ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2574ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2575ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2576ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2577ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2578ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2579ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2580ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2581ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2582ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) 2583ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 2584ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2585ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldFlags() & FIELDFLAG_RICHTEXT) 2586ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << true; 2587ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2588ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << false; 2589ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2590ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2591ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2592ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2593ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2594ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetRichText(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, bool b) 2595ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2596ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 2597ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2598ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2599ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::richValue(OBJ_PROP_PARAMS) 2600ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2601ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2602ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2603ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2604ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2605ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ; 2606ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2607ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2608ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2609ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ; 2610ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2611ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2612ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2613ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2614ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetRichValue(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex) 2615ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2616ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 2617ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2618ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2619ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::rotation(OBJ_PROP_PARAMS) 2620ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2621ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2622ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2623ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2624ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2625ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2626ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2627ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nVP; 2628ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> nVP; 2629ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2630ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 2631ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2632ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Int(FP_ROTATION, nVP); 2633ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2634ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2635ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2636ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetRotation(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); 2637ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2638ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2639ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2640ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2641ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2642ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2643ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2644ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2645ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2646ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2647ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2648ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 2649ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 2650ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2651ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_INT32)pFormControl->GetRotation(); 2652ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2653ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2654ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2655ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2656ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2657ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetRotation(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number) 2658ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2659ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 2660ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2661ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2662ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::strokeColor(OBJ_PROP_PARAMS) 2663ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2664ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2665ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2666ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2667ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2668ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2669ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2670ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!vp.IsArrayObject())return FALSE; 2671ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2672ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array crArray(m_isolate); 2673ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> crArray; 2674ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2675ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPWL_Color color; 2676ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color::ConvertArrayToPWLColor(crArray, color); 2677ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2678ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 2679ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2680ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Color(FP_STROKECOLOR, color); 2681ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2682ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2683ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2684ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetStrokeColor(m_pDocument, m_FieldName, m_nFormControlIndex, color); 2685ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2686ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2687ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2688ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2689ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2690ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2691ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2692ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2693ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2694ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2695ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2696ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 2697ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 2698ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2699ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iColorType; 2700ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormControl->GetBorderColor(iColorType); 2701ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2702ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPWL_Color color; 2703ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2704ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (iColorType == COLORTYPE_TRANSPARENT) 2705ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2706ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color = CPWL_Color(COLORTYPE_TRANSPARENT); 2707ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2708ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (iColorType == COLORTYPE_GRAY) 2709ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2710ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color = CPWL_Color(COLORTYPE_GRAY, pFormControl->GetOriginalBorderColor(0)); 2711ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2712ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (iColorType == COLORTYPE_RGB) 2713ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2714ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color = CPWL_Color(COLORTYPE_RGB, pFormControl->GetOriginalBorderColor(0), 2715ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormControl->GetOriginalBorderColor(1), 2716ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormControl->GetOriginalBorderColor(2)); 2717ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2718ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (iColorType == COLORTYPE_CMYK) 2719ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2720ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color = CPWL_Color(COLORTYPE_CMYK, pFormControl->GetOriginalBorderColor(0), 2721ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormControl->GetOriginalBorderColor(1), 2722ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormControl->GetOriginalBorderColor(2), 2723ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormControl->GetOriginalBorderColor(3)); 2724ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2725ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2726ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 2727ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2728ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array crArray(m_isolate); 2729ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color::ConvertPWLColorToArray(color, crArray); 2730ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << crArray; 2731ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2732ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2733ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2734ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2735ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2736ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetStrokeColor(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CPWL_Color& color) 2737ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2738ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 2739ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2740ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2741ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::style(OBJ_PROP_PARAMS) 2742ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2743ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2744ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2745ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2746ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2747ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2748ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2749ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString csBCaption; 2750ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> csBCaption; 2751ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2752ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 2753ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2754ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_String(FP_STYLE, csBCaption); 2755ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2756ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2757ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2758ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetStyle(m_pDocument, m_FieldName, m_nFormControlIndex, csBCaption); 2759ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2760ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2761ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2762ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2763ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2764ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2765ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2766ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2767ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2768ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2769ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2770ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON && 2771ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->GetFieldType() != FIELDTYPE_CHECKBOX) 2772ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 2773ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2774ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 2775ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl) return FALSE; 2776ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2777ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString csWCaption = pFormControl->GetNormalCaption(); 2778ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString csBCaption; 2779ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2780ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov switch (csWCaption[0]) 2781ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2782ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case L'l': 2783ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov csBCaption = "circle"; 2784ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 2785ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case L'8': 2786ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov csBCaption = "cross"; 2787ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 2788ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case L'u': 2789ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov csBCaption = "diamond"; 2790ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 2791ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case L'n': 2792ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov csBCaption = "square"; 2793ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 2794ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case L'H': 2795ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov csBCaption = "star"; 2796ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 2797ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov default: //L'4' 2798ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov csBCaption = "check"; 2799ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 2800ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2801ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << csBCaption; 2802ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2803ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2804ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2805ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2806ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2807ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetStyle(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, 2808ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov const CFX_ByteString& string) 2809ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2810ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 2811ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2812ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2813ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::submitName(OBJ_PROP_PARAMS) 2814ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2815ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2816ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2817ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2818ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::textColor(OBJ_PROP_PARAMS) 2819ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2820ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2821ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2822ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2823ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2824ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2825ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2826ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array crArray(m_isolate); 2827ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!vp.IsArrayObject())return FALSE; 2828ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> crArray; 2829ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2830ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPWL_Color color; 2831ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color::ConvertArrayToPWLColor(crArray, color); 2832ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2833ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 2834ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2835ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Color(FP_TEXTCOLOR, color); 2836ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2837ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2838ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2839ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetTextColor(m_pDocument, m_FieldName, m_nFormControlIndex, color); 2840ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2841ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2842ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2843ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2844ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2845ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2846ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2847ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2848ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2849ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2850ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2851ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 2852ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 2853ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2854ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iColorType; 2855ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_ARGB color; 2856ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_DefaultAppearance FieldAppearance = pFormControl->GetDefaultAppearance(); 2857ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FieldAppearance.GetColor(color, iColorType); 2858ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_INT32 a,r,g,b; 2859ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ArgbDecode(color, a, r, g, b); 2860ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2861ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPWL_Color crRet = CPWL_Color(COLORTYPE_RGB, r / 255.0f, 2862ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov g / 255.0f, 2863ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov b / 255.0f); 2864ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2865ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (iColorType == COLORTYPE_TRANSPARENT) 2866ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov crRet = CPWL_Color(COLORTYPE_TRANSPARENT); 2867ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2868ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array crArray(m_isolate); 2869ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov color::ConvertPWLColorToArray(crRet, crArray); 2870ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << crArray; 2871ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2872ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2873ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2874ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2875ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2876ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetTextColor(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CPWL_Color& color) 2877ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2878ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 2879ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2880ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2881ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::textFont(OBJ_PROP_PARAMS) 2882ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2883ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2884ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2885ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2886ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2887ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2888ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2889ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString csFontName; 2890ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> csFontName; 2891ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (csFontName.IsEmpty()) return FALSE; 2892ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2893ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 2894ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2895ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_String(FP_TEXTFONT, csFontName); 2896ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2897ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2898ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2899ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetTextFont(m_pDocument, m_FieldName, m_nFormControlIndex, csFontName); 2900ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2901ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2902ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2903ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2904ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2905ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2906ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2907ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2908ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2909ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2910ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2911ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 2912ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 2913ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2914ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nFieldType = pFormField->GetFieldType(); 2915ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2916ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nFieldType == FIELDTYPE_PUSHBUTTON || 2917ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nFieldType == FIELDTYPE_COMBOBOX || 2918ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nFieldType == FIELDTYPE_LISTBOX || 2919ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nFieldType == FIELDTYPE_TEXTFIELD) 2920ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2921ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Font * pFont = pFormControl->GetDefaultControlFont(); 2922ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFont) return FALSE; 2923ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2924ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << pFont->GetBaseFont(); 2925ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2926ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2927ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 2928ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2929ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2930ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2931ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2932ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2933ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetTextFont(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CFX_ByteString& string) 2934ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2935ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 2936ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2937ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2938ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::textSize(OBJ_PROP_PARAMS) 2939ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2940ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2941ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2942ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 2943ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2944ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 2945ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2946ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nVP; 2947ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> nVP; 2948ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2949ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 2950ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2951ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_Int(FP_TEXTSIZE, nVP); 2952ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2953ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2954ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2955ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetTextSize(m_pDocument, m_FieldName, m_nFormControlIndex, nVP); 2956ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2957ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2958ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 2959ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 2960ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2961ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2962ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2963ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2964ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2965ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2966ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2967ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 2968ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 2969ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2970ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_DefaultAppearance FieldAppearance = pFormControl->GetDefaultAppearance(); 2971ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2972ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString csFontNameTag; 2973ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_FLOAT fFontSize; 2974ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FieldAppearance.GetFont(csFontNameTag,fFontSize); 2975ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2976ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (int)fFontSize; 2977ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 2978ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2979ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 2980ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2981ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2982ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetTextSize(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, int number) 2983ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2984ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 2985ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 2986ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2987ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::type(OBJ_PROP_PARAMS) 2988ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 2989ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 2990ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2991ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!vp.IsGetting()) return FALSE; 2992ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2993ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 2994ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 2995ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 2996ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 2997ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 2998ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 2999ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3000ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov switch (pFormField->GetFieldType()) 3001ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3002ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_UNKNOWN: 3003ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"unknown"; 3004ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3005ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_PUSHBUTTON: 3006ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"button"; 3007ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3008ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_CHECKBOX: 3009ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"checkbox"; 3010ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3011ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_RADIOBUTTON: 3012ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"radiobutton"; 3013ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3014ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_COMBOBOX: 3015ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"combobox"; 3016ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3017ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_LISTBOX: 3018ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"listbox"; 3019ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3020ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_TEXTFIELD: 3021ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"text"; 3022ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3023ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_SIGNATURE: 3024ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"signature"; 3025ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3026ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov default : 3027ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"unknown"; 3028ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3029ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3030ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3031ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3032ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3033ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3034ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::userName(OBJ_PROP_PARAMS) 3035ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3036ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3037ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3038ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 3039ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3040ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 3041ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3042ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString swName; 3043ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> swName; 3044ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3045ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 3046ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3047ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_WideString(FP_USERNAME, swName); 3048ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3049ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3050ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3051ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetUserName(m_pDocument, m_FieldName, m_nFormControlIndex, swName); 3052ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3053ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3054ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3055ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3056ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3057ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 3058ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3059ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3060ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 3061ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3062ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3063ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (CFX_WideString)pFormField->GetAlternateName(); 3064ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3065ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3066ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3067ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3068ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3069ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetUserName(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, int nControlIndex, const CFX_WideString& string) 3070ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3071ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 3072ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3073ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3074ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::value(OBJ_PROP_PARAMS) 3075ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3076ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3077ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3078ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsSetting()) 3079ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3080ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 3081ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3082ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_WideStringArray strArray; 3083ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3084ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsArrayObject()) 3085ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3086ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array ValueArray(m_isolate); 3087ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp.ConvertToArray(ValueArray); 3088ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i = 0,sz = ValueArray.GetLength(); i < sz; i++) 3089ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3090ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Value ElementValue(m_isolate); 3091ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ValueArray.GetElement(i, ElementValue); 3092ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov strArray.Add(ElementValue.operator CFX_WideString()); 3093ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3094ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3095ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3096ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3097ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString swValue; 3098ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp >> swValue; 3099ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov strArray.Add(swValue); 3101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3103ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (m_bDelay) 3104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AddDelay_WideStringArray(FP_VALUE, strArray); 3106ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3109ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetValue(m_pDocument, m_FieldName, m_nFormControlIndex, strArray); 3110ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3111ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3112ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3113ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3114ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3115ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 3116ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3117ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3118ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 3119ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3120ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3121ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3122ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3123ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov switch (pFormField->GetFieldType()) 3124ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3125ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_PUSHBUTTON: 3126ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3127ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_COMBOBOX: 3128ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_TEXTFIELD: 3129ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3130ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString swValue = pFormField->GetValue(); 3131ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3132ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov double dRet; 3133ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bDot; 3134ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CJS_PublicMethods::ConvertStringToNumber(swValue,dRet,bDot)) 3135ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3136ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bDot) 3137ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << dRet; 3138ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3139ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << dRet; 3140ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3141ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3142ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << swValue; 3143ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3144ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3145ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_LISTBOX: 3146ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3147ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->CountSelectedItems() > 1) 3148ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3149ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array ValueArray(m_isolate); 3150ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Value ElementValue(m_isolate); 3151ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iIndex; 3152ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i = 0, sz = pFormField->CountSelectedItems(); i < sz; i++) 3153ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3154ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov iIndex = pFormField->GetSelectedIndex(i); 3155ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ElementValue = pFormField->GetOptionValue(iIndex); 3156ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FXSYS_wcslen((FX_LPCWSTR)ElementValue.operator CFX_WideString()) == 0) 3157ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ElementValue = pFormField->GetOptionLabel(iIndex); 3158ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ValueArray.SetElement(i, ElementValue); 3159ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3160ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << ValueArray; 3161ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3162ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3163ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3164ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString swValue = pFormField->GetValue(); 3165ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3166ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov double dRet; 3167ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bDot; 3168ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CJS_PublicMethods::ConvertStringToNumber(swValue,dRet,bDot)) 3169ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3170ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bDot) 3171ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << dRet; 3172ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3173ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << dRet; 3174ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3175ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3176ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << swValue; 3177ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3178ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3179ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3180ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_CHECKBOX: 3181ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_RADIOBUTTON: 3182ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3183ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bFind = FALSE; 3184ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i = 0 , sz = pFormField->CountControls(); i < sz; i++) 3185ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3186ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetControl(i)->IsChecked()) 3187ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3188ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString swValue = pFormField->GetControl(i)->GetExportValue(); 3189ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3190ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov double dRet; 3191ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bDot; 3192ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CJS_PublicMethods::ConvertStringToNumber(swValue,dRet,bDot)) 3193ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3194ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bDot) 3195ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << dRet; 3196ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3197ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << dRet; 3198ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3199ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3200ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << swValue; 3201ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3202ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bFind = TRUE; 3203ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3204ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3205ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3206ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov continue; 3207ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3208ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!bFind) 3209ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"Off"; 3210ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3211ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3212ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov default: 3213ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << pFormField->GetValue(); 3214ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3215ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3216ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3217ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3218ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3219ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3220ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3221ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::SetValue(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldName, 3222ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nControlIndex, const CJS_WideStringArray& strArray) 3223ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3224ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDocument != NULL); 3225ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3226ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (strArray.GetSize() < 1) return; 3227ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3228ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3229ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(pDocument, swFieldName, FieldArray); 3230ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3231ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) 3232ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3233ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); 3234ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3235ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3236ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFullName().Compare(swFieldName) != 0) 3237ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov continue; 3238ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3239ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov switch (pFormField->GetFieldType()) 3240ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3241ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_TEXTFIELD: 3242ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_COMBOBOX: 3243ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetValue() != strArray.GetAt(0)) 3244ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3245ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString WideString = strArray.GetAt(0); 3246ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->SetValue(strArray.GetAt(0), TRUE); 3247ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormField(pDocument, pFormField, TRUE, FALSE, TRUE); 3248ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3249ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3250ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_CHECKBOX: //mantis: 0004493 3251ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_RADIOBUTTON: 3252ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3253ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetValue() != strArray.GetAt(0)) 3254ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3255ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->SetValue(strArray.GetAt(0), TRUE); 3256ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormField(pDocument, pFormField, TRUE, FALSE, TRUE); 3257ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3258ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3259ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3260ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FIELDTYPE_LISTBOX: 3261ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3262ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bModified = FALSE; 3263ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3264ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=strArray.GetSize(); i<sz; i++) 3265ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3266ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iIndex = pFormField->FindOption(strArray.GetAt(i)); 3267ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3268ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormField->IsItemSelected(iIndex)) 3269ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3270ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bModified = TRUE; 3271ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3272ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3273ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3274ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3275ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bModified) 3276ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3277ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->ClearSelection(TRUE); 3278ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=strArray.GetSize(); i<sz; i++) 3279ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3280ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iIndex = pFormField->FindOption(strArray.GetAt(i)); 3281ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->SetItemSelection(iIndex, TRUE, TRUE); 3282ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3283ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3284ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormField(pDocument, pFormField, TRUE, FALSE, TRUE); 3285ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3286ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3287ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3288ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov default: 3289ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3290ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3291ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3292ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3293ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3294ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::valueAsString(OBJ_PROP_PARAMS) 3295ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3296ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3297ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3298ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!vp.IsGetting()) return FALSE; 3299ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3300ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3301ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 3302ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3303ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3304ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 3305ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3306ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3307ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON) 3308ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3309ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3310ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) 3311ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3312ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(!pFormField->CountControls()) return FALSE; 3313ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3314ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetControl(0)->IsChecked()) 3315ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"Yes"; 3316ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3317ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"Off"; 3318ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3319ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON && !(pFormField->GetFieldFlags() & FIELDFLAG_RADIOSINUNISON)) 3320ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3321ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0, sz=pFormField->CountControls(); i<sz; i++) 3322ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3323ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetControl(i)->IsChecked()) 3324ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3325ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)pFormField->GetControl(i)->GetExportValue(); 3326ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3327ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3328ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3329ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L"Off"; 3330ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3331ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3332ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (pFormField->GetFieldType() == FIELDTYPE_LISTBOX && (pFormField->CountSelectedItems() > 1)) 3333ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3334ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)L""; 3335ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3336ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3337ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (FX_LPCWSTR)pFormField->GetValue(); 3338ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3339ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3340ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3341ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3342ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* --------------------------------- methods --------------------------------- */ 3343ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3344ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::browseForFileToSubmit(OBJ_METHOD_PARAMS) 3345ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3346ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3347ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3348ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3349ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName, FieldArray); 3350ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3351ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3352ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 3353ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3354ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3355ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFDoc_Environment* pApp = m_pDocument->GetEnv(); 3356ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pApp != NULL); 3357ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3358ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ((pFormField->GetFieldFlags() & FIELDFLAG_FILESELECT) && 3359ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov (pFormField->GetFieldType() == FIELDTYPE_TEXTFIELD)) 3360ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3361ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString wsFileName = pApp->JS_fieldBrowse(); 3362ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(!wsFileName.IsEmpty()) 3363ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3364ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->SetValue(wsFileName); 3365ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormField(m_pDocument, pFormField, TRUE, TRUE, TRUE); 3366ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3367ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3368ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3369ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3370ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3371ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3372ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3373ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3374ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3375ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::buttonGetCaption(OBJ_METHOD_PARAMS) 3376ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3377ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3378ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3379ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nface = 0; 3380ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iSize = params.size(); 3381ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ( iSize >= 1) 3382ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nface = (FX_INT32) params[0]; 3383ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3384ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3385ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 3386ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3387ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3388ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 3389ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3390ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3391ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) 3392ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3393ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3394ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 3395ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 3396ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3397ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nface == 0) 3398ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = pFormControl->GetNormalCaption(); 3399ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (nface == 1) 3400ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = pFormControl->GetDownCaption(); 3401ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (nface == 2) 3402ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = pFormControl->GetRolloverCaption(); 3403ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3404ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3405ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3406ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3407ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3408ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3409ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov//#pragma warning(disable: 4800) 3410ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3411ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::buttonGetIcon(OBJ_METHOD_PARAMS) 3412ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3413ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3414ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3415ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nface = 0; 3416ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iSize = params.size(); 3417ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ( iSize >= 1) 3418ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nface = (FX_INT32) params[0]; 3419ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3420ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3421ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 3422ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3423ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3424ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 3425ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3426ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3427ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) 3428ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3429ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3430ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 3431ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 3432ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3433ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Context* pContext = (CJS_Context*)cc; 3434ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pContext != NULL); 3435ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3436ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Runtime* pRuntime = pContext->GetJSRuntime(); 3437ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pRuntime != NULL); 3438ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3439ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnID(*pRuntime, L"Icon")); 3440ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pObj.IsEmpty() == FALSE); 3441ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3442ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Icon* pJS_Icon = (CJS_Icon*)JS_GetPrivate(pObj); 3443ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pJS_Icon != NULL); 3444ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3445ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); 3446ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pIcon != NULL); 3447ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3448ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Stream* pIconStream = NULL; 3449ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nface == 0) 3450ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pIconStream = pFormControl->GetNormalIcon(); 3451ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (nface == 1) 3452ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pIconStream = pFormControl->GetDownIcon(); 3453ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else if (nface == 2) 3454ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pIconStream = pFormControl->GetRolloverIcon(); 3455ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3456ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3457ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3458ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pIcon->SetStream(pIconStream); 3459ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = pJS_Icon; 3460ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3461ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3462ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3463ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3464ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov//#pragma warning(default: 4800) 3465ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3466ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::buttonImportIcon(OBJ_METHOD_PARAMS) 3467ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3468ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#if 0 3469ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3470ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3471ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3472ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 3473ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3474ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3475ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 3476ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormField)return FALSE; 3477ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3478ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); 3479ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pEnv); 3480ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3481ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString sIconFileName = pEnv->JS_fieldBrowse(); 3482ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (sIconFileName.IsEmpty()) 3483ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3484ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = 1; 3485ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3486ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3487ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3488ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); 3489ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 3490ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3491ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Stream* pStream = pInterForm->LoadImageFromFile(sIconFileName); 3492ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pStream) 3493ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3494ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = -1; 3495ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3496ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3497ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3498ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); 3499ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!pFormControl)return FALSE; 3500ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3501ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormControl->SetNormalIcon(pStream); 3502ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormControl(m_pDocument, pFormControl, TRUE, TRUE, TRUE); 3503ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3504ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = 0; 3505ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif // 0 3506ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3507ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3508ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3509ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::buttonSetCaption(OBJ_METHOD_PARAMS) 3510ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3511ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3512ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3513ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3514ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::buttonSetIcon(OBJ_METHOD_PARAMS) 3515ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3516ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3517ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3518ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3519ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::checkThisBox(OBJ_METHOD_PARAMS) 3520ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3521ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3522ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3523ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 3524ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3525ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iSize = params.size(); 3526ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nWidget = -1; 3527ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ( iSize >= 1) 3528ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nWidget= (FX_INT32) params[0]; 3529ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3530ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3531ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bCheckit = TRUE; 3532ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ( iSize >= 2) 3533ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bCheckit = params[1]; 3534ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3535ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3536ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3537ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 3538ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3539ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3540ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 3541ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3542ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3543ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() != FIELDTYPE_CHECKBOX && pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON) 3544ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3545ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(nWidget <0 || nWidget >= pFormField->CountControls()) 3546ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3547ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON) 3548ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->CheckControl(nWidget, bCheckit, TRUE); 3549ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3550ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pFormField->CheckControl(nWidget, bCheckit, TRUE); 3551ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3552ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UpdateFormField(m_pDocument, pFormField, TRUE, TRUE, TRUE); 3553ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3554ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3555ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3556ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3557ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::clearItems(OBJ_METHOD_PARAMS) 3558ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3559ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3560ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3561ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3562ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::defaultIsChecked(OBJ_METHOD_PARAMS) 3563ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3564ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3565ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3566ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (!m_bCanSet) return FALSE; 3567ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3568ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iSize = params.size(); 3569ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nWidget = -1; 3570ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ( iSize >= 1) 3571ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nWidget= (FX_INT32) params[0]; 3572ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3573ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3574ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //FX_BOOL bIsDefaultChecked = TRUE; 3575ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //if ( iSize >= 2) 3576ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov // bIsDefaultChecked = params[1]; 3577ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3578ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3579ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 3580ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3581ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3582ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 3583ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3584ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3585ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(nWidget <0 || nWidget >= pFormField->CountControls()) 3586ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3587ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = FALSE; 3588ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3589ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3590ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ((pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) 3591ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov || (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON)) 3592ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3593ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3594ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = TRUE; 3595ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3596ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3597ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = FALSE; 3598ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3599ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3600ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3601ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3602ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::deleteItemAt(OBJ_METHOD_PARAMS) 3603ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3604ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3605ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3606ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3607ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovint JS_COMPARESTRING(CFX_WideString* ps1, CFX_WideString* ps2) 3608ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3609ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(ps1 != NULL); 3610ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(ps2 != NULL); 3611ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3612ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return ps1->Compare(*ps2); 3613ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3614ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3615ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3616ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::getArray(OBJ_METHOD_PARAMS) 3617ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3618ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3619ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3620ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3621ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 3622ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3623ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3624ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CGW_ArrayTemplate<CFX_WideString*> swSort; 3625ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3626ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=FieldArray.GetSize(); i<sz; i++) 3627ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3628ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); 3629ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3630ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3631ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov swSort.Add(new CFX_WideString(pFormField->GetFullName())); 3632ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3633ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3634ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov swSort.Sort(JS_COMPARESTRING); 3635ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3636ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Context* pContext = (CJS_Context*)cc; 3637ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pContext != NULL); 3638ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Runtime* pRuntime = pContext->GetJSRuntime(); 3639ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pRuntime != NULL); 3640ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3641ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Array FormFieldArray(m_isolate); 3642ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int j=0,jsz = swSort.GetSize(); j<jsz; j++) 3643ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3644ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString* pStr = swSort.GetAt(j); 3645ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3646ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnID(*pRuntime, L"Field")); 3647ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pObj.IsEmpty() == FALSE); 3648ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3649ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Field* pJSField = (CJS_Field*)JS_GetPrivate(pObj); 3650ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pJSField != NULL); 3651ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3652ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field* pField = (Field*)pJSField->GetEmbedObject(); 3653ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pField != NULL); 3654ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3655ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pField->AttachField(this->m_pJSDoc, *pStr); 3656ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3657ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Value FormFieldValue(m_isolate); 3658ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FormFieldValue = pJSField; 3659ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FormFieldArray.SetElement(j, FormFieldValue); 3660ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3661ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov delete pStr; 3662ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3663ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3664ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = FormFieldArray; 3665ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov swSort.RemoveAll(); 3666ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3667ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3668ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3669ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::getItemAt(OBJ_METHOD_PARAMS) 3670ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3671ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3672ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3673ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nIdx = -1; 3674ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (params.size() >=1) 3675ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nIdx = (FX_INT32) params[0]; 3676ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bExport = TRUE; 3677ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int iSize = params.size(); 3678ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ( iSize >= 2) 3679ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3680ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bExport =(FX_BOOL) params[1]; 3681ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3682ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3683ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3684ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 3685ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3686ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3687ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 3688ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3689ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3690ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ((pFormField->GetFieldType() == FIELDTYPE_LISTBOX) 3691ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov || (pFormField->GetFieldType() == FIELDTYPE_COMBOBOX)) 3692ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3693ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nIdx == -1 || nIdx > pFormField->CountOptions()) 3694ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nIdx = pFormField->CountOptions() -1; 3695ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (bExport) 3696ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3697ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString strval = pFormField->GetOptionValue(nIdx); 3698ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (strval.IsEmpty()) 3699ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = pFormField->GetOptionLabel(nIdx); 3700ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3701ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = strval; 3702ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3703ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3704ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = pFormField->GetOptionLabel(nIdx); 3705ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3706ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3707ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3708ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3709ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3710ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3711ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3712ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::getLock(OBJ_METHOD_PARAMS) 3713ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3714ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3715ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3716ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3717ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::insertItemAt(OBJ_METHOD_PARAMS) 3718ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3719ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3720ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3721ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3722ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::isBoxChecked(OBJ_METHOD_PARAMS) 3723ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3724ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3725ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3726ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nIndex = -1; 3727ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (params.size() >=1) 3728ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nIndex = (FX_INT32) params[0]; 3729ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3730ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3731ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 3732ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3733ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3734ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 3735ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3736ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3737ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(nIndex <0 || nIndex >= pFormField->CountControls()) 3738ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3739ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = FALSE; 3740ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3741ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3742ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3743ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ((pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) 3744ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov || (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON)) 3745ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3746ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetControl(nIndex)->IsChecked() !=0 ) 3747ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = TRUE; 3748ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3749ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = FALSE; 3750ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3751ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3752ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = FALSE; 3753ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3754ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3755ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3756ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3757ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::isDefaultChecked(OBJ_METHOD_PARAMS) 3758ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3759ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3760ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3761ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int nIndex = -1; 3762ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (params.size() >=1) 3763ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov nIndex = (FX_INT32) params[0]; 3764ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3765ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3766ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 3767ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3768ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3769ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 3770ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3771ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3772ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(nIndex <0 || nIndex >= pFormField->CountControls()) 3773ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3774ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = FALSE; 3775ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3776ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3777ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if ((pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) 3778ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov || (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON)) 3779ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3780ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pFormField->GetControl(nIndex)->IsDefaultChecked() != 0) 3781ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = TRUE; 3782ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3783ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = FALSE; 3784ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3785ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3786ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vRet = FALSE; 3787ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3788ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3789ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3790ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3791ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::setAction(OBJ_METHOD_PARAMS) 3792ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3793ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3794ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3795ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3796ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::setFocus(OBJ_METHOD_PARAMS) 3797ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3798ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pDocument != NULL); 3799ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3800ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray FieldArray; 3801ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFormFields(m_FieldName,FieldArray); 3802ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (FieldArray.GetSize() <= 0) return FALSE; 3803ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3804ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); 3805ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pFormField != NULL); 3806ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3807ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_INT32 nCount = pFormField->CountControls(); 3808ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3809ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nCount < 1) return FALSE; 3810ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3811ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm(); 3812ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pInterForm != NULL); 3813ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3814ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFSDK_Widget* pWidget = NULL; 3815ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (nCount == 1) 3816ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3817ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget = pInterForm->GetWidget(pFormField->GetControl(0)); 3818ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3819ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov else 3820ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3821ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); 3822ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pEnv); 3823ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Page* pPage = (CPDF_Page*)pEnv->FFI_GetCurrentPage(m_pDocument->GetDocument()); 3824ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if(!pPage) 3825ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3826ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_PageView* pCurPageView = m_pDocument->GetPageView(pPage)) 3827ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3828ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (FX_INT32 i=0; i<nCount; i++) 3829ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3830ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (CPDFSDK_Widget* pTempWidget = pInterForm->GetWidget(pFormField->GetControl(i))) 3831ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3832ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pTempWidget->GetPDFPage() == pCurPageView->GetPDFPage()) 3833ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3834ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pWidget = pTempWidget; 3835ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 3836ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3837ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3838ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3839ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3840ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3841ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3842ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (pWidget) 3843ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3844ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDocument->SetFocusAnnot(pWidget); 3845ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3846ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3847ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3848ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3849ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3850ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::setItems(OBJ_METHOD_PARAMS) 3851ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3852ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3853ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3854ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3855ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::setLock(OBJ_METHOD_PARAMS) 3856ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3857ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3858ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3859ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3860ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::signatureGetModifications(OBJ_METHOD_PARAMS) 3861ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3862ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3863ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3864ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3865ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::signatureGetSeedValue(OBJ_METHOD_PARAMS) 3866ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3867ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3868ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3869ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3870ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::signatureInfo(OBJ_METHOD_PARAMS) 3871ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3872ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3873ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3874ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3875ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::signatureSetSeedValue(OBJ_METHOD_PARAMS) 3876ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3877ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3878ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3879ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3880ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::signatureSign(OBJ_METHOD_PARAMS) 3881ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3882ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3883ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3884ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3885ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::signatureValidate(OBJ_METHOD_PARAMS) 3886ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3887ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FALSE; 3888ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3889ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3890ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL Field::source(OBJ_PROP_PARAMS) 3891ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3892ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov if (vp.IsGetting()) 3893ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 3894ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov vp << (CJS_Object*)NULL; 3895ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 3896ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3897ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return TRUE; 3898ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3899ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3900ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/////////////////////////////////////////// delay ///////////////////////////////////////////// 3901ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3902ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::AddDelay_Int(enum FIELD_PROP prop, FX_INT32 n) 3903ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3904ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pJSDoc != NULL); 3905ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3906ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_DelayData* pNewData = new CJS_DelayData; 3907ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->sFieldName = m_FieldName; 3908ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->nControlIndex = m_nFormControlIndex; 3909ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->eProp = prop; 3910ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->num = n; 3911ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3912ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pJSDoc->AddDelayData(pNewData); 3913ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3914ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3915ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::AddDelay_Bool(enum FIELD_PROP prop,bool b) 3916ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3917ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pJSDoc != NULL); 3918ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3919ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_DelayData* pNewData = new CJS_DelayData; 3920ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->sFieldName = m_FieldName; 3921ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->nControlIndex = m_nFormControlIndex; 3922ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->eProp = prop; 3923ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->b = b; 3924ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3925ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pJSDoc->AddDelayData(pNewData); 3926ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3927ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3928ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::AddDelay_String(enum FIELD_PROP prop, const CFX_ByteString& string) 3929ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3930ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pJSDoc != NULL); 3931ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3932ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_DelayData* pNewData = new CJS_DelayData; 3933ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->sFieldName = m_FieldName; 3934ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->nControlIndex = m_nFormControlIndex; 3935ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->eProp = prop; 3936ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->string = string; 3937ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3938ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pJSDoc->AddDelayData(pNewData); 3939ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3940ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3941ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::AddDelay_WideString(enum FIELD_PROP prop, const CFX_WideString& string) 3942ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3943ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pJSDoc != NULL); 3944ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3945ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_DelayData* pNewData = new CJS_DelayData; 3946ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->sFieldName = m_FieldName; 3947ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->nControlIndex = m_nFormControlIndex; 3948ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->eProp = prop; 3949ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->widestring = string; 3950ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3951ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pJSDoc->AddDelayData(pNewData); 3952ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3953ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3954ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::AddDelay_Rect(enum FIELD_PROP prop, const CPDF_Rect& rect) 3955ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3956ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pJSDoc != NULL); 3957ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3958ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_DelayData* pNewData = new CJS_DelayData; 3959ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->sFieldName = m_FieldName; 3960ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->nControlIndex = m_nFormControlIndex; 3961ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->eProp = prop; 3962ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->rect = rect; 3963ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3964ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pJSDoc->AddDelayData(pNewData); 3965ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3966ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3967ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::AddDelay_Color(enum FIELD_PROP prop, const CPWL_Color& color) 3968ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3969ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pJSDoc != NULL); 3970ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3971ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_DelayData* pNewData = new CJS_DelayData; 3972ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->sFieldName = m_FieldName; 3973ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->nControlIndex = m_nFormControlIndex; 3974ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->eProp = prop; 3975ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->color = color; 3976ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3977ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pJSDoc->AddDelayData(pNewData); 3978ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3979ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3980ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::AddDelay_WordArray(enum FIELD_PROP prop, const CFX_DWordArray& array) 3981ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3982ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pJSDoc != NULL); 3983ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3984ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_DelayData* pNewData = new CJS_DelayData; 3985ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->sFieldName = m_FieldName; 3986ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->nControlIndex = m_nFormControlIndex; 3987ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->eProp = prop; 3988ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3989ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=array.GetSize(); i<sz; i++) 3990ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->wordarray.Add(array.GetAt(i)); 3991ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3992ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pJSDoc->AddDelayData(pNewData); 3993ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 3994ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3995ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::AddDelay_WideStringArray(enum FIELD_PROP prop, const CJS_WideStringArray& array) 3996ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 3997ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(m_pJSDoc != NULL); 3998ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 3999ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_DelayData* pNewData = new CJS_DelayData; 4000ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->sFieldName = m_FieldName; 4001ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->nControlIndex = m_nFormControlIndex; 4002ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->eProp = prop; 4003ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov for (int i=0,sz=array.GetSize(); i<sz; i++) 4004ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov pNewData->widestringarray.Add(array.GetAt(i)); 4005ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 4006ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pJSDoc->AddDelayData(pNewData); 4007ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 4008ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 4009ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::DoDelay(CPDFSDK_Document* pDocument, CJS_DelayData* pData) 4010ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 4011ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pDocument != NULL); 4012ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ASSERT(pData != NULL); 4013ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 4014ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov switch (pData->eProp) 4015ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 4016ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_ALIGNMENT: 4017ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetAlignment(pDocument, pData->sFieldName, pData->nControlIndex, pData->string); 4018ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4019ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_BORDERSTYLE: 4020ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetBorderStyle(pDocument, pData->sFieldName, pData->nControlIndex, pData->string); 4021ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4022ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_BUTTONALIGNX: 4023ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetButtonAlignX(pDocument, pData->sFieldName, pData->nControlIndex, pData->num); 4024ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4025ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_BUTTONALIGNY: 4026ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetButtonAlignY(pDocument, pData->sFieldName, pData->nControlIndex, pData->num); 4027ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4028ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_BUTTONFITBOUNDS: 4029ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetButtonFitBounds(pDocument, pData->sFieldName, pData->nControlIndex, pData->b); 4030ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4031ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_BUTTONPOSITION: 4032ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetButtonPosition(pDocument, pData->sFieldName, pData->nControlIndex, pData->num); 4033ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4034ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_BUTTONSCALEHOW: 4035ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetButtonScaleHow(pDocument, pData->sFieldName, pData->nControlIndex, pData->num); 4036ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4037ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_BUTTONSCALEWHEN: 4038ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetButtonScaleWhen(pDocument, pData->sFieldName, pData->nControlIndex, pData->num); 4039ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4040ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_CALCORDERINDEX: 4041ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetCalcOrderIndex(pDocument, pData->sFieldName, pData->nControlIndex, pData->num); 4042ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4043ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_CHARLIMIT: 4044ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetCharLimit(pDocument, pData->sFieldName, pData->nControlIndex, pData->num); 4045ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4046ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_COMB: 4047ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetComb(pDocument, pData->sFieldName, pData->nControlIndex, pData->b); 4048ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4049ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_COMMITONSELCHANGE: 4050ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetCommitOnSelChange(pDocument, pData->sFieldName, pData->nControlIndex, pData->b); 4051ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4052ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_CURRENTVALUEINDICES: 4053ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetCurrentValueIndices(pDocument, pData->sFieldName, pData->nControlIndex, pData->wordarray); 4054ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4055ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_DEFAULTVALUE: 4056ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetDefaultValue(pDocument, pData->sFieldName, pData->nControlIndex, pData->widestring); 4057ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4058ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_DONOTSCROLL: 4059ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetDoNotScroll(pDocument, pData->sFieldName, pData->nControlIndex, pData->b); 4060ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4061ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_DISPLAY: 4062ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetDisplay(pDocument, pData->sFieldName, pData->nControlIndex, pData->num); 4063ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4064ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_FILLCOLOR: 4065ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetFillColor(pDocument, pData->sFieldName, pData->nControlIndex, pData->color); 4066ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4067ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_HIDDEN: 4068ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetHidden(pDocument, pData->sFieldName, pData->nControlIndex, pData->b); 4069ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4070ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_HIGHLIGHT: 4071ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetHighlight(pDocument, pData->sFieldName, pData->nControlIndex, pData->string); 4072ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4073ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_LINEWIDTH: 4074ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetLineWidth(pDocument, pData->sFieldName, pData->nControlIndex, pData->num); 4075ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4076ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_MULTILINE: 4077ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetMultiline(pDocument, pData->sFieldName, pData->nControlIndex, pData->b); 4078ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4079ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_MULTIPLESELECTION: 4080ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetMultipleSelection(pDocument, pData->sFieldName, pData->nControlIndex, pData->b); 4081ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4082ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_PASSWORD: 4083ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetPassword(pDocument, pData->sFieldName, pData->nControlIndex, pData->b); 4084ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4085ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_RECT: 4086ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetRect(pDocument, pData->sFieldName, pData->nControlIndex, pData->rect); 4087ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4088ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_RICHTEXT: 4089ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetRichText(pDocument, pData->sFieldName, pData->nControlIndex, pData->b); 4090ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4091ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_RICHVALUE: 4092ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4093ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_ROTATION: 4094ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetRotation(pDocument, pData->sFieldName, pData->nControlIndex, pData->num); 4095ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4096ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_STROKECOLOR: 4097ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetStrokeColor(pDocument, pData->sFieldName, pData->nControlIndex, pData->color); 4098ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4099ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_STYLE: 4100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetStyle(pDocument, pData->sFieldName, pData->nControlIndex, pData->string); 4101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_TEXTCOLOR: 4103ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetTextColor(pDocument, pData->sFieldName, pData->nControlIndex, pData->color); 4104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_TEXTFONT: 4106ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetTextFont(pDocument, pData->sFieldName, pData->nControlIndex, pData->string); 4107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_TEXTSIZE: 4109ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetTextSize(pDocument, pData->sFieldName, pData->nControlIndex, pData->num); 4110ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4111ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_USERNAME: 4112ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetUserName(pDocument, pData->sFieldName, pData->nControlIndex, pData->widestring); 4113ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4114ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov case FP_VALUE: 4115ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Field::SetValue(pDocument, pData->sFieldName, pData->nControlIndex, pData->widestringarray); 4116ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov break; 4117ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 4118ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 4119ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 4120ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define JS_FIELD_MINWIDTH 1 4121ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define JS_FIELD_MINHEIGHT 1 4122ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 4123ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovvoid Field::AddField(CPDFSDK_Document* pDocument, int nPageIndex, int nFieldType, 4124ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov const CFX_WideString& sName, const CPDF_Rect& rcCoords) 4125ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 4126ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov //Not supported. 4127ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 4128ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 4129