====== 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) ;