WVW no Harbour

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

WVW no Harbour

Mensagem por Itamar M. Lins Jr. »

Para quem estava querendo mudar do xHb para o Harbour mas estava preso na velha WVW, o momento é esse.
Agora é verificar se vai ficar travando igual está no xHb. Porque no Harbour eles corrigem os erros que a gente encontra.
+ Added rudimentary port of GTWVW to Harbour.
(The source was current xhb CVS repository.)
The port is very very (very) far from anything else
than can be found in Harbour, this port involved making
all the minimum required steps to build and link under
Harbour, plus some extra cleanups.
! Lots of cleanups and fixes.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: WVW no Harbour

Mensagem por sygecom »

Isso é muito bom, além do que os ajustes já vão deixando a mesma compatível para MT com Harbour, coisa que no xHarbour dava uns pau meio louco.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: WVW no Harbour

Mensagem por asimoes »

Senhores,

Perguntas:

A WVW está em que pasta? É na contrib?

Ontem eu baixei uma atualização da SVN e não achei a WVW, me desulpem se estiver errado.

Já achei!

[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: WVW no Harbour

Mensagem por sygecom »

\harbour\examples\gtwvw
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: WVW no Harbour

Mensagem por asimoes »

sygecom,

É verdade, eu até editei o meu post informando que tinha achado.

Fiz alguns testes e ainda tem algumas coisas a serem resolvidas.

Por exemplo, as funções wvw_drawboxrecessed e wvw_drawboxraised, tinham um problema no xharbour quando a janela era minimizada e maximizada, os boxes sumiam.
Nesta versão da wvw, os box restauram sem problemas, mas não apagam! numa troca de janela, por exemplo se for chamada uma outra rotina, tem alguma outra função que faça isso? tentei savescreen e wvw_savescreen e nada.

[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: WVW no Harbour

Mensagem por Itamar M. Lins Jr. »

Ola!
Nesta versão da wvw, os box restauram sem problemas, mas não apagam! numa troca de janela, por exemplo se for chamada uma outra rotina, tem alguma outra função que faça isso?
Tente criar um pequeno programa demonstrando o problema. Se for um problema mesmo.
Ai, é só postar no forum dos desenvolvedores. Quem sabe eles podem corrigir...

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: WVW no Harbour

Mensagem por asimoes »

Olá Itamar,

Eu fiz o teste com o fonte maximize.prg que esta na pasta tests

Código: Selecionar todos

procedure updatescr()
local i
   CLS
   wvw_drawboxrecessed(,1,1,maxrow(),maxcol())
   aWin:=SaveScreen(10,2,12,30)
   wvw_drawboxraised(,10,2,12,30)
   @11,03 Say "teste" COLOR "r/w"
   inkey(10) //Espera 10 segundos para restaurar a tela
   RestScreen(10,2,12,30,aWin) //A tela continua com o box drawboxraised
   diminfo()
return
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
frazato
Usuário Nível 3
Usuário Nível 3
Mensagens: 219
Registrado em: 08 Jul 2004 07:45

Re: WVW no Harbour

Mensagem por frazato »

Boa tarde..

Faço uso da Gtwvw a cerca de 2 anos usando o xharbour ( 99.70), só que tambem não utilizo as função de salvar e restaurar telas, para cada tela crio uma janela e depois fecho esta janela.


Procure a funções:
FechaJanela() , AbreJanela().


Usei este exemplo para isso, muito bom!


http://www.4shared.com/file/67802282/31 ... cxwin.html


Frazato
marcosgambeta
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 16 Jun 2005 22:53

Re: WVW no Harbour

Mensagem por marcosgambeta »

Pessoal,

Sobre a gtwvw no Harbour, vejam com atenção a entrada no Changelog:

Código: Selecionar todos

    + examples/gtwvw
    ...
    + Added rudimentary port of GTWVW to Harbour.
      (The source was current xhb CVS repository.)
      The port is very very (very) far from anything else
      than can be found in Harbour, this port involved making
      all the minimum required steps to build and link under
      Harbour, plus some extra cleanups.
    ! Lots of cleanups and fixes.
    + Added Harbour make files (both GNU make and hbmk2)
    + Cleaned tests to avoid multiple symbols and much simpler
      interdependencies.
    ! Removed extra test.dbf and what32 dependency.
    ; TOFIX: Due to public symbol collisions, this GTWVW it's
             probably not possible to use it with gtwin lib.
    ; NOTE: GTWVW is limited to non-UNICODE, non-C++, 32-bit
            Windows (no WinCE) builds, and for a clean compiler
            I had to suppress Harbour standard warning levels.
            Anyway, not basic tests program seems to work,
            although I didn't dig into them very deeply.
            We will see if this contrib turns out to be useful
            or not, and we can decide to drop it or maybe
            moving it to contrib once it has been brought up
            to Harbour standards. Although the code is huge,
            so don't expect to happen this very soon.
Notem que ela está na pasta /harbour/examples. É uma adaptação rudimentar do código disponivel no projeto xHarbour. Está bem longe dos projetos da pasta /harbour/contrib, em termos de qualidade do código. Conflita se usada em conjunto com a gtwin. Há muito trabalho pela frente para ela "merecer" ir para a pasta contrib. Pode até ser que isto não ocorra.

Então, torçam para que ela evolua e ganhe qualidade e estabilidade, da mesma forma que o Harbour e os projetos da pasta contrib.
Atenciosamente,
Marcos Antonio Gambeta
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: WVW no Harbour

Mensagem por alaminojunior »

Acredito que ela deva funcionar igual a wvt.
Nesta última, (usando xHarbour) eu coloco os objetos gráficos numa matriz e com uso de uma função auxiliar que vem na pasta contrib, estes objetos permanecem no lugar, inclusive aceitando que telas posteriores sejam salvas e depois restauradas. Simplesmente funciona !
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: WVW no Harbour

Mensagem por Itamar M. Lins Jr. »

Código: Selecionar todos

aWin:=SaveScreen(10,2,12,30)
Já testou usando save e restore da WVW ?

Código: Selecionar todos

wvw_save, wvw_rest...
Não uso wvw mas observei nos fontes que existem esses 2 comandos.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
BHS
Usuário Nível 2
Usuário Nível 2
Mensagens: 79
Registrado em: 16 Out 2007 12:01
Localização: SOROCABA/SP

Re: WVW no Harbour

Mensagem por BHS »

antes de mais nada um Feliz Natal a todos

vamnos lá,

Colega Alamino, tb uso a wvt com xharbour, porém gostaria somente de colocar o logotipo da empresa bem no centro da tela, mas como vc mencionou agora pouco, conforme minimiza ou sai pra outra tela o logo some.
Vc poderia nos passar um trecho desse código que vc usou, e qual é a função auxiliar é esta que esta na pasta Contrib ?

Obrigado
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: WVW no Harbour

Mensagem por asimoes »

Olá Itamar,
Antes de mais nada, Feliz Natal para você e Família.
Itamar M. Lins Jr. escreveu:Não uso wvw mas observei nos fontes que existem esses 2 comandos.
Sim tentei isso e não funcionou, como o código foi portado do xharbour, alguém com certeza irá consertar.

Só acho interessante essas funções de box de alto e baixo relevo, para dar uma impressão legal no visual dos aplicativos.

Quando funcionarem, será uma opção interessante a gtwvw.

[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: WVW no Harbour

Mensagem por alaminojunior »

Código: Selecionar todos

Function Main
private aBlocks:= {}

aAdd( aBlocks, {|| Wvt_DrawBoxRaised( 2, 1, 32, 78 ) } ) 
aAdd( aBlocks, {|| Wvt_DrawBoxRecessed(  3, 31, 22, 77 ) } ) 
aAdd( aBlocks, {|| Wvt_DrawBoxRecessed(  3,  2,  5, 28 ) } )

aLastPaint := WvtSetBlocks( aBlocks )

inkey(0)
return
Como eu havia dito, você guarda tudo o que for gráfico, caixas, imagens, etc ... dentro de uma matriz (aBlocks)
Eu guardo toda a tela inicial do sistema, e as funções WvtSetBlocks e WvtPaint se encarregam do resto.
Um detalhe é que se precisar abrir outra janela por cima, os objetos gráficos estarão lá atrapalhando. Então nesse caso eu guardo o conteúdo da matriz em outra matriz, zero o seu conteúdo, e então eu posso abrir outras janelas e caixas por cima. Terminando eu restauro o conteúdo anterior e pronto, está tudo lá de novo. Pode minimizar, sobrepor programas, etc.

Código: Selecionar todos

FUNCTION Wvt_Paint()
LOCAL aBlocks := WvtSetBlocks()
aEval( aBlocks, {|e| eval( e ) } )
WvtPaintObjects()
RETURN 0

Código: Selecionar todos

FUNCTION WvtSetBlocks( a_ )
LOCAL o
STATIC s := {}
o := aclone( s )
IF a_ != nil
   s := aclone( a_ )
ENDIF
RETURN o
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Responder