Página 2 de 2

Harbour Android + Hwgui

Enviado: 17 Fev 2015 20:45
por Itamar M. Lins Jr.
Nota: TIMER nunca existiu na HWGUI GTK, então certamente não é esse o motivo de desfazer uma funcionalidade da HWGUI,
Reveja seus conhecimentos ai a respeito dessa afirmação. Agora existe!, Então é, o timer não existia.

Código: Selecionar todos

/*
 *$Id: htimer.prg 2203 2013-11-27 11:52:44Z alkresin $
 *
 * HWGUI - Harbour Linux (GTK) GUI library source code:
 * HTimer class
 *
 * Copyright 2004 Alexander S.Kresin <alex@kresin.ru>
 * www - http://www.kresin.ru
*/

#include "windows.ch"
#include "hbclass.ch"
#include "guilib.ch"

#define  TIMER_FIRST_ID   33900

CLASS HTimer INHERIT HObject

   CLASS VAR aTimers   INIT {}
   DATA id, tag
   DATA value
   DATA oParent
   DATA bAction
   DATA name
   ACCESS Interval     INLINE ::value
   ASSIGN Interval(x)  INLINE ::value := x, ::End(), ;
         Iif( x == 0, .T., ::tag := hwg_SetTimer( ::id,x ) )

   METHOD New( oParent, id, value, bAction )
   METHOD End()

ENDCLASS

METHOD New( oParent, nId, value, bAction ) CLASS HTimer

   ::oParent := iif( oParent == Nil, HWindow():GetMain(), oParent )
   IF nId == Nil
      nId := TIMER_FIRST_ID
      DO WHILE AScan( ::aTimers, { |o| o:id == nId } ) !=  0
         nId ++
      ENDDO
   ENDIF
   ::Id := nId

   ::value   := iif( ValType( value ) == "N", value, 1000 )
   ::bAction := bAction

   ::tag := hwg_SetTimer( ::id, ::value )
   AAdd( ::aTimers, Self )

   RETURN Self

METHOD End() CLASS HTimer
   LOCAL i

   hwg_KillTimer( ::tag )
   i := Ascan( ::aTimers, { |o|o:id == ::id } )
   IF i != 0
      ADel( ::aTimers, i )
      ASize( ::aTimers, Len( ::aTimers ) - 1 )
   ENDIF

   RETURN Nil

FUNCTION hwg_TimerProc( idTimer )

   LOCAL i := Ascan( HTimer():aTimers, { |o|o:id == idTimer } )

   IF i != 0 .AND. ValType( HTimer():aTimers[i]:bAction ) == "B"
      Eval( HTimer():aTimers[i]:bAction )
   ENDIF

   RETURN Nil

FUNCTION hwg_ReleaseTimers()
   LOCAL oTimer, i

   For i := 1 TO Len( HTimer():aTimers )
      oTimer := HTimer():aTimers[i]
      hwg_KillTimer( oTimer:tag )
   NEXT

   RETURN Nil

   EXIT PROCEDURE CleanTimers
   hwg_ReleaseTimers()

   RETURN
Pelo menos desde 2013-11-27 existe timer na Hwgui para Linux.

Saudações,
Itamar M. Lins Jr.

Harbour Android + Hwgui

Enviado: 17 Fev 2015 21:18
por sygecom
Minha lib da HWGUI para GTK é mais antigo que isso.

Vou tentar comparar com a versão antiga para ver o que mudou e tentar relatar.

SET TIMER na HwGui 2.19 não funciona

Enviado: 19 Fev 2015 23:45
por Itamar M. Lins Jr.
Ola!
Sua pergunta foi respondida.
Leonardo Machado writes:
> Version 2.17 works well so why not inherit more TIMER objects?
>

I got an idea how to implement it without introducing new class
variables and, probably, will do it soon.

Regards, Alexander.
Saudações,
Itamar M. Lins Jr.

SET TIMER na HwGui 2.19 não funciona

Enviado: 20 Fev 2015 09:23
por sygecom
Eu vi, aguardar a ideia dele, em quanto isso vou agilizar minha migração para Harbour que está osso, mudou muita coisa tambem.

SET TIMER na HwGui 2.19 não funciona

Enviado: 21 Fev 2015 09:33
por sygecom
Combox também esta com problema nessa versão do svn, simples combo