Septiembre 19, 2005

Browses para T-Gtk (II)

Si anteriormente vimos el ejemplo de uso de un Browse sobre una tabla DBF,
ahora veremos sobre arrays.

Siguiendo con el Browse nativo, Joaquim a dado soporte tambien para arrays,
igual que anteriormente haciamos en Fivewin con oBrw:SetArray( aArray ),
con T-Gtk se realizará de la misma forma.

La diferencia, es que mientras en Fivewin tenemos que poner FIELD ""; ,
bajo T-Gtk no es necesario:

aElements := { { 1,2,3,4,5,6,7,8,9,10,11,12 } }

DEFINE BROWSE oBrw1 ;
HEADERS "Elementos" ;
COLSIZES 50;
OF oBox

oBrw1:SetArray( aElements )

Ademas, se a introducido una data a la columna, para especificar si debe
mostrar o no la barra como seleccionado, cuando estemos encima de la fila
actual.

oBrw:aColumns[1]:lDrawSelect := .f.

Seria el equivalente a NOBAR de la clase TSBROWSE.

Pongo aqui la imagen sobre dos browses relacionados, todo basado en arrays.

brwarray.JPG

Finalmente , esto va tomando forma, y de momento nos estamos centrando en
depurar la clase , tanto a nivel de C como de prg.

Despues , me queda finalizar la implementación directamente en gClass , que
tengo al 99%, a falta de parar las caracteristicas actuales , en esta primera
revision.

Pero ya sabemos como funciona esto, no se termina nunca de contentar a nadie, y no se para nunca de intentar mejorar lo que se tiene.

Como siempre, aqui esta el codigo fuente que realiza lo de la imagen:


/**
* BrwArray.prg - Browse arrays & gclass (by TheFull)
* Copyright (C) 2005 Joaquim Ferrer Godoy
**/

#include "gclass.ch"
#include "browse.ch"

function main()

local oWnd, oBrw1, oBrw2, oBox
local aColSpa := { "rojo", " blanco", "amarillo", "verde", "marron", "rosa", ;
"negro", "naranja", "gris", "lila", "azul", "fucsia" }
local aColCat := { "roig", "blanc", "groc", "vert", "marro", "rosa", ;
"negre", "taronge", "gris", "lila", "blau", "fucsia" }
local aColEng := { "red", "white", "yellow", "green", "brown", "pink", ;
"black", "orange", "gray", "purple", "blue", "#FF00FF" }
local aNumber := { { 1,2,3,4,5,6,7,8,9,10,11,12 } }

local aNumSpa := { "Uno", "Dos", "Tres", "Cuatro", "Cinco", "Seis",;
"Siete", "Ocho", "Nueve", "Diez", "Once", "Doce" }
local aNumCat := { "U", "Dos", "Tres", "Quatre", "Cinc", "Sis", ;
"Set", "Vuit", "Nou", "Deu", "Onze", "Dotze" }
local aNumEng := { "One", "Two", "Three", "Four", "Five", "Six", ;
"Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve" }
local aDays := { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }


DEFINE WINDOW oWnd TITLE "Browse arrays T-Gtk" SIZE 500,300

DEFINE BOX oBox SPACING 2 OF oWnd

DEFINE BROWSE oBrw1 ;
HEADERS "Number" ;
COLSIZES 50;
OF oBox ;
COLORS "red" ;
ON CHANGE ( oBrw2:SetArray( { { aNumSpa[oBrw1:nAt], aColSpa[oBrw1:nAt] }, ;
{ aNumCat[oBrw1:nAt], aColCat[oBrw1:nAt] }, ;
{ aNumEng[oBrw1:nAt], aColEng[oBrw1:nAt] } } ),;
oBrw2:Refresh() )

ADD COLUMN TO BROWSE oBrw1 ;
DATA "";
HEADER "Colors" ;
COLOR "red", {|| aColEng[ oBrw1:nAt ] } ;
SIZE 70

atail( oBrw1:aColumns ):lDrawSelect := .f.

ADD COLUMN TO BROWSE oBrw1 ;
DATA {|| aDays[oBrw1:nAt] };
HEADER "Months/Days" ;
HEADER_PICTURE "browse.png" ;
COLOR {|| if( oBrw1:nAt %2 <> 0, "red", "green" ) }, ;
{|| if( oBrw1:nAt %2 <> 0, "gray", "white" ) } ;
SIZE 80

