class RegularShape in Openlayers 7.3
Class RegularShape.
Plugin annotation
@OpenlayersPlugin(
id = "RegularShape",
description = "Set regular shape style for vector features. The resulting shape will be a regular polygon when radius is provided, or a star when radius1 and radius2 are provided."
)
Hierarchy
- class \Drupal\openlayers\Types\Base extends \Drupal\Component\Plugin\PluginBase implements ObjectInterface
- class \Drupal\openlayers\Types\Style implements StyleInterface
- class \Drupal\openlayers\Plugin\Style\RegularShape\RegularShape
- class \Drupal\openlayers\Types\Style implements StyleInterface
Expanded class hierarchy of RegularShape
File
- src/
Plugin/ Style/ RegularShape/ RegularShape.php, line 20 - Style: RegularShape.
Namespace
Drupal\openlayers\Plugin\Style\RegularShapeView source
class RegularShape extends Style {
/**
* {@inheritdoc}
*/
public function optionsForm(array &$form, array &$form_state) {
$form['options']['default'] = array(
'#type' => 'fieldset',
'#title' => t('Default'),
'#collapsible' => TRUE,
);
$form['options']['default']['image'] = array(
'#type' => 'fieldset',
'#title' => t('Image options'),
'#collapsible' => FALSE,
);
$form['options']['default']['image']['points'] = array(
'#type' => 'textfield',
'#title' => 'Points',
'#default_value' => $this
->getOption(array(
'default',
'image',
'points',
), '4'),
'#required' => TRUE,
'#description' => 'Number of points for stars and regular polygons. In case of a polygon, the number of points is the number of sides.',
);
$form['options']['default']['image']['radius'] = array(
'#type' => 'textfield',
'#title' => 'Radius',
'#default_value' => $this
->getOption(array(
'default',
'image',
'radius',
), '5'),
'#description' => 'Radius of a regular polygon.',
);
$form['options']['default']['image']['radius1'] = array(
'#type' => 'textfield',
'#title' => 'Radius1',
'#default_value' => $this
->getOption(array(
'default',
'image',
'radius1',
), NULL),
'#description' => 'Inner radius of a star.',
);
$form['options']['default']['image']['radius2'] = array(
'#type' => 'textfield',
'#title' => 'Radius2',
'#default_value' => $this
->getOption(array(
'default',
'image',
'radius2',
), NULL),
'#description' => 'Outer radius of a star.',
);
$form['options']['default']['image']['angle'] = array(
'#type' => 'textfield',
'#title' => 'Angle',
'#default_value' => $this
->getOption(array(
'default',
'image',
'angle',
), 0),
'#description' => 'Shape\'s angle in degrees. A value of 0 will have one of the shape\'s point facing up. Default value is 0.',
);
$form['options']['default']['image']['rotation'] = array(
'#type' => 'textfield',
'#title' => 'Rotation',
'#default_value' => $this
->getOption(array(
'default',
'image',
'rotation',
), NULL),
'#required' => TRUE,
'#description' => 'Rotation in degrees (positive rotation clockwise). Default is 0.',
);
$form['options']['default']['image']['fill'] = array(
'#type' => 'fieldset',
'#title' => t('Fill options'),
'#collapsible' => FALSE,
);
$form['options']['default']['image']['fill']['color'] = array(
'#type' => 'textfield',
'#title' => 'Fill color',
'#field_prefix' => 'rgba(',
'#field_suffix' => ')',
'#default_value' => $this
->getOption(array(
'default',
'image',
'fill',
'color',
), '255,255,255,0.4'),
'#required' => TRUE,
);
$form['options']['default']['image']['stroke'] = array(
'#type' => 'fieldset',
'#title' => t('Stroke options'),
'#collapsible' => FALSE,
);
$form['options']['default']['image']['stroke']['color'] = array(
'#type' => 'textfield',
'#title' => 'Stroke color',
'#field_prefix' => 'rgba(',
'#field_suffix' => ')',
'#default_value' => $this
->getOption(array(
'default',
'image',
'stroke',
'color',
), '51,153,204,1'),
'#required' => TRUE,
);
$form['options']['default']['image']['stroke']['width'] = array(
'#type' => 'textfield',
'#title' => 'Stroke width',
'#default_value' => $this
->getOption(array(
'default',
'image',
'stroke',
'width',
), '1.25'),
'#required' => TRUE,
);
$form['options']['default']['image']['stroke']['lineDash'] = array(
'#type' => 'textfield',
'#title' => 'Line dash',
'#description' => 'Two integers separated by a comma. The comma is mandatory. Default to disable is <em>0,0</em>.',
'#default_value' => $this
->getOption(array(
'default',
'image',
'stroke',
'lineDash',
), '0,0'),
'#required' => TRUE,
);
$form['options']['default']['stroke'] = array(
'#type' => 'fieldset',
'#title' => 'Stroke',
);
$form['options']['default']['stroke']['color'] = array(
'#type' => 'textfield',
'#title' => 'Color',
'#field_prefix' => 'rgba(',
'#field_suffix' => ')',
'#default_value' => $this
->getOption(array(
'default',
'stroke',
'color',
), '51,153,204,1'),
'#required' => TRUE,
);
$form['options']['default']['stroke']['width'] = array(
'#type' => 'textfield',
'#title' => 'Width',
'#default_value' => $this
->getOption(array(
'default',
'stroke',
'width',
), 1.25),
'#required' => TRUE,
);
$form['options']['default']['stroke']['lineDash'] = array(
'#type' => 'textfield',
'#title' => 'Line dash',
'#description' => 'Two integers separated by a comma. The comma is mandatory. Default to disable is <em>0,0</em>.',
'#default_value' => $this
->getOption(array(
'default',
'stroke',
'lineDash',
), '0,0'),
'#required' => TRUE,
);
$form['options']['default']['fill'] = array(
'#type' => 'fieldset',
'#title' => 'Fill',
);
$form['options']['default']['fill']['color'] = array(
'#type' => 'textfield',
'#title' => 'Color',
'#field_prefix' => 'rgba(',
'#field_suffix' => ')',
'#default_value' => $this
->getOption(array(
'default',
'fill',
'color',
), '51,153,204,1'),
'#required' => TRUE,
);
foreach (Openlayers::getGeometryTypes() as $geometry_type => $geometry) {
$enabled = (bool) $this
->getOption(array(
$geometry_type,
'enabled',
), FALSE);
$form['options'][$geometry_type] = array(
'#type' => 'fieldset',
'#title' => t('Geometry @geometry', array(
'@geometry' => $geometry,
)),
'#collapsible' => TRUE,
'#collapsed' => !$enabled,
);
$form['options'][$geometry_type]['enabled'] = array(
'#type' => 'checkbox',
'#title' => t('Enable this geometry type ?'),
'#default_value' => $enabled,
);
$form['options'][$geometry_type]['image'] = array(
'#type' => 'fieldset',
'#title' => t('Image options'),
'#collapsible' => FALSE,
);
$form['options'][$geometry_type]['image']['points'] = array(
'#type' => 'textfield',
'#title' => 'Radius2',
'#default_value' => $this
->getOption(array(
$geometry_type,
'image',
'points',
), '4'),
'#description' => 'Number of points for stars and regular polygons. In case of a polygon, the number of points is the number of sides.',
);
$form['options'][$geometry_type]['image']['radius'] = array(
'#type' => 'textfield',
'#title' => 'Radius',
'#default_value' => $this
->getOption(array(
$geometry_type,
'image',
'radius',
), '5'),
'#description' => 'Radius of a regular polygon.',
);
$form['options'][$geometry_type]['image']['radius1'] = array(
'#type' => 'textfield',
'#title' => 'Radius',
'#default_value' => $this
->getOption(array(
$geometry_type,
'image',
'radius1',
), NULL),
'#description' => 'Inner radius of a star.',
);
$form['options'][$geometry_type]['image']['radius2'] = array(
'#type' => 'textfield',
'#title' => 'Radius1',
'#default_value' => $this
->getOption(array(
$geometry_type,
'image',
'radius2',
), NULL),
'#description' => 'Outer radius of a star.',
);
$form['options'][$geometry_type]['image']['angle'] = array(
'#type' => 'textfield',
'#title' => 'Angle',
'#default_value' => $this
->getOption(array(
$geometry_type,
'image',
'angle',
), 0),
'#description' => 'Shape\'s angle in degrees. A value of 0 will have one of the shape\'s point facing up. Default value is 0.',
);
$form['options'][$geometry_type]['image']['rotation'] = array(
'#type' => 'textfield',
'#title' => 'Rotation',
'#default_value' => $this
->getOption(array(
$geometry_type,
'image',
'rotation',
), NULL),
'#description' => 'Rotation in degrees (positive rotation clockwise). Default is 0.',
);
$form['options'][$geometry_type]['image']['fill'] = array(
'#type' => 'fieldset',
'#title' => t('Fill options'),
'#collapsible' => FALSE,
);
$form['options'][$geometry_type]['image']['fill']['color'] = array(
'#type' => 'textfield',
'#title' => 'Fill color',
'#field_prefix' => 'rgba(',
'#field_suffix' => ')',
'#default_value' => $this
->getOption(array(
$geometry_type,
'image',
'fill',
'color',
), '255,255,255,0.4'),
'#required' => TRUE,
);
$form['options'][$geometry_type]['image']['stroke'] = array(
'#type' => 'fieldset',
'#title' => t('Stroke options'),
'#collapsible' => FALSE,
);
$form['options'][$geometry_type]['image']['stroke']['color'] = array(
'#type' => 'textfield',
'#title' => 'Stroke color',
'#field_prefix' => 'rgba(',
'#field_suffix' => ')',
'#default_value' => $this
->getOption(array(
$geometry_type,
'image',
'stroke',
'color',
), '51,153,204,1'),
);
$form['options'][$geometry_type]['image']['stroke']['width'] = array(
'#type' => 'textfield',
'#title' => 'Stroke width',
'#default_value' => $this
->getOption(array(
$geometry_type,
'image',
'stroke',
'width',
), '1.25'),
);
$form['options'][$geometry_type]['image']['stroke']['lineDash'] = array(
'#type' => 'textfield',
'#title' => 'Line dash',
'#description' => 'Two integers separated by a comma. The comma is mandatory. Default to disable is <em>0,0</em>.',
'#default_value' => $this
->getOption(array(
$geometry_type,
'image',
'stroke',
'lineDash',
), '0,0'),
);
$form['options'][$geometry_type]['stroke'] = array(
'#type' => 'fieldset',
'#title' => 'Stroke',
);
$form['options'][$geometry_type]['stroke']['color'] = array(
'#type' => 'textfield',
'#title' => 'Color',
'#field_prefix' => 'rgba(',
'#field_suffix' => ')',
'#default_value' => $this
->getOption(array(
$geometry_type,
'stroke',
'color',
), '51,153,204,1'),
);
$form['options'][$geometry_type]['stroke']['width'] = array(
'#type' => 'textfield',
'#title' => 'Width',
'#default_value' => $this
->getOption(array(
$geometry_type,
'stroke',
'width',
), 1.25),
);
$form['options'][$geometry_type]['stroke']['lineDash'] = array(
'#type' => 'textfield',
'#title' => 'Line dash',
'#description' => 'Two integers separated by a comma. The comma is mandatory. Default to disable is <em>0,0</em>.',
'#default_value' => $this
->getOption(array(
$geometry_type,
'stroke',
'lineDash',
), '0,0'),
);
$form['options'][$geometry_type]['fill'] = array(
'#type' => 'fieldset',
'#title' => 'Fill',
);
$form['options'][$geometry_type]['fill']['color'] = array(
'#type' => 'textfield',
'#title' => 'Color',
'#field_prefix' => 'rgba(',
'#field_suffix' => ')',
'#default_value' => $this
->getOption(array(
$geometry_type,
'fill',
'color',
), '51,153,204,1'),
);
}
}
/**
* {@inheritdoc}
*/
public function optionsFormSubmit(array $form, array &$form_state) {
parent::optionsFormSubmit($form, $form_state);
$options = $this
->getOptions();
foreach (Openlayers::getGeometryTypes() as $geometry_type => $geometry) {
if ((bool) $options[$geometry_type]['enabled'] === FALSE) {
unset($options[$geometry_type]);
}
}
$this
->setOptions($options);
$form_state['values']['options'] = $options;
parent::optionsFormSubmit($form, $form_state);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Base:: |
protected | property | Holds all the attachment used by this object. | 6 |
Base:: |
protected | property | Holds the Collection object. | |
Base:: |
protected | property | A unique ID for the object. | |
Base:: |
public | function |
Add an object into the collection of the parent object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Returns a list of attachments for building the render array. Overrides ObjectInterface:: |
6 |
Base:: |
public | function |
Remove an option. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Defines dependencies. Overrides ObjectInterface:: |
3 |
Base:: |
public | function |
Returns the path to the plugin directory. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Returns the path to the class file. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the Collection object linked to the object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the object configuration. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return all the dependencies objects of the parent object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the description of the object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return an object, CTools Exportable. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the Factory Service of the object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the object unique ID. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the unique machine name of the object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the human name of the object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return an array of OL objects indexed by their type. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Returns an option. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the options array. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Returns an array with the maps this object is attached on. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the description of the object's plugin. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the module that provides this plugin. Overrides ObjectInterface:: |
|
Base:: |
public | function |
The type of this object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Get the weight of an object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Refresh string translations. Overrides ObjectInterface:: |
1 |
Base:: |
public | function |
Initializes the object. Overrides ObjectInterface:: |
2 |
Base:: |
public | function |
Initializes the Collection,
Import objects from options,
Import the current object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Whether or not this object has to be processed asynchronously. Overrides ObjectInterface:: |
3 |
Base:: |
public | function |
Validation callback for the options form. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return a flat array containing Openlayers Objects from the options array. Overrides ObjectInterface:: |
9 |
Base:: |
public | function |
Invoked after an objects render array is built. Overrides ObjectInterface:: |
13 |
Base:: |
public | function |
Invoked before an objects render array is built. Overrides ObjectInterface:: |
4 |
Base:: |
public | function |
Remove an object from the collection. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Reset the object's Collection. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Set the Factory Service of the object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Set the object ID. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Set an option. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Set the options array. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Set the weight of an object. Overrides ObjectInterface:: |
|
RegularShape:: |
public | function |
@TODO What is this return? If it is the form, why is form by reference? Overrides Base:: |
|
RegularShape:: |
public | function |
Submit callback for the options form. Overrides Base:: |
|
Style:: |
protected | property |
The array containing the options. Overrides Base:: |
|
Style:: |
public | function |
!Attention! This function will remove any option that is named after a
plugin type e.g.: layers, controls, styles, interactions, components . Overrides Base:: |