martes, julio 01, 2008

Window Data Type, Drag and Drop y otras yerbas

Por suerte tengo que admitir que de a poco le voy agarrando la mano al nuevo IDE de GeneXus. En realidad creo que lo estoy controlando ya que el primer mes que estuve trabajando con GeneXus X el nuevo IDE me controlaba a mí. :-)

Hace aproximadamente tres meses que estamos trabajando en serio con GeneXus X desarrollando una aplicación que en breve saldrá en producción, por lo menos la versión Beta. jeje

En estos tres meses puede aprender bastante del nuevo IDE aparte de quedarme con muchas dudas de en donde aplicar las nuevas funcionalidades ya que son muy lindas cuando las vemos en los ejemplos pero ponerlas en una aplicación real no siempre es tan fácil.

Lo más fácil de aplicar son los user controls ya que creo que casi todas las aplicaciones tienen que contar con un menú y por suerte tenemos varios para elegir, en mi caso estoy usando el User Control Slide Down Menu.

Por otro lado le encontré un uso interesante para el nuevo tipo de datos Windows y el famoso Drag and Drop. En realidad quiero que mi desarrollo sea GeneXus X oriented por lo que estoy buscando meter algo de GeneXus X en cada funcionalidad de mi aplicación. :-)

El sistema que estamos desarrollando es un manejador de las relaciones sociales de la empresa y un poco mas, hablando en criollo es un CRM extendido por lo que el nombre que le pusimos es extendedCRM. Una funcionalidad es la posibilidad de importar direcciones desde Microsoft Outlook ya que este programa nos brinda la posibilidad de exportar en un formato separado por comas por lo que me quedo fácil hacer el programa de importación, lo interesante de esto es que uso un tipo de datos Windows para desplegar una especie de Wizard que comienza pidiendo el archivo a importar y luego nos muestra otra pantalla en donde en una grilla nos muestra los cabezales de los campos (Títulos) y tiene otra grilla al lado donde utilizando Drag and Drop puedo mover los campos de la Grilla que contiene los campos del archivo a la otra grilla que contiene los campos que realmente quiero migrar ya que no todos los campos que usa Outlook tienen correspondencia en el sistema.

La verdad que lo podía haber realizado de otra forma pero me gusto tener la posibilidad de darle un buen uso al tipo de datos Windows y al Drag and Drop.

El código es bastante sencillo, por ej. para el tipo de datos Windows el código que estoy usando es el siguiente:

Event 'Importar Libreta de Direcciones'
&MiVentana.Height = 400
&MiVentana.Width = 540
&MiVentana.Object = AuxArchivo.Create()
&MiVentana.Open()
EndEvent


El código para el drop es el siguiente:

Event GrillaDrop.Drop(&AuxFechaHora,&AuxTextoPosCabezal,&AuxTextoCabezal)
MarcaCampoAImportar.Call(&AuxFechaHora_Usados, &AuxTextoPosCabezal)
GrillaDrop.Load()
EndEvent


Para que esto funcione hay que habilitar las propiedades AllowDrop y AllowDrag de las grillas o de los objetos que intervengan.

Lo del Drag and Drop se encuentra bien explicado en el wiki de la comunidad ya que no quiero marear a los lectores de este blog por lo que prefiero que lean la documentación sobre el tema en el wiki: Drag and Drop in Applications


Hoy en día tengo una versión mejorada pero dejo un pequeño video que hice hace un tiempito para mostrarle a un amigo las cosas que se podían hacer con GeneXus X.


video

Creo que esto es un ejemplo muy pequeño de las cosas que se pueden llegar a realizar con GeneXus X. A medida que voy encontrando aplicación de las nuevas cosas las voy a ir subiendo al blog. Hasta la próxima. :-)