CAPÍTULO 8
Programação visual com Software Livre
EDIT LIN EDITORIAL S.L,  dos autores  Daniel Campos Fernández e José Luis Redrejo.  Prólogo de Benoit Minisini

<< Anterior Próximo >>


8.3 Criar um novo controle com o Gambas

Criando o código    

Vamos pensar na possibilidade de criar novos controles gráficos diretamente do Gambas, aproveitando o conceito de herança.

Criar controles novos programados em Gambas, tem algumas vantagens fundamentais: seu desenvolvimento é rápido ao trabalhar em uma linguagem de alto nível, e o mesmo código serve tanto se programarmos com gb.gtk, como se fizermos com gb.qt, forçando duas implementações para um mesmo controle com diferentes toolkits.

A desvantagem é uma velocidade menor do código ao ser interpretado, questão que terá mais ou menos importância segundo a função do novo controle, assim como menor flexibilidade na hora de moldar o controle, já que trabalhamos sobre os controles previamente criados com o Gambas e não sobre um toolkit para C ou C++ como GTK+ ou KT, nem um baixo nível como X-Windows.

Para criar um controle com Gambas, temos que partir de um que já exista. Se estivermos acostumado a trabalhar com outros ambientes RAD de BASIC ou C++, nos será familiar partir de um controle modelo com algumas propriedades e métodos básico para criar um novo.
 
Os controles criados com Gambas hão de partir de um controle já existente não podemos partir diretamente da classe base control, ou seja, um controle criado com INHERITS CONTROL não funcionará, já que o controle não tem uma representação gráfica, senão que é simplesmente a base que define as propriedades, métodos e eventos mínimos para outros controles reais (Label, Button...)

Nosso novo controle será um Label a qual chamaremos ColorLabel, similar ao Label, mas que mostra o texto com um gradiente de cor .
 

Para desenhar texto em diferentes cores, trazemos cada letra em separado, a partir de uma cor inicial Color1 até uma cor final Color2, utilizando um algorítimo algo rudimentar: tomamos a diferença de cor de duas cores e vamos aumentando e vamos aumentando o valor da cor atual por cada nova letra que desenharmos.
Para trazer cada letra separada, teremos que usar a classe Draw sobre um controle base que será DrawingArea.
 







   

<< Anterior Próximo >>

HOME



Cópia literal

Extraído do livro “GAMBAS, programação visual com software Livre”, da editora EDIT LIN EDITORIAL S.L,  dos autores  Daniel Campos Fernández e José Luis Redrejo. Prólogo de Benoit Minisini

LICENSA DESTE DOCUMENTO


É permitido a cópia e distribuição da totalidade ou parte desta obra sem fins lucrativo. Toda cópia total ou parcial devera expressar o nome do autor e da editora e incluir esta mesma licença, adicionando se é uma cópia literal “Cópia literal”. Se é autorizada a modificação e tradução da obra  sem fins lucrativo sempre se deve constar na obra resultante  a modificação o nome da obra original o autor da obra original e o nome da editora e a obra resultante também deverá ser livremente reproduzida, distribuída, ao publico e transformada em termos similares ao exposto nesta licença.

Tradução

Cientista
 (Antonio Sousa)