danielebarchiesi@2: array( danielebarchiesi@2: 'name' => t('Cycle'), danielebarchiesi@2: 'accepts' => array( danielebarchiesi@2: 'goToSlide', danielebarchiesi@2: 'nextSlide', danielebarchiesi@2: 'pause', danielebarchiesi@2: 'play', danielebarchiesi@2: 'previousSlide', danielebarchiesi@2: ), danielebarchiesi@2: 'calls' => array( danielebarchiesi@2: 'transitionBegin', danielebarchiesi@2: 'transitionEnd', danielebarchiesi@2: 'goToSlide', danielebarchiesi@2: 'pause', danielebarchiesi@2: 'play', danielebarchiesi@2: 'nextSlide', danielebarchiesi@2: 'previousSlide', danielebarchiesi@2: ), danielebarchiesi@2: ), danielebarchiesi@2: ); danielebarchiesi@2: return $options; danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * Define form fields to be displayed in the views settings form. danielebarchiesi@2: * These fields would help configure your slideshow type. danielebarchiesi@2: */ danielebarchiesi@2: function hook_views_slideshow_slideshow_type_form(&$form, &$form_state, &$view) { danielebarchiesi@2: $form['views_slideshow_cycle']['effect'] = array( danielebarchiesi@2: '#type' => 'select', danielebarchiesi@2: '#title' => t('Effect'), danielebarchiesi@2: '#options' => $effects, danielebarchiesi@2: '#default_value' => $view->options['views_slideshow_cycle']['effect'], danielebarchiesi@2: '#description' => t('The transition effect that will be used to change between images. Not all options below may be relevant depending on the effect. ' . l('Follow this link to see examples of each effect.', 'http://jquery.malsup.com/cycle/browser.html', array('attributes' => array('target' => '_blank')))), danielebarchiesi@2: ); danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * Set default values for your form fields specified in hook_views_slideshow_type_form danielebarchiesi@2: * danielebarchiesi@2: * @return danielebarchiesi@2: * Associative array of slideshow type name and options. danielebarchiesi@2: */ danielebarchiesi@2: function hook_views_slideshow_option_definition() { danielebarchiesi@2: $options['views_slideshow_cycle'] = array( danielebarchiesi@2: 'contains' => array( danielebarchiesi@2: // Transition danielebarchiesi@2: 'effect' => array('default' => 'fade'), danielebarchiesi@2: 'transition_advanced' => array('default' => 0), danielebarchiesi@2: 'timeout' => array('default' => 5000), danielebarchiesi@2: 'speed' => array('default' => 700), //normal danielebarchiesi@2: 'delay' => array('default' => 0), danielebarchiesi@2: 'sync' => array('default' => 1), danielebarchiesi@2: 'random' => array('default' => 0), danielebarchiesi@2: ) danielebarchiesi@2: ); danielebarchiesi@2: return $options; danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * Form validation callback for the slideshow settings. danielebarchiesi@2: */ danielebarchiesi@2: function hook_views_slideshow_options_form_validate(&$form, &$form_state, &$view) { danielebarchiesi@2: if (!is_numeric($form_state['values']['style_options']['views_slideshow_cycle']['speed'])) { danielebarchiesi@2: form_error($form['views_slideshow_cycle']['speed'], t('!setting must be numeric!', array('Speed'))); danielebarchiesi@2: } danielebarchiesi@2: if (!is_numeric($form_state['values']['style_options']['views_slideshow_cycle']['timeout'])) { danielebarchiesi@2: form_error($form['views_slideshow_cycle']['speed'], t('!setting must be numeric!', array('timeout'))); danielebarchiesi@2: } danielebarchiesi@2: if (!is_numeric($form_state['values']['style_options']['views_slideshow_cycle']['remember_slide_days'])) { danielebarchiesi@2: form_error($form['views_slideshow_cycle']['remember_slide_days'], t('!setting must be numeric!', array('Slide days'))); danielebarchiesi@2: } danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * Form submission callback for the slideshow settings. danielebarchiesi@2: */ danielebarchiesi@2: function hook_views_slideshow_options_form_submit($form, &$form_state) { danielebarchiesi@2: // Act on option submission. danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * Define slideshow skins to be available to the end user. danielebarchiesi@2: */ danielebarchiesi@2: function hook_views_slideshow_skin_info() { danielebarchiesi@2: return array( danielebarchiesi@2: 'default' => array( danielebarchiesi@2: 'name' => t('Default'), danielebarchiesi@2: ), danielebarchiesi@2: ); danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * Define new widgets (pagers, controls, counters). danielebarchiesi@2: * danielebarchiesi@2: * Available events for accepts and calls danielebarchiesi@2: * - pause danielebarchiesi@2: * - play danielebarchiesi@2: * - nextSlide danielebarchiesi@2: * - previousSlide danielebarchiesi@2: * - goToSlide danielebarchiesi@2: * - transitionBegin danielebarchiesi@2: * - transitionEnd danielebarchiesi@2: * danielebarchiesi@2: * @return danielebarchiesi@2: * Array keyed by the widget names. danielebarchiesi@2: */ danielebarchiesi@2: function hook_views_slideshow_widget_info() { danielebarchiesi@2: return array( danielebarchiesi@2: 'views_slideshow_pager' => array( danielebarchiesi@2: 'name' => t('Pager'), danielebarchiesi@2: 'accepts' => array( danielebarchiesi@2: 'transitionBegin' => array('required' => TRUE), danielebarchiesi@2: 'goToSlide', danielebarchiesi@2: 'previousSlide', danielebarchiesi@2: 'nextSlide', danielebarchiesi@2: ), danielebarchiesi@2: 'calls' => array( danielebarchiesi@2: 'goToSlide', danielebarchiesi@2: 'pause', danielebarchiesi@2: 'play', danielebarchiesi@2: ), danielebarchiesi@2: ), danielebarchiesi@2: 'views_slideshow_controls' => array( danielebarchiesi@2: 'name' => t('Controls'), danielebarchiesi@2: 'accepts' => array( danielebarchiesi@2: 'pause' => array('required' => TRUE), danielebarchiesi@2: 'play' => array('required' => TRUE), danielebarchiesi@2: ), danielebarchiesi@2: 'calls' => array( danielebarchiesi@2: 'nextSlide', danielebarchiesi@2: 'pause', danielebarchiesi@2: 'play', danielebarchiesi@2: 'previousSlide', danielebarchiesi@2: ), danielebarchiesi@2: ), danielebarchiesi@2: 'views_slideshow_slide_counter' => array( danielebarchiesi@2: 'name' => t('Slide Counter'), danielebarchiesi@2: 'accepts' => array( danielebarchiesi@2: 'transitionBegin' => array('required' => TRUE), danielebarchiesi@2: 'goToSlide', danielebarchiesi@2: 'previousSlide', danielebarchiesi@2: 'nextSlide', danielebarchiesi@2: ), danielebarchiesi@2: 'calls' => array(), danielebarchiesi@2: ), danielebarchiesi@2: ); danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * Form fields to be added for a specific widget type. Example of a widget type would be views_slideshow_pager or views_slideshow_slide_counter. danielebarchiesi@2: */ danielebarchiesi@2: function INSERT_WIDGET_TYPE_HERE_views_slideshow_widget_form_options(&$form, $form_state, $view, $defaults, $dependency) { danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * Hook called by the pager widget to configure it, the fields that should be shown. danielebarchiesi@2: */ danielebarchiesi@2: function hook_views_slideshow_widget_pager_info($view) { danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * Hook called by the pager widget to add form items. danielebarchiesi@2: */ danielebarchiesi@2: function INSERT_WIDGET_TYPE_HERE_views_slideshow_widget_pager_form_options(&$form, &$form_state, &$view, $defaults, $dependency) { danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * Hook called by the controls widget to configure it, the fields that should be shown. danielebarchiesi@2: */ danielebarchiesi@2: function hook_views_slideshow_widget_controls_info($view) { danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * Hook called by the controls widget to add form items. danielebarchiesi@2: */ danielebarchiesi@2: function INSERT_WIDGET_TYPE_HERE_views_slideshow_widget_controls_form_options(&$form, &$form_state, &$view, $defaults, $dependency) { danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * @} End of "addtogroup hooks". danielebarchiesi@2: */