Se não funcionar o exemplo tente baixar a versão mais atual na página de downloads.
segue o código:
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 72 73 74 75 76 77 78 |
//exemplo de barra de ferramentas: inclua 'igbr' ; //primeiro coisa é incluir as funções gráficas janela = ig.janela ( ); //criando a janela principal ig.conecte( janela , ig.destruido , 'ig.fimjanela( )' ); ig.janela_def_tamanho_padrao ( janela , 250 , 200 ); //definindo tamanho padrão para a janela ig.janela_def_titulo ( janela , "Barra de Ferramentas"); //definindo o titulo da janela ig.janela_def_posicao ( janela , ig.jan_pos_centro ); //colocando a janela no centro da tela caixav = ig.caixavertical ( falso , 0 ); //criando uma caixa vertical ig.ad ( janela , caixav ); //colocando a caixa na janela, lembre-se que fazemos isso porque // a janela é um componente caixa que aceita apenas um componente, logo colocamos //nela justamente um componente que aceita outros componentes, este é o conceito de //containers: componentes que podem conter outros componentes inclusive outros containers. barra_f = ig.barraferramenta ( ); //criando a barra de ferramentas //definindo o estilo ig.barraferramenta_def_estilo ( barra_f , ig.bf_icones ); //este é o único estilo por enquanto mas deve ser usado para aparecer os icones ig.caixa_def_borda_largura ( barra_f , 2 ); //definimos 2 pixels como borda da caixa, //o mesmo comando serve para janela, visto que também é uma caixa. novo = ig.ferramenta_botao_estoque ( ig.estoque'new' ); //cria um botao de barra de ferramenta //a partir do estoque ig.barraferramenta_ad ( barra_f , novo , -1); //adiciona o novo botao na barra de ferramenta, o -1 significa que é na próxima sequência. abrir = ig.ferramenta_botao_estoque ( ig.estoque'open'); //criando o botão abrir ig.barraferramenta_ad ( barra_f , abrir , -1 ); //adicionando o botao na barra salvar = ig.ferramenta_botao_estoque ( ig.estoque'save'); //criando o botao salvar ig.barraferramenta_ad ( barra_f , salvar , -1 ); //adicionando o botao na barra sep = ig.separador_ferramenta_item(); //criando um separador de item de barra de ferramentas ig.barraferramenta_ad ( barra_f , sep , -1 ); // adicionando o botao na barra sair = ig.ferramenta_botao_estoque ( ig.estoque'quit' ); //criando o botao sair ig.componente_def_dica_texto ( sair , "Fechar o programa"); //definindo o texto dica //que aparece quando o mouse está em cima do componente ig.barraferramenta_ad ( barra_f , sair , -1 ); //adicionando o botao na barra cortar = ig.ferramenta_botao_estoque ( ig.estoque'cut' ); //criando o botao cortar ig.barraferramenta_ad ( barra_f , cortar , -1 ); //adicionando-o na barra colar = ig.ferramenta_botao_estoque ( ig.estoque'paste' ); //criando o botao colar ig.barraferramenta_ad ( barra_f , colar , -1 ); //adicionando o botao na barra ig.caixa_ad ( caixav , barra_f , falso , falso , 5 ); //por fim adicionando a barra na caixa vertical funcao mostre_msg( titulo , texto ) //funcao call back que será conectada no clique dos botoes ig.msg( janela , titulo , texto ); // exibindo uma mensagem fim //fim funcao //o evento a ser conectado é o clique, pois são botões em barra de ferramentas ig.conecte ( novo , ig.clique , [[ mostre_msg ( 'novo' , 'nao implementado ainda' ) ]] ); ig.conecte ( sair , ig.clique , [[ ig.fimjanela( ) ]] ); ig.conecte ( abrir , ig.clique , [[ mostre_msg ( 'abrir' , 'nao implementado ainda' ) ]] ); ig.conecte ( salvar , ig.clique , [[ mostre_msg ( 'salvar' , 'nao implementado ainda' ) ]] ); ig.conecte ( cortar , ig.clique , [[ mostre_msg ( 'cortar' , 'nao implementado ainda' ) ]] ); ig.conecte ( colar , ig.clique , [[ mostre_msg ( 'colar' , 'nao implementado ainda' ) ]] ); ig.componente_mostre_todos ( janela ); //mostrando a janela e todos os componentes ig.fimprograma( ); //inicia o loop de eventos |
Primeiro nós criamos uma barra de ferramentas:
1 |
barra_f = ig.barraferramenta ( ); |
Depois definimos o estilo como icone:
o primeiro parâmetro é a barra, o segundo é o estilo “ig.bf_icones”
1 |
ig.barraferramenta_def_estilo ( barra_f , ig.bf_icones ); |
Temos outra novidade aqui, definir a largura da borda de containers (caixas) e a barra de ferramentas é um tipo especial de caixa:
primeiro parâmetro é a caixa, o segundo é um número, a largura em pixels
1 |
ig.caixa_def_borda_largura ( barra_f , 2 ); |
Após criar e configurar a barra de ferramentas, falta apenas criar e colocar os botões nela, usando o seguinte comando:
o parâmetro é o retorno da função ig.estoque( ); com uma string chave de imagem; veja a lista de imagens disponíveis aqui.
Apenas experimente trocar ‘new’ por outras opções da página de imagens e veja o resultado:
1 |
novo = ig.ferramenta_botao_estoque ( ig.estoque'new' ); |
Adicionando o botão na barra, é simples:
primeiro parâmetro é a barra, segundo o botão e terceiro a posição, no caso -1 é o padrão de posição seguinte.
1 |
ig.barraferramenta_ad ( barra_f , novo , -1); |
Dica: experimente trocar o -1 por outro valor, por exemplo 2 ou 3;
Um separador as vezes é útil para deixar o visual mais organizado, veja como criá-lo:
1 |
sep = ig.separador_ferramenta_item(); |
para adicioná-lo siga o mesmo comando de adicionar os botões.
Para conectar use o evento (signal) ig.clique pois são botões que respondem ao clique:
primeiro parâmetro = botao , segundo = evento (clique) ; terceiro é a string contendo a função a ser chamada com seus parâmetros
1 |
ig.conecte ( novo , ig.clique , [[ mostre_msg ( 'novo' , 'nao implementado ainda' ) ]] ); |
Lembre-se que os duplos colchetes representam strings multilinha.
É isso aí, espero ter ajudado, se ficar dúvidas poste sua pergunta no fórum, até mais.
Att. Adalberto