Aunque waine dispone de una importante cantidad de widgets predefinidos, también permite a los desarrolladores la implementación de sus propios widgets. Existen dos formas para hacerlo:
Cualquiera que sea el método elegido los nuevos widgets se definirán o serán incluidos en el fichero userwdg.inc
El procedimiento para crear un nuevo widget utilizando la herencia consta de los siguientes pasos:
La herencia en PHP se define empleando la palabra reservada extends. La nueva clase reescribiría los métodos necesarios de la clase padre para definir un nuevo comportamiento.
class mleditbox extends widget { function RenderR($IN_name, $IN_value, $IN_fld, $IN_lstval) { return($this->DefaultRender($this->strh,$IN_name, $IN_value, $IN_fld, $IN_lstval).waine_mlstr($IN_value)); } function RenderL($IN_name, $IN_value, $IN_fld, $IN_lstval) { return($this->DefaultRender($this->strl,$IN_name, waine_mlstr($IN_value), $IN_fld, $IN_lstval)); } }
Los objetos en PHP se crean empleando el operador new. Una forma simple de crear un nuevo objeto sería la siguiente:
$newwdg=new mleditbox() ;
Por último queda poner a disposición del sistema el widget creado. Para ello hay que registrar el objeto creado en el pool de widgets del sistema. Esta acción se realiza con la siguiente instrucción:
$WDGPOOL->add('mleditbox',$newwdg);