diff --git a/include/simpleplugin/class_attribute.inc b/include/simpleplugin/class_attribute.inc index ca1e478b18e13e4cd6c1f0e730badab14940ac6b..70d3df5b080c05f2e873e33bbff92b88acc85c24 100644 --- a/include/simpleplugin/class_attribute.inc +++ b/include/simpleplugin/class_attribute.inc @@ -1976,6 +1976,7 @@ class SetAttribute extends Attribute protected $valueUnicity = TRUE; protected $editingValue = FALSE; protected $linearRendering = TRUE; + protected $size = 4; /*! \brief The constructor of SetAttribute * @@ -2108,10 +2109,13 @@ class SetAttribute extends Attribute function renderOnlyFormInput() { + if (($this->size < 15) && ($this->size < count($this->value))) { + $this->size = min(15, count($this->value)); + } $id = $this->getHtmlId(); $smarty = get_smarty(); $smarty->assign($id.'_values', $this->getDisplayValues()); - $display = '<select multiple="multiple" name="row'.$id.'[]" id="row'.$id.'"'. + $display = '<select multiple="multiple" name="row'.$id.'[]" id="row'.$id.'" size="'.$this->size.'"'. ($this->disabled? ' disabled="disabled"':''). ' >'."\n"; $display .= '{html_options options=$'.$id.'_values}'; @@ -2259,6 +2263,11 @@ class SetAttribute extends Attribute { return in_array($value, $this->value); } + + function setSize($size) + { + $this->size = $size; + } } /*! \brief This class allow to handle easily a composite attribute