These settings apply only to the field as it appears in a specific content type, i.e. each content type which uses this field and widget can administratively be configured differently using any hook_widget_settings() provided.

The hook_widget_settings() is nearly identical to hook_field_settings(), except that it allows you to define the way the widget will behave.

Some field and widget settings are handled by the content module, so they are not defined here. The content module handles form elements to collect the field label, help text, and weight for each field.

/**
* Handle the parameters for a widget.
*
* @param $op
*   The operation to be performed. Possible values:
*   - "form": Display the widget settings form.
*   - "validate": Check the widget settings form for errors.
*   - "save": Declare which pieces of information to save back to the database.
* @param $widget
*   The widget on which the operation is to be performed.
* @return
*   This varies depending on the operation.
*   - The "form" operation should return an array of form elements to add to
*     the settings page.
*   - The "validate" operation has no return value. Use form_set_error().
*   - The "save" operation should return an array of names of form elements to
*     be saved in the database.
*/
function hook_widget_settings($op, $widget) {
}