Prolog/Programação com GUI

Origem: Wikilivros, livros abertos por um mundo aberto.
Ir para: navegação, pesquisa

É possível escrever programas em Prolog que aproveitam os recursos da interface gráfica do usuário (GUI).

Com o SWI-Prolog, vem a biblioteca gráfica XPCE[1].

O tradicional programa Hello, World [2] fica assim:

:- use_module(library(pce)).
 
alo_mundo :-
        % criacao da janela
        new(D, window('Minha primeira janela')),
        % redefine o tamanho da janela
        send(D, size, size(250, 100)),
        % cria um texto na janela
        new(T, text('Hello World !')),
        % mostra o texto na posicao desejada
        send(D, display, T, point(80, 40)),
        % mostra a janela
        send(D, open).

Um programa um pouco mais complexo, que pede um nome e associa este nome ao argumento do predicado:

ask_name(Name) :-
        new(D, dialog('Register')),
        send(D, append(new(NameItem, text_item(name)))),
        send(D, append(button(ok, message(D, return, NameItem?selection)))),
        send(D, append(button(cancel, message(D, return, @nil)))),
        send(D, default_button(ok)),
        get(D, confirm, Rval),
        free(D),
        Rval \== @nil,
        Name = Rval.

Ver também[editar | editar código-fonte]

Referências

<div class="noprint" id="auto-nav-inf"> <ul class="auto-nav"> <li class="auto-nav-index"><a title="Acima: Prolog" href="/wiki/Prolog">Prolog</a></li> <li class="auto-nav-prev"><a title="Anterior: Entrada de dados pela console" href="/wiki/Prolog/Entrada_de_dados_pela_console">Entrada de dados pela console</a></li> <li class="auto-nav-next"><a title="Posterior: Predicados embutidos" href="/wiki/Prolog/Predicados_embutidos">Predicados embutidos</a></li> </ul></div> <div class="printonly">Obtido em "http://pt.wikibooks.org/w/index.php?title=Prolog/Programação_com_GUI&oldid=207805"</div>