Clipper On Line • Ver Tópico - MainUI

MainUI

Outras bibliotecas visuais e IDEs para Harbour/xHarbour (xHGTK/HbWxW/GtWvT/GtWvW/WvWtools.etc)

Moderador: Moderadores

 

MainUI

Mensagempor bencz » 30 Mar 2020 03:45

Depois de quase 1 ano e meio de desenvolvimento, a minha lib. de interface gráfica ta funcionando legal...
A lib. é baseada em ideias do HTML e do GTK, começando pelo sistema de contêiner, tipo o do GTK, e da parte de HTML, com relação a responsividade.

A lib. ja possui recursos bastante avançados, com relação a geração de graficos e sistema de grids, com grid com filtro por coluna ou filtro global, paginação e etc.
A 'beleza' da interface é 100% customizável, por exemplo, trocar a cor do botão do grid, ou, da barra de menu do visualizador de PDF.
Toda a parte visual, foi 100% basead na ideia do bootstrap, estilo dos botoes, estilo dos menus e etc..., inclusive, o template padrão da MainUI é baseado em um template do bootstrap, cores, formatação dos botões e etc, a diferença, é que não existe bootstrap por traz ou html ou CSS... é tudo rodando nativo.

A lib foi desenvolvida em C com Wrapper para (x)Harbour, a lib utiliza o OpenGL para desenhar os botoes, text-box e tudo mais...., assim, existe uma mescla bastante complicada no meio...

Vamos para um pequeno código de exemplo, vamos criar a seguinte tela:
Imagem

O código para desenhar tela é, um tanto estranho, mas simples de se entender, quando se conhece o conceito de containers
#include "MainUi.ch"

function start()
    createUi()
return nil

function createUi()
    local oApplication          := nil
    local oGridContainer        := nil
    local oContainerTopMenu     := nil
    local oContainerLeftMenu    := nil
    local oContainerDataContent := nil
    local oButtonWidget         := nil
   
    oApplication := MainUi():New()
    oApplication:BorderStyle(MAINUI_BORDER_NONE)
    oApplication:WindowState(MAINUI_STATE_MAXIMIZED)
   
    oContainerTopMenu     := oApplication:AddContainer()
    oGridContainer        := oApplication:AddGridContainerBelow(oContainerTopMenu, 1, 2)
    oContainerLeftMenu    := oGridContainer:GetGridInstanceAt(1, 1)
    oContainerDataContent := oGridContainer:GetGridInstanceAt(1, 2)
   
    // Define o tamanho do container
    oContainerTopMenu:SetMaximumHeight(08)  // sempre em %
    oContainerLeftMenu:SetMaximumWidth(13) 
   
    // Muda a cor do container do menu de cima             
    oContainerTopMenu:SetStyle("background", "77,116,150")  // RGB[A]     
   
    // Muda a cor do menu lateral
    oContainerLeftMenu:SetStyle("background", "183,200,165") // RGB[A]
       
    // Adiciona a imagem do MainUI no top menu
    oContainerTopMenu:AddMainUiLogo(MAINUI_POSITION_LEFT)
   
    // Cria um botão
    oButtonWidget := oApplication:CreateButton()
    oButtonWidget:SetWidth(100)
    oButtonWidget:SetHeight(60)
    oButtonWidget:SetText("Clique aqui")
    oButtonWidget:SetEvent({|| MainUI:MessageBox("Você clicou no botão", "Alerta") })
   
    // Adiciona o botão bem no meio do container principal
    oContainerDataContent:AddWidgetUsingFloatPosition(oButtonWidget, 50, 50)
   
    oApplication:Start()
return nil


Mais alguns exemplos:
Imagem
Imagem
Imagem
Imagem
Imagem
Imagem

Como o sistema possui a ideia de ser responsivo:
Imagem
Imagem

O uso de memoria para essa minha aplicação de teste, é de apenas ( apenas ? ) 75mb...., visto a quantidade de coisa q tem e recursos, acho pouco...
Imagem
Avatar de usuário

bencz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 517
Data de registro: 28 Abr 2012 17:36
Curtiu: 6 vezes
Mens.Curtidas: 34 vezes

MainUI

Mensagempor MSDN » 30 Mar 2020 12:48

Dar os parabéns é pouco, que trabalho sensacional, estou correndo para entregar um serviço mas não pude deixar de parar um tempo e ver a qualidade do teu serviço, e claro, a cabeça começa pensar longe, nas infinitas possibilidades, etc, etc, etc.
Com um trabalho desses, vc elevou o nível do xBase no geral, é de uma relevância muito grande, se continuar opensource blz, mas se vc fizer algo fechado e cobrar, o que acho muito justo aliás, eu compraria !
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

MainUI

Mensagempor MSDN » 30 Mar 2020 17:02

Ainda sobre interface, algo muito importante são as cores, pode notar que hoje em dia são usadas cores com tons diferenciados, gradientes, etc, e um lugar para achar de forma prática tudo isso é nesse site : https://color.adobe.com/pt/create/color-wheel
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes




Retornar para Outras Bibliotecas Visuais e IDEs

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 3 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro