16 de Marzo 2006

T-Gtk nueva release

Recien salida del horno, hara las delicias de más de un programador de xBase.

Acabamos de subir la nueva release de T-Gtk, nuestra querida GUI multiplataforma para [x]Harbour ;-)

En esta una version , pasamos de un estado Alpha a un estado Beta, por ser más estable y haber terminado de establecer las pautas a seguir en el desarrollo.

Como siempre, en el grupo de T-Gtk , podeis bajaros la nueva release y jugar con ella, total, no te cuesta un duro ;-)

Disponible en el grupo : http://es.groups.yahoo.com/group/t-gtk/

Atencion, la version multiplataforma no soporta de momento Harbour, en estos momentos acabo de bajarme el codigo desde el CVS en sourceforge, y estoy intentando reconstruirlo, el motivo es que ya una diferencia en el nucleo que nos afecta la compatibilidad entre el Harbour oficial y el del CVS, que esperamos solucionar lo antes posible.

Saludos
Rafa Carmona

Escrito por Rafa Carmona a las 3:25 PM | Comentarios (0)

2 de Marzo 2006

Buscando en TreeViewColumn.

¿ Como podemos hacer que cuando presionamos una columna ordenada se establezca la busqueda sobre esa columna ?

Bueno, pues esa pregunta hace tiempo, que me llevaba rondando por la cabeza,
y ayer, no pude más y termine de implementarlo.

Pues es mas simple de lo que parece ;-)

Teniendo un vista:
DEFINE TREEVIEW oTreeView ID "vista1" RESOURCE cGlade

Creamos un columna ordenable:
DEFINE TREEVIEWCOLUMN oCol COLUMN 1 TITLE "Libro" TYPE "text" OF oTreeView SORT

Y ahora, solamente nos quedará definir como establecer la columna de busqueda:

1.- Conectaremos la señal clicked de la columna ;
oCol:Connect( "clicked" )
2.- Establecemos a traves de un codeblock, la accion a ejecutar:
oCol:bAction := { |oSenderl| oTreeView:SetSearchColumn( oSender:GetSort() ) }

La explicacion es bastante simple:

Cuando se pulsa el header de la columna, esta ejecuta el codeblock, que
recibe como paremetro, oSender, quien es la columna que a emitido esa
señal.

El method SetSeachColumn( nColumn ) , no necesita mucha explicacion, y
determina en la vista, oTreeView, sobre que columna se va a proceder a buscar.

Pero, nos queda averiguar que columna es, pues tan simple como preguntar,
que columna actual es la que tiene establecido la ordenacion, a traves del
method GetSort().

Dicho method, nos devuelve en que columna actualmente esta establecido la
ordenacion.

Debeis de pensar , que por el simple hecho de que una columna esta ordenada en la vista, no significa que obligatoriamente sea sobre la que se busca.

Es posible tener ordenada la vista por libros, A.B.C..D.., y el criterio de busqueda sea por el codigo ISBN, por ejemplo, aunque no muy práctico, si es totalmente
correcto ese funcionamiento, claro visto desde la perpestiva del programador, pero ya sabemos como el usuario tardaria 2 segundos en coger el telefono y meterte la bronca porque no se posiciona correctamente ;-)

Quizas podria especificar en el comando TREEVIEWCOLUMN alguna clausula,
para hacerlo mas fácil, pero de momento, no esta realizado, un HEADER_ACTION uAction, o ACTION a secas, no se, ya veremos.

Esto estará en la proxima , espero que pronta, release de T-Gtk.

Saludos
Rafa Carmona

Escrito por Rafa Carmona a las 1:15 PM | Comentarios (1)