====== Widgets definidos por adaptación ======
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:
- por adaptación
- [[waine:doc:widgets_definidos_por_herencia | mediante la herencia]]
Cualquiera que sea el método elegido los nuevos widgets se definirán o serán incluidos en el fichero [[waine:file:conf:cpm:userwdg.inc]]
===== Procedimiento general para la adaptación de widgets =====
El procedimiento para crear un nuevo widget por adaptación consta de los siguientes pasos:
- Crear un objeto de la clase widget o mwidget
- Adaptar el widget asignando el código necesario según el modo de presentación del mismo
- Registrar el nuevo objeto en el pool de widget disponibles.
==== 1. Creación de un objeto de la clase widget o mwidget ====
Los objetos en PHP se crean empleando el operador new. Una forma simple de crear un nuevo objeto sería la siguiente:
$newwdg=new widget() ;
==== 2. Adaptar el widget asignando el código necesario según el modo de presentación del mismo ====
El widget por defecto tiene el comportamiento de un textbox (el equivalente a un de html. Para implementar el nuevo widget por adaptación se debe definir el código HTML que se debe emplear en cada caso utilizando el método setCode de la clase widget o mwidget. Por ejemplo
$newwdg−>setCode( ’W’ , ””) ;
==== 3. Registrar el nuevo objeto en el pool de widget disponibles ====
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( ’passwordbox ’ ,$newwdg) ;