docs.kde.org
Programação
Anterior
Próximo

Capítulo 5. Programação

O Kig permite ao utilizador criar tipos personalizados na linguagem de programação Python. Esta é uma funcionalidade muito avançada, e só é conhecido pelo autor um outro programa de Geometria Interactiva que faça o mesmo (o programa do GNOME Dr.Geo).

A programação em Python no Kig basicamente permite-lhe criar a sua própria forma de definir um objecto a partir de certos objectos-pai. Por exemplo, se você for um professor de matemática e se tiver alguma forma bonita de calcular um ponto interessante de uma cónica, então em vez de lidar com construções complexas e macros, você poderá então definir em Python como é que o ponto será calculado, deixando que o Kig o mostre por si.

Suponha que você não conhecia o tipo “Ponto Médio” do Kig e quisesse mostrar o ponto médio de dois pontos indicados. Você iria então carregar no botão 'Script' de Python da barra de ferramentas ou seleccionar a opção Objectos->Outros->'Script' de Python na barra de menu. Aparecer-lhe-á então um assistente que lhe permitirá prosseguir.


O Assistente de Objectos de 'Scripts'

A primeira coisa que terá de fazer é seleccionar os argumentos do objecto. No nosso exemplo, isto corresponde aos dois pontos dos quais pretendemos mostrar o ponto médio. Seleccione-os na janela principal do Kig e carregue em Próximo para prosseguir.

Agora, ser-lhe-á apresentado um campo de texto onde poderá indicar o código do seu objecto. O código de modelo e alguns comentários já estão colocados. É importante certificar-se que o seu código é Python válido. As pessoas familiarizadas com o Python irão reparar que já está definida uma função em Python chamada calc. É, por isso, necessário aderir às regras do Python para definir funções. Por exemplo, cada linha da função deverá começar por um Tab. A primeira linha que não comece por uma tabulação termina a definição da função.

A função de Python que deverá ser definida é chamada de “calc” e, no nosso caso, aceita dois argumentos. Estes são os objectos que você seleccionou como argumentos no ecrã anterior. Existirão tantos argumentos como os que você tenha seleccionado. Eles chamar-se-ão de arg1 e arg2, mas você poderá mudar os nomes deles para algo mais compreensível, se desejar.

Na função, você poderá fazer todos os tipos de cálculos que julgue necessários, usando os dois argumentos, se necessário. Você deverá devolver o objecto que deseja que apareça. No nosso caso, este é um objecto Point. Os dois argumentos são também objectos Point, e pode-se usar a função Point.coordinate() para registar as coordenadas dos dois pontos indicados.

Os cálculos necessários no nosso exemplo são muito simples; simplesmente adicionam-se as duas coordenadas e divide-se o resultado por dois. A partir daí, cria-se um novo ponto com essa coordenada. O código de Python necessário é:

def calc( a, b ):
        m = ( a.coordinate() + b.coordinate() ) / 2;
        return Point( m )

Introduzir o código para o ponto médio no assistente do Objecto de 'Script'.

Se você carregar no botão Terminar, então o novo objecto irá aparecer no documento do Kig. Se você mover um dos pontos, então o novo ponto irá mover em conjunto com eles. Os objectos bem mais poderosos poderão ser criados desta forma e você é encorajado para o fazer.


O objecto de 'script' acabado de construir.

Todos os objectos do Kig podem ser usados no código de Python. Como foi indicado acima, os pontos fazem parte da classe Point e você poderá usar, isto é, o método Point.coordinate(). Você poderá devolver também todos os tipos de objectos e não apenas Point's. Estão disponíveis muitos mais métodos e classes na página de código em Python do Kig, assim como uma referência completa sobre eles aqui.

Anterior
Próximo
Início


docs.kde.org