oBrw1:SetArray( aNumber )

DEFINE BROWSE oBrw2 ;
HEADERS "Spanish", "Catalan", "English" ;
COLSIZES 70,70,70 ;
OF oBox ;
COLORS "black"

oBrw2:lArrow := .f.
oBrw2:aColumns[ 2 ]:cfgColor = "#FFD700"
oBrw2:aColumns[ 2 ]:cbgColor = "#1E90FF"

ACTIVATE WINDOW oWnd CENTER

return nil

Escrito por Rafa Carmona a las Septiembre 19, 2005 11:43 PM
Comentarios

Vamos haber si hemos puesto bien el tema de los comentarios para la gente.

Escrito por Rafa Carmona a las Septiembre 19, 2005 11:45 PM

Great, T-GTK POWER!!!, look very easy to implement.

Saludos,

-iip-

Escrito por Iip a las Septiembre 20, 2005 06:36 AM

Sera utilizable con algo que no sea dbf o array ??

Excelente trabajo.

Atte,
Lautaro

Escrito por Lautaro Moreira a las Septiembre 20, 2005 05:04 PM

Umm. Lautaro, a que te refieres exactamente ?
Es posible modificar los codeblocks, bSkip, bGotop, bGoBottom, bLogicLen, por lo cual, el comportamiento
lo puedes decidir tu.

Dime en que estas interesado para ponerlo, si podemos hacerlo o preveerlo en un futuro.

En nuestra idea, estaba al principio SOLAMENTE la navegacion a traves de DBFs, porque, tenemos los listores/TreeView para el resto.

Saludos

Escrito por Rafa Carmona a las Septiembre 20, 2005 08:49 PM

Ups, no mire toda la sintaxis, es que estoy demasiado acostumbrado a usar el bline del browse de fivewin para mostrar los data y no lo veia en ninguna parte, pero tu sintaxis es columna a columna.

Gracias por tu atencion.

Lautaro

Escrito por Lautaro Moreria a las Septiembre 21, 2005 07:01 PM

强烈推荐:最好的翻译公司在上海,提供日语翻译英语翻译韩语翻译等多语种的语言翻译服务。上海翻译公司在行业翻译领域如经济翻译法律翻译等颇有建树,公司还具体提供澳大利亚移民的证件翻译服务。

Escrito por translation a las Octubre 17, 2007 10:01 AM

网络营销软件
网络营销软件
网络营销软件
群发软件
群发软件
---
群发软件
博客群建软件
网络营销软件
论坛群发软件
网站排名软件
群发软件
推广小助手破解版
论坛群发
网站排名软件
群发软件
推荐给你很好的群发软件信息群发软件和供求群发软件
推荐给你很好的群发软件信息群发软件和供求群发软件博客群发软件网络营销软件网络营销软件
网站排名软件网站排名软件网站优化软件信息群发软件信息群发软件信息群发软件论坛群发软件网站推广软件网站推广软件博客群发软件博客群发软件
群发软件
网络营销软件
论坛群发
网站推广软件
群发软件群发软件博客群发软件论坛群发软件网络营销软件论坛群发软件
信息群发软件推广软件网站推广软件网络营销软件网站推广软件群发软件网站排名软件网站推广软件博客群发软件论坛群发软件群发软件网站排名软件网站推广软件博客群发软件论坛群发软件
网站排名软件
群发软件
博客群发软件
网站排名软件
网站推广软件
群发软件信息群发软件
免费论坛群发软件
论坛群发软件
网站排名软件
免费博客群发软件
网站推广软件

群发软件
博客群发软件
网站排名软件
网站推广软件
群发软件信息群发软件
免费论坛群发软件
论坛群发软件
网站排名软件
免费博客群发软件
博客群发软件
信息群发软件
论坛群发软件
信息群发软件
博客群发软件
qq群发软件
邮件群发软件
博客群建软件
企业名录搜索软件
信息群发软件
邮件群发软件
论坛群发软件
博客群发软件
网站推广软件
网络营销软件
全能营销破解版
网络营销软件
论坛群发软件
论坛群发软件
论坛群发软件
网络营销软件
信息群发软件
信息群发软件
信息群发软件
群发软件
论坛群发软件

Escrito por 群发软件 a las Febrero 10, 2008 01:56 PM
Escribir un comentario









¿Recordar informacion personal?