- /*************************************************************************
- *
- * ADOBE CONFIDENTIAL
- * ___________________
- *
- * Copyright 2012 Adobe Systems Incorporated
- * All Rights Reserved.
- *
- * NOTICE: All information contained herein is, and remains
- * the property of Adobe Systems Incorporated and its suppliers,
- * if any. The intellectual and technical concepts contained
- * herein are proprietary to Adobe Systems Incorporated and its
- * suppliers and are protected by trade secret or copyright law.
- * Dissemination of this information or reproduction of this material
- * is strictly forbidden unless prior written permission is obtained
- * from Adobe Systems Incorporated.
- *
- **************************************************************************/
-
- /**
- * This object represents an Acrobat form field (that is, a field created using the Acrobat
- * form tool or the Doc addField method). In the same manner that a form author can modify an
- * existing field's properties, the JavaScript user can use the Field object to perform the
- * same modifications.
- *
- * @class Field
- * @param name {String} The name of the field.
- */
- function Field(name)
- {
- this.name = name;
- };
-
- Field.prototype =
- {
- /**
- * Returns the type of the field as a string.
- *
- * @property type
- * @type {String}
- * @readonly
- */
- get type()
- {
- return window._field.getType(this.name);
- },
-
- /**
- * The value of the field data that the user has entered. Depending on the type of the field,
- * may be a String, Date, or Number. Typically, the value is used to create calculated fields.
- *
- * @property value
- * @type {Any}
- */
- get value()
- {
- var val = window._field.getValue(this.name);
- if ((window._field.isNumberFormatType(this.name) || !isNaN(val)) && val != "")
- val = parseFloat(val);
-
- return val;
- },
- set value(_val)
- {
- window._field.setValue(_val, this.name);
- },
-
- /**
- * The foreground color of a field. It represents the text color for text, button,
- * or list box fields and the check color for check box or radio button fields. Values
- * are defined by Color arrays.
- *
- * @private
- * @property textColor
- * @type {Object}
- */
- set textColor(_textColor)
- {
- if (_textColor.length >= 2 && typeof _textColor[0] == "string" && _textColor[0] == "G" &&
- typeof _textColor[1] == "number")
- {
- window._field.setGrayTextColor(_textColor[1], this.name);
- }
- else if (_textColor.length >= 4 && typeof _textColor[0] == "string" && _textColor[0] == "RGB" &&
- typeof _textColor[1] == "number" && typeof _textColor[2] == "number" && typeof _textColor[3] == "number")
- {
- window._field.setRGBTextColor(_textColor[1], _textColor[2], _textColor[3], this.name);
- }
- }
- };
-
- /**
- * Gets the array of terminal child fields (that is, fields that can have a value) for
- * this Field object, the parent field.
- *
- * @method getArray
- * @return {Object} An array of Field objects.
- */
- Field.prototype.getArray = function()
- {
- var returnVal;
-
- // get the comma separated field names from native
- var fieldNames = window._field.getArray(this.name);
-
- if (!isNullOrUndefined(fieldNames) && fieldNames.length > 0)
- {
- returnVal = new Array();
-
- // split the comma separate field names and create field object
- // using each field name
- var fieldNameArray = fieldNames.split(",");
- for (var i = 0; i<fieldNameArray.length; i++)
- {
- returnVal[i] = new Field(fieldNameArray[i]);
- }
- }
- return returnVal;
- };
-
- /**
- * Sets the focus to this field. This can involve changing the page that the user is
- * currently on or causing the view to scroll to a new position in the document.
- *
- * @method setFocus
- */
- Field.prototype.setFocus = function()
- {
- window._field.setFocus(this.name);
- };
-
- //register undefined properties on the Field.prototype object
- registerUndefinedProperty(Field.prototype, 'Field', 'alignment');
- registerUndefinedProperty(Field.prototype, 'Field', 'borderStyle');
- registerUndefinedProperty(Field.prototype, 'Field', 'buttonAlignX');
- registerUndefinedProperty(Field.prototype, 'Field', 'buttonAlignY');
- registerUndefinedProperty(Field.prototype, 'Field', 'buttonFitBounds');
- registerUndefinedProperty(Field.prototype, 'Field', 'buttonPosition');
- registerUndefinedProperty(Field.prototype, 'Field', 'buttonScaleHow');
- registerUndefinedProperty(Field.prototype, 'Field', 'buttonScaleWhen');
- registerUndefinedProperty(Field.prototype, 'Field', 'calcOrderIndex');
- registerUndefinedProperty(Field.prototype, 'Field', 'charLimit');
- registerUndefinedProperty(Field.prototype, 'Field', 'comb');
- registerUndefinedProperty(Field.prototype, 'Field', 'commitOnSelChange');
- registerUndefinedProperty(Field.prototype, 'Field', 'currentValueIndices');
- registerUndefinedProperty(Field.prototype, 'Field', 'defaultStyle');
- registerUndefinedProperty(Field.prototype, 'Field', 'defaultValue');
- registerUndefinedProperty(Field.prototype, 'Field', 'doNotScroll');
- registerUndefinedProperty(Field.prototype, 'Field', 'doNotSpellCheck');
- registerUndefinedProperty(Field.prototype, 'Field', 'delay');
- registerUndefinedProperty(Field.prototype, 'Field', 'display');
- registerUndefinedProperty(Field.prototype, 'Field', 'doc');
- registerUndefinedProperty(Field.prototype, 'Field', 'editable');
- registerUndefinedProperty(Field.prototype, 'Field', 'exportValues');
- registerUndefinedProperty(Field.prototype, 'Field', 'fileSelect');
- registerUndefinedProperty(Field.prototype, 'Field', 'fillColor');
- registerUndefinedProperty(Field.prototype, 'Field', 'hidden');
- registerUndefinedProperty(Field.prototype, 'Field', 'highlight');
- registerUndefinedProperty(Field.prototype, 'Field', 'lineWidth');
- registerUndefinedProperty(Field.prototype, 'Field', 'multiline');
- registerUndefinedProperty(Field.prototype, 'Field', 'multipleSelection');
- registerUndefinedProperty(Field.prototype, 'Field', 'numItems');
- registerUndefinedProperty(Field.prototype, 'Field', 'page');
- registerUndefinedProperty(Field.prototype, 'Field', 'password');
- registerUndefinedProperty(Field.prototype, 'Field', 'print');
- registerUndefinedProperty(Field.prototype, 'Field', 'radiosInUnison');
- registerUndefinedProperty(Field.prototype, 'Field', 'readonly');
- registerUndefinedProperty(Field.prototype, 'Field', 'rect');
- registerUndefinedProperty(Field.prototype, 'Field', 'required');
- registerUndefinedProperty(Field.prototype, 'Field', 'richText');
- registerUndefinedProperty(Field.prototype, 'Field', 'richValue');
- registerUndefinedProperty(Field.prototype, 'Field', 'rotation');
- registerUndefinedProperty(Field.prototype, 'Field', 'strokeColor');
- registerUndefinedProperty(Field.prototype, 'Field', 'style');
- registerUndefinedProperty(Field.prototype, 'Field', 'submitName');
- registerUndefinedProperty(Field.prototype, 'Field', 'textFont');
- registerUndefinedProperty(Field.prototype, 'Field', 'textSize');
- registerUndefinedProperty(Field.prototype, 'Field', 'userName');
- registerUndefinedProperty(Field.prototype, 'Field', 'valueAsString');
-
-