Fiz um mensageiro instantâneo bem básico, só para servir de modelo mesmo. PS.: Fiz uma correção no código em relação a variável porta destino, dava erro e fechamento do programa. (25/06 – 22h); PS.: Novamente corrigido, havia outros erros, código modificado 26/06/17 19:09. Na verdade olhando bem, ainda tem uns bugs e vendo o manual…
Continue readingigprisma
Painel Duplo
Esse contêiner é muito útil quando você quer dividir uma janela em duas partes separadas por uma barra móvel. Então é possível colocar componentes na parte 1 e na parte 2. Como pode-se perceber na imagem, podemos criar painéis na horizontal e na vertical, inclusive colocar um painel dentro do outro. Salve como painel_duplo.prisma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
local ig = inclua'igbr' funcao principal() local jan = ig.janela(); ig.conecte_permutado( jan, ig.destruido, sis.saia , 0 ); local painelv = ig.painelv(); local entra_texto=ig.texto('isto é um entra texto'); ig.texto_selecione(entra_texto,3,8); ig.painel_ad1( painelv,entra_texto); local txt = ig.texto_area() ig.painel_ad2( painelv, txt ); ig.texto_area_def_texto( txt , [[Este é um componente área de texto multilinha com ele podemos criar editores igual ao bloco de notas ]] ) local painelh = ig.painelh(); ig.painel_ad2(painelh, painelv); local bt = ig.botao('Botão no painel h1'); ig.painel_ad1(painelh, bt); ig.ad(jan,painelh); ig.componente_mostre_todos(jan) ig.loop();//ou ig.fimprograma(); //use qual preferir. fim //fim principal(); |
…
Continue readingConstrutor de interface gráfica
Você já viu ou ouviu falar sobre programas que desenham a interface gráfica? São programas que tem a mesma característica do clique e solte do Basic. (Antes de continuar baixe a versão mais atual Prisma – 1.0.99 ou superior – testado em Windows7, Mint17 e Mint18) Para o Gtk+ temos o Glade: https://glade.gnome.org/ http://ftp.gnome.org/pub/GNOME/binaries/win32/glade/3.8/glade-3-8-5-installer.exe No…
Continue readingCaixa combo (combo box) em igbr
Caixa combo é um componente que exibe uma lista de itens para ser selecionado um. veja:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
//exemplo de combo box, caixa com uma lista de itens que aparece ao clicar no botao do combo local ig = inclua'igbr' local jan = ig.janela('Teste Combo' , 300, 200 ); ig.janela_def_posicao( jan , ig.janela_pos_centro ); ig.conecte_permutado( jan, ig.destruido, sis.saia , 0 ); local painel = ig.fixo(); //um fixo possui coordenadas fixas para os componentes. ig.ad( jan , painel ); //criando o combo local combo = ig.caixa_combo('escolha uma opção'); ig.fixo_ad( painel, combo, 10, 10 );//colocando o combo no fixo, em// 10x10 //adicionando itens na caixa combo: ig.caixa_combo_anexe_texto( combo, 'azul'); ig.caixa_combo_anexe_texto( combo, 'verde'); ig.caixa_combo_anexe_texto( combo, 'branco'); ig.caixa_combo_anexe_texto( combo, 'amarelo'); //criando um função para ser chamada ao alterar a caixa combo: funcao combo_ex ( comp , dado )//o primeiro parametro é o proprio componente conectado, o segundo é o dado extra do usuário. local texto = ig.caixa_combo_obt_texto_ativo( comp ); se texto <> 'escolha uma opção' entao local cor = ig.cor_analise( ig[ texto ] ); ig.componente_modifique_corfundo( dado, ig.estado_normal, cor ); fim fim //para que a função acima seja chamada pelo clique no combo, devemos conecta-la ao combo: ig.conecte_funcao( combo, ig.modificado , combo_ex , jan ); //args: o proprio combo, o tipo de acao (evento) , a função, e um segundo parametro para a função ig.componente_mostre_todos(jan); ig.fimprograma(); |
Detalhes:
1 |
local ig = inclua'igbr' |
Incluindo a biblioteca gráfica igbr
1 2 |
local jan = ig.janela('Teste Combo' , 300, 200 ); ig.janela_def_posicao( jan , ig.janela_pos_centro ); |
Criando uma janela com titulo ‘Teste Combo’ e com largura 300 pixels por 200 de altura. E definindo a posição da janela como centro da tela (ig.janela_pos_centro). Nota: existem outras…
Continue readingNavegador web usando igwebkit e igbr. (Somente para Prisma versão Línux) Webkit em teste.
Webkit é o motor de internet usado pelo Safari, Chromium, Chrome e tantos outros. Muito útil, pois tem funções de alto nível que facilitam a criação de aplicações web e de acesso a rede sem precisar reconstruir a roda para isso. Uma má notícia é que ainda não consegui compilar corretamente o webkitgtk em Windows….
Continue readingBaixar arquivo da internet com a biblioteca “igbr”
Antes de mais nada, baixa Prisma-1.0.94 – 12/10/2015 ou mais recente. Com o seguinte exemplo você poderá fazer um mini programa de fazer downloads da internet com links absolutos. Só usar a criatividade e fazer a interface gráfica com igbr. Segue o código comentado:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
inclua'igbr' //função callback: funcao copiando(cur , tot ) result = (cur * 100) / tot result = mat.separe(result);//pega somente a parte inteira da fracao //ex: imprima( mat.separe(3.409 ) //saida = 3 0.409 imprima('porcentagem:', result,'%', mat.separe( cur / 1024 ) ,'de:' , mat.separe( tot / 1024 ) , 'KB' ); fim //carregue o arquivo 'uri' em uma variável com a função ig.arquivo_uri("http://..."); origem = ig.arquivo_uri('http://linguagemprisma.net/music/teste.mp3'); //carregue um arquivo destino com a função ig.arquivo("arquivo"); destino = ig.arquivo('zz_teste_copy.mp3'); //agora basta chamar a função para copiar passando os arquivos carregados acima: ig.arquivo_copie( origem , destino , ig.tipo_copia_sobreescrita , 'copiando(%s , %s )' ); //argumentos são:( arquivo_uri, arquivo, tipo, função_callback ); poe'fim copia'; se result < 100 entao poe'falha no download tente de novo' fim leia(); |
Obs.: origem é a url da internet sempre completo com…
Continue readingigEscala – botão deslizante
*Antes de executar este exemplo, baixe Prisma ou atualização do dia 07/09/2015 ou superior* Escala é um componente em que um pequeno botão pode ser deslizado na posição vertical ou na horizontal. No estilo de aumentar volume do som no Windows, veja: Ao ser deslizada, a escala retorna um valor que pode ser usado…
Continue readingConectando e desconectando uma função (igbr)
Sabemos que não basta criar um botão, ou um menu, ou qualquer outro componente que seja para realizar ações. É preciso dizer o que vai ser executado quando esses componentes forem ativados, clicados etc. é para isso que conectamos uma função ao clique de um botão, por exemplo. Para que quando for clicado a…
Continue readingArquivo de configuração rc
Este é um exemplo de como usar um arquivo de texto rc para definir algumas coisas básicas, como cor de fundo da janela, cor de fundo dos botões, cor da letra etc. A desvantagem é que esses arquivos tem uma estrutura e sintaxe fixa do gtk, não podendo ser traduzido para o português como o…
Continue readingRotor de atividade:
Pequeno componente que gira demonstrando atividade, muito usados, por exemplo, em navegadores ao carregar páginas: Segue o código fácil comentado: Caso queira definir um tamanho para o rotor use a função ig.componente_def_tamanho( rotor , 10 , 10 );
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
//exemplo de rotor inclua'igbr' janela = ig.janela(); ig.conteiner_def_borda_largura(janela,10); ig.janela_destrua( janela ); caixavertical = ig.caixavertical(falso,0) ig.ad( janela , caixavertical) rotor = ig.rotor(); ig.componente_def_tamanho(rotor,80 , 90); ig.rotor_inicie(rotor); ig.caixa_ad(caixavertical, rotor , falso, falso , 2); caixahorizontal = ig.caixahorizontal(falso,0); ig.caixa_ad( caixavertical, caixahorizontal, falso , falso , 2); bt_parar = ig.botao'parar'; bt_iniciar = ig.botao'iniciar'; ig.ad( caixahorizontal, bt_parar); ig.ad( caixahorizontal, bt_iniciar); ig.conecte( bt_parar , ig.clique,'ig.rotor_pare(rotor)' ); ig.conecte( bt_iniciar , ig.clique, 'ig.rotor_inicie(rotor)' ); ig.componente_mostre_todos( janela ); ig.fimprograma(); |
O código é simples, espero que ajude, até mais. Qualquer dúvida poste aqui ou no fórum.
Continue reading