00001 <?php 00002 00003 namespace Habari; 00004 00005 class FormControlLabel extends FormContainer 00006 { 00007 public $label; 00008 00012 public function _extend() 00013 { 00014 $this->settings['ignore_name'] = true; 00015 } 00016 00023 public static function wrap($label, FormControl $control) { 00024 $label_control = new FormControlLabel('label_for_' . $control->name); 00025 if(isset($control->container)) { 00026 $control->container->insert($control, $label_control); 00027 $control->container->remove($control); 00028 } 00029 $label_control->append($control); 00030 $label_control->label = $label; 00031 return $label_control; 00032 } 00033 00040 function get(Theme $theme) 00041 { 00042 $this->vars['label'] = $this->label; 00043 $this->properties['for'] = reset($this->controls)->get_visualizer(); 00044 return parent::get($theme); 00045 } 00046 00052 public function set_label($label) { 00053 $this->label = $label; 00054 return $this; 00055 } 00056 00062 public function set_for($for) { 00063 $this->properties['for'] = $for->get_id(); 00064 return $this; 00065 } 00066 }