tabIndex property

int get tabIndex

Gets or sets the tab index for form fields.

The default value is 0.

Implementation

int get tabIndex {
  if (_fieldHelper.isLoadedField) {
    if (page != null) {
      final PdfDictionary annotDic = _fieldHelper.getWidgetAnnotation(
          _fieldHelper.dictionary!, _fieldHelper.crossTable);
      final PdfReference reference =
          PdfPageHelper.getHelper(page!).crossTable!.getReference(annotDic);
      _tabIndex =
          PdfPageHelper.getHelper(page!).annotsReference.indexOf(reference);
    }
  }
  return _tabIndex;
}
set tabIndex (int value)

Implementation

set tabIndex(int value) {
  _tabIndex = value;
  if (_fieldHelper.isLoadedField &&
      page != null &&
      page!.formFieldsTabOrder == PdfFormFieldsTabOrder.manual) {
    final PdfAnnotation annotationReference = WidgetAnnotationHelper.load(
        _fieldHelper.dictionary!, _fieldHelper.crossTable!);
    final PdfReference reference = PdfPageHelper.getHelper(page!)
        .crossTable!
        .getReference(IPdfWrapper.getElement(annotationReference));
    int index =
        PdfPageHelper.getHelper(page!).annotsReference.indexOf(reference);
    if (index < 0) {
      index = _fieldHelper.annotationIndex;
    }
    final PdfArray? annots =
        PdfAnnotationCollectionHelper.getHelper(page!.annotations)
            .rearrange(reference, _tabIndex, index);
    PdfPageHelper.getHelper(page!)
        .dictionary!
        .setProperty(PdfDictionaryProperties.annots, annots);
  }
}