Página 1 de 1
HWGUI++ para Harbour++
Enviado: 21 Jun 2022 14:49
por marcosgambeta
HWGUI++ é uma adaptação da HWGUI corrente, para ser utilizada em conjunto com o Harbour++.
Link do projeto no GitHub:
https://github.com/harbourplusplus/hwguipp
Seu desenvolvimento acompanhará o progresso do Harbour++, mas as alterações na HWGUI original serão monitoradas para manter um certo nível de sincronia.
Estando com o Harbour++ compilado, basta executar o comando abaixo para compilar a HWGUI++:
E para compilar usando a HWGUI++:
Sugiro colocar a pasta hwguipp na pasta addons do Harbour++, para não ser preciso indicar a localização do arquivo hwguipp.hbc.
HWGUI++ para Harbour++
Enviado: 21 Jun 2022 16:55
por JoséQuintas
Se achar interessante:
https://github.com/JoseQuintas/hwgui
Não tem nada diferente, porque é sincronizado com hwgui em mão dupla.
O que altera aí vai pra lá, e o que altera lá vém pra aí.
E sempre reseto para a posição oficial quando puxo alterações.
uso
git svn fetch
pra puxar do source-forge
E depois a opção reset main to here, descartando qualquer coisa diferente.
Se altero, uso
git svn update
pra enviar pro source-forge as alterações.
E por esse motivo, não faço nada diferente do oficial, porque vai entrar lá com certeza.
HWGUI++ para Harbour++
Enviado: 22 Jun 2022 06:30
por marcosgambeta
Obrigado.
Vai ser útil no monitoramento das alterações.
HWGUI++ para Harbour++
Enviado: 18 Jul 2022 07:13
por marcosgambeta
Por descuido meu, ficou faltando o arquivo hbutton.prg no repositório. Agora está presente.
Caso tenham algum problema na compilação, basta informar. Será tratado o mais breve possível.
HWGUI++ para Harbour++
Enviado: 30 Jul 2022 04:02
por marcosgambeta
Iniciei a implementação de uma sintaxe alternativa para a criação de objetos, conforme exemplo abaixo:
Código: Selecionar todos
#include "hwgui.ch"
PROCEDURE Main()
LOCAL oDialog
WITH OBJECT oDialog := HDialog():new()
:title := "Test"
:nWidth := 800
:nHeight := 600
:activate()
ENDWITH
RETURN
Código equivalente usando comandos:
Código: Selecionar todos
#include "hwgui.ch"
PROCEDURE Main()
LOCAL oDialog
INIT DIALOG oDialog TITLE "Test" SIZE 800, 600
ACTIVATE DIALOG oDialog
RETURN
Conforme a implementação avançar, testes serão adicionados na pasta 'tests'.
HWGUI++ para Harbour++
Enviado: 30 Jul 2022 04:20
por marcosgambeta
Para evitar código duplicado, a utilização das funções hwg_bitand e hwg_bitor foi descontinuada em favor das funções hb_bitand e hb_bitor, respectivamente.
As funções que forem descontinuadas não serão removidas na série corrente (1.x.x). Elas continuarão presentes, para não afetar o código dos usuários, e sua remoção poderá ocorrer na próxima série (2.x.x), dando assim tempo para os ajustes necessários.
Mudanças assim estarão registradas no arquivo CHANGES.md.
HWGUI++ para Harbour++
Enviado: 30 Jul 2022 10:34
por marcosgambeta
Junto com a sintaxe alternativa, outro recurso que receberá atenção será a possibilidade de trabalhar com herança conforme exemplo abaixo:
Código: Selecionar todos
#include "hwgui.ch"
PROCEDURE Main()
LOCAL oDialog
WITH OBJECT oDialog := MyDialog():new()
:title := "Minha janela de diálogo"
:nWidth := 640
:nHeight := 480
:myMethod()
:activate()
ENDWITH
RETURN
#include "hbclass.ch"
CLASS MyDialog FROM HDialog
METHOD myMethod
ENDCLASS
METHOD myMethod() CLASS MyDialog
hwg_MsgInfo("Executando método MyMethod", "Aviso")
RETURN NIL
HWGUI++ para Harbour++
Enviado: 30 Jul 2022 16:11
por marcosgambeta
Mais dois exemplos envolvendo a sintaxe alternativa e herança:
Código: Selecionar todos
#include "hwgui.ch"
PROCEDURE Main()
LOCAL oDialog
LOCAL oButtonOk
LOCAL oButtonCancel
WITH OBJECT oDialog := HDialog():new()
:title := "Test"
:nWidth := 640
:nHeight := 480
WITH OBJECT oButtonOk := HButton():new()
:title := "&OK"
:nLeft := 20
:nTop := 20
:bClick := {||hwg_MsgInfo("OK clicked", "Information")}
ENDWITH
WITH OBJECT oButtonCancel := HButton():new()
:title := "&Cancel"
:nLeft := 120
:nTop := 20
:bClick := {||hwg_MsgInfo("Cancel clicked", "Information")}
ENDWITH
:activate()
ENDWITH
RETURN
Código: Selecionar todos
#include "hwgui.ch"
PROCEDURE Main()
LOCAL oDialog
WITH OBJECT oDialog := MyDialog():new()
:title := "My dialog window"
:nWidth := 640
:nHeight := 480
:myMethod()
:activate()
ENDWITH
RETURN
#include "hbclass.ch"
CLASS MyDialog FROM HDialog
DATA oButtonOK
DATA oButtonCancel
METHOD myMethod
ENDCLASS
METHOD myMethod() CLASS MyDialog
WITH OBJECT ::oButtonOK := HButton():new()
:title := "&OK"
:nLeft := 20
:nTop := 20
:bClick := {||hwg_MsgInfo("OK clicked", "Information")}
ENDWITH
WITH OBJECT ::oButtonCancel := HButton():new()
:title := "&Cancel"
:nLeft := 120
:nTop := 20
:bClick := {||hwg_MsgInfo("Cancel clicked", "Information")}
ENDWITH
RETURN NIL
As modificações feitas na classe HButton serão reproduzidas nos outros controles.
HWGUI++ para Harbour++
Enviado: 30 Jul 2022 17:34
por alxsts
Olá!
Parabéns Marcos! Belos trabalhos!
HWGUI++ para Harbour++
Enviado: 31 Jul 2022 11:57
por JoséQuintas
marcosgambeta escreveu:Junto com a sintaxe alternativa, outro recurso que receberá atenção será a possibilidade de trabalhar com herança
Só estranhei.
Na prática a atual permite isso.
E essa é minha idéia de uso, assim defino os meus visuais de forma padrão.
Mas com a hwgui original, isso vai ser aproveitado mais na criação do que durante o uso, exceto se criar novos métodos.
Ainda prefiro o redimensionamento da WVG, e vou tentar levar isso pra HWGUI.
HWGUI++ para Harbour++
Enviado: 07 Ago 2022 13:57
por marcosgambeta
Depois de compilar o Harbour++ no Fedora 36, testei a HWGUI++. Foi preciso uma série de ajustes, mas no final funcionou corretamente.
Segue o mesmo procedimento usado no Windows:
Compilar a HWGUI++:
Compilar programas/projetos:
Qualquer erro ou problema na utilização, basta registrar no link abaixo:
https://github.com/harbourplusplus/hwguipp/issues
A mensagem pode ser em português.
Na medida do possível, as duas versões (GTK+ e WinAPI) serão mantidas em sincronia.