You are here

function signaturefield_field_widget_form in SignatureField 7

Same name and namespace in other branches
  1. 7.2 includes/field.inc \signaturefield_field_widget_form()

Implements hook_field_widget_form().

hook_widget_form() is where Drupal tells us to create form elements for our field's widget.

We provide one of three different forms, depending on the widget type of the Form API item provided.

The 'field_example_colorpicker' and 'field_example_text' are essentially the same, but field_example_colorpicker adds a javascript colorpicker helper.

field_example_3text displays three text fields, one each for red, green, and blue. However, the field type defines a single text column, rgb, which needs an HTML color spec. Define an element validate handler that converts our r, g, and b fields into a simulated single 'rgb' form element.

File

includes/field.inc, line 202
Content module integration.

Code

function signaturefield_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) {
  $value = isset($items[$delta]['signaturefield']) ? $items[$delta]['signaturefield'] : '';
  $widget = $element;
  $widget['#delta'] = $delta;
  $widget += array(
    '#type' => 'signaturefield',
    '#default_value' => isset($items[$delta]['data']) ? $items[$delta]['data'] : NULL,
    '#color' => isset($instance['widget']['settings']['color']) ? $instance['widget']['settings']['color'] : '#000',
    '#width' => isset($instance['widget']['settings']['width']) ? $instance['widget']['settings']['width'] : 200,
    '#height' => isset($instance['widget']['settings']['height']) ? $instance['widget']['settings']['height'] : 55,
  );
  $element['data'] = $widget;
  return $element;
}