sábado, 30 de julio de 2011

4. Empezamos: el componente supergridview

Vamos a empezar con algo muy fácil, que es añadirle una nueva propiedad a un control. Lo vamos a hacer con un gridviews, (que es mi control favorito), y la tarea consistirá en añadirle una propiedad llamada “tag2” con la cual el programador puede usarla para que lo que le convenga, será del tipo string (o sea podrá contener una cadena de texto).

Creamos un nuevo proyecto, y dejamos clickeados la opción de “Programación de un componente” y también en “Internalización”, dejamos asi la puerta abierta a una eventual traducción a otros idiomas.



Creamos una nueva carpeta que llamaremos “componentesGambas”,
dentro de nuestro directorio de usuario (en mi caso /home/uno/componentesGambas)

Nota:
Es importante no dejar espacios y no utilizar caracteres especiales en el nombre de la carpeta, así evitaremos errores a la hora de la creación de los paquetes de instalación .deb



Añadiremos en la siguiente pantalla el nombre del proyecto y titulo: “supergridviews”





Pulsamos el botón “ok” y vemos que se han creados varias clases, un formulario y en la carpeta Data, subcarpeta “control” aparecen 2 iconos



Para hacer nuestro control, vamos a borrar las clases “CContainer” y “CCntrol”, el formulario “Ftest” y en datos/control borramos también “ccontainer.png”.

Al archivo “ccontrol.png” le vamos a cambiar el nombre por “supergridviews.png”.
También vamos a crear un archivo de clases que la llamaremos “supergridviews”.


Nos quedará una cosa asi:


En el archivo de clases es donde pondremos nuestro código.
'Gambas class file
'heredamos las propiedades de un gridview
INHERITS gridview
EXPORT

'añadimos la propiedad Tag2
'1º para que se pueda ver en el cuadro de propiedades, la añadimos a las 'propiedades existentes
PUBLIC CONST _Properties AS String = "*,Tag2"

'2 creamos la propiedad en si
PROPERTY tag2 AS String
PRIVATE htag2 AS String

'función de lectura
PRIVATE FUNCTION tag2_Read() AS String
RETURN htag2
END

'función de escritura
PRIVATE SUB tag2_Write(Value AS String)
htag2 = value
END

Y ya está nuestro código realizado.

Ahora tenemos que hacer que el archivo de clases “supergridviews” sea “clase de inicio”, hacemos click sobre el nombre de la clase “supergridviews”, nos aparece un menú y elegimos “clase de inicio



El siguiente paso es dar ciertas propiedades a nuestro proyecto.


Nos vamos a Proyecto/Propiedades del proyecto.
En la pestaña “General” pulsamos sobre el icono de Gambas y elegimos nuestro
icono , en este caso esta en la carpeta control







En la pestaña Opciones, le damos a “Si” en Este proyecto en un componente y “Versión Beta” en “Avance del componente“






En la pestaña “Provee”, el tipo le tenemos que poner “Control” y en grupo “Form”, para que aparezca pestaña de controles “Form” cuando se añada a un proyecto nuestro nuevo control.




Y en la pestaña “Requiere” pulsamos en “Gestión gráfica de formularios”





Una vez hecho esto vamos a crear el ejecutable. (“ctrl”+”alt”+”m”) o Proyecto/Crear/Crear ejecutable y lo guardaremos en la ruta /home/uno



Nota Importante:
Cuando digo ruta “/home/uno” me refiero a la ruta “/home/usuario”, ya que mi usuario se llama “uno”.



Como veis hemos marcado “Mantener información de depuración en el ejecutable” y “Instalar en el directorio de componentes del usuario”, para que automáticamente en nuestro ordenador se guarde en la carpeta de componentes nuestro nuevo control “supergridviews”.


La información de los componentes “del usuario”, están en las siguientes carpetas:

Dirección
Archivo
Carpeta donde apunta enlace
home/uno/.local/lib/gambas2/
enlace directo que apunta al ejecutable “supergridviews1.gambas”
/home/uno/supergridviews.gambas


home/uno/.local/lib/gambas2/
Enlace directo que apunta al archivo “supergridviews.component”

/home/uno/ componentesGambas/supergridviews/.component
home/uno/.local/share/gambas2
/control/supergridviews
enlace directo que apunta al icono “supergridviews.png”
/home/uno/ componentesGambas/supergridviews/control/supergridviews.png
home/uno/.local/share/gambas2
/info
enlace directo que apunta al archivo .info “supergridviews.info”
/home/uno/ componentesGambas/supergridviews/.info
home/uno/.local/share/gambas2
/info
enlace directo que apunta al archivo .list “supergridviews.list”
/home/uno/ componentesGambas/supergridviews/.list
/home/uno/componentesGambas/
supergridviews






No hay comentarios:

Publicar un comentario