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. No Línux (Ubuntu) funcionou beleza, agora só falta acrescentar funções nesta lib.
Se você está usando Prisma versão Línux já pode começar a fazer um visualizador de web simples, veja o código:
Baixe a biblioteca igwebkit aqui: http://linguagemprisma.br4.biz/ccount/click.php?id=igwebkit e descompacte com 7z, Winrar ou outro descompactador de sua preferência e que tenha suporte a 7z. Abra a pasta e leia as instruções e licença.
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 |
//navegador bem básico inclua 'igbr' webkit = inclua 'igwebkit' //inclua também a lib igwegkit que é separada do igbr //criando a janela: jan = ig.janela( 'navegador' , 800 , 600 ) ; ig.janela_def_posicao( jan , ig.jan_pos_centro ); ig.componente_def_nome ( jan , 'IGnavegador' ); ig.conecte( jan , ig.destruido , 'ig.saia()'); //criando uma caixa vertical: caixv = ig.caixavertical( falso , 0 ); //------------------------------------------ criando o navegador -------------------------- nav = webkit.navegador(); //colocando o componente navegador na caixa vertical: ig.caixa_ad( caixv , nav , verdadeiro , verdadeiro , 0 ); ig.ad( jan , caixv ); //colocando a caixa na janela: uri = "http://www.linguagemprisma.br4.biz"; //definindo uma url na variável uri webkit.navegador_carregue_uri ( nav , uri ) //carregando a url. ig.componente_def_foco ( nav ); //dando foco no navegador ig.componente_mostre_todos( jan ); //mostrando a janela e seus componentes ig.fimprograma(); //inicia o loop de eventos do gtk. |
Mais duas funções disponíveis:
webkit.navegador_voltar( nav ); webkit.navegador_avancar ( nav );
para mudar de url basta chamar a função webkit.navegador_carregue( nav, url ) novamente.
Veja um exemplo de uso dessas outras funções:
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
//navegador bem básico inclua 'igbr' webkit = inclua 'igwebkit' //inclua também a lib igwegkit que é separada do igbr //criando a janela: jan = ig.janela( 'navegador' , 800 , 600 ) ; ig.janela_def_posicao( jan , ig.jan_pos_centro ); ig.componente_def_nome ( jan , 'IGnavegador' ); ig.conecte( jan , ig.destruido , 'ig.saia()'); //criando uma caixa vertical: caixv = ig.caixavertical( falso , 0 ); //criando uma caixa horizontal para os botoes e entra texto da url caixah = ig.caixahorizontal(); bt_avancar = ig.botao'Avançar'; bt_voltar = ig.botao'Voltar'; entra_texto_url = ig.texto(); bt_ir = ig.botao' Ir '; ig.caixa_ad( caixah , bt_avancar , falso,falso , 0 ); ig.caixa_ad( caixah , bt_voltar , falso,falso , 0 ); ig.caixa_ad( caixah , bt_ir , falso,falso , 0 ); ig.caixa_ad( caixah , entra_texto_url , verdadeiro,verdadeiro , 1); ig.caixa_ad( caixv , caixah ,falso,falso , 0 ); //------------------------------------------ criando o navegador -------------------------- nav = webkit.navegador(); //colocando o componente navegador na caixa vertical: jr = ig.janela_rolagem(); ig.janela_rolagem_ad( jr , nav ); ig.caixa_ad( caixv , jr , verdadeiro,verdadeiro , 1); ig.ad( jan , caixv ); //colocando a caixa na janela: uri = "http://www.linguagemprisma.br4.biz"; //definindo uma url na variável uri webkit.navegador_carregue_uri ( nav , uri ) //carregando a url. //funcoes para os botes: funcao avancar() webkit.navegador_avancar( nav ); fim ig.conecte( bt_avancar , ig.clique , 'avancar()' ); funcao voltar() webkit.navegador_voltar( nav ); fim ig.conecte( bt_voltar , ig.clique , 'voltar()' ); funcao ir () local url = ''; local txt = ig.texto_obt_texto(entra_texto_url); se string.procure( txt , 'http://' ) entao url = txt; senao url = 'http://' .. txt ; fim webkit.navegador_carregue_uri ( nav , url ) //carregando a url do entra texto. fim ig.conecte( bt_ir , ig.clique , 'ir()' ); ig.componente_def_foco ( nav ); //dando foco no navegador ig.componente_mostre_todos( jan ); //mostrando a janela e seus componentes ig.fimprograma(); //inicia o loop de eventos do gtk. |