Abas fazem parte de muitos programas como navegadores, editores. São muito importantes quando
se quer mudar a interface sem precisar criar novas janelas, veja:
Em igbr não há muito segredo, segue código comentado, simples:
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 79 80 81 82 83 84 85 86 87 88 89 |
//abas , chamado de notebooks em gtk, e suas pages //by Adalberto inclua'igbr' janela = ig.janela 'Exemplo de Abas em ig'; ig.conecte( janela , ig [ 'destruido' ] , 'ig.fimjanela ( )' ); //nunca se esqueça desse comando ig.janela_def_tamanho_padrao ( janela , 400 , 200 ); //definindo um tamanho padrao para a janela ig.janela_posicione( janela , 0 , 100 ); //coordenada da janela no monitor //não confunda com a função ig.janela_def_posicao //criando as abas: abas = ig.abas ( ); //definindo a posicao das abas (orelhas) /** os seguintes argumentos são aceitos: ig.pos_superior ; ig.pos_inferior ; ig.pos_esquerda ; ig.pos_direita . // ** ig.abas_def_aba_posicao ( abas , ig.pos_superior ); //colocando as abas na janela ig.ad ( janela , abas ); //criando uma moldura moldura = ig.moldura 'minha moldura na primeira pagina' ; ig.componente_def_tamanho ( moldura , 100 , 75 ); //definindo o tamanho da moldura moldura2 = ig.moldura'segunda moldura na segunda pagina das abas'; ig.componente_def_tamanho( moldura2 , 100 , 75 ); ig.abas_anexe ( abas , moldura , ig.rotulo('Minha primeira Aba') ); //anexando abas rot = ig.rotulo'Minha segunda Aba'; ig.abas_anexe ( abas , moldura2 , rot ); botao = ig.botao'ok' ; ig.componente_def_dica_markup ( botao , '<b>this button</b><i> shows one msg</i>'); ig.conecte ( botao , ig [ 'clique' ] , 'ig.msg(janela , "titulo" , "Esta é uma mensagem" )' ); txt = ig.texto_area ( ); ig.componente_def_dica_texto ( txt , 'Ola, esta é uma área de texto, digite algo nela'); caixav = ig.caixavertical ( falso , 2 ) ; //criando uma caixa vertical; ig.ad ( moldura , caixav ) ; //colocando a caixa vertical na moldura, lembre-se já colocamos a moldura na aba acima ig.caixa_ad ( caixav , botao , falso , falso , 2 ); //colocando o botao na caixa vertical //os parâmetros da função acima já foi explicado anteriormente ig.caixa_ad ( caixav , txt , verdadeiro , verdadeiro , 2 ) ; //colocamos verdadeiro pois queremos que a area de texto ocupe o restante da caixa bt_oculte_aba = ig.botao( 'esconder abas'); ig.componente_def_dica_texto ( bt_oculte_aba , 'este botao oculta ou mostra as abas' ); ig.ad ( moldura2 , bt_oculte_aba ) ; //colocando o botao na moldura 2 que está na segunda pagina das abas funcao mostre_abas ( botao , abas ) aval =falso; bval = falso; se ig.abas_obt_aba_visivel ( abas ) == falso entao aval = verdadeiro fim se ig.abas_obt_borda_visivel ( abas ) == falso entao bval = verdadeiro; fim ig.abas_def_aba_visivel ( abas , aval ); ig.abas_def_borda_visivel ( abas , bval ); fim //fim funcao ig.conecte( bt_oculte_aba , ig ['clique'] , 'mostre_abas ( %s , abas ) ' ); //conectando a funcao ao botao // o %s é o proprio botao conectado sendo passado como argumento. ig.componente_mostre_todos( janela ); ig.fimprograma(); |
veja outras funções úteis para manipular as abas:
(Obs. notebook = aba , page = página )
ig.abas_pagina_anterior( notebook); //abre a aba anterior a atual
ig.abas_pagina_posterior( notebook ); abre a aba posterior a atual
ig.abas_pagina_remova ( notebook, page). // onde page é o número correspondente a pagina , e inicia por 1 até a última aba criada
ig.abas_obt_pagina_atual ( notebook ) //retorna o número da aba atual (aberta), útil para usar com a função acima
ig.abas_obt_borda_visivel( notebook ) // retorna verdadeiro ou falso se a borda estiver visivel ou não
ig.abas_def_borda_visivel ( notebook, [verdadeiro/falso] ); //define a borda com vísivel ou não
ig.abas_obt_aba_visivel ( notebook) //retorna verdadeiro ou falso se as abas estiverem visíveis ou não
ig.abas_def_aba_visivel (notebook , [verdadeiro/falso] ) // define as abas como visíveis ou não
ig.abas_def_pagina ( notebook, page) //define a página padrão que aparecerá, onde page é um número, 1 para a primeira aba anexada em diante…
ig.abas_pagina_anexe_antes ( notebook , caixa , rotulo ); //insere uma aba na posicao anterior as abas criada antes
ig.abas_insira_pagina (notebook, caixa , label , index_pos ); //insere uma aba na posicao indicada em index_pos, um número
ig.abas_anexe ( notebook , caixa , rotulo l) // adiciona abas na sequência de criação
ig.abas_def_aba_posicao (notebook, [ig.pos_superior/ ig.pos_esquerda/ ig.pos_direitara/ig.pos_inferior] )
//a função acima define em que posicao aparecera as orelhas (abas), use um dos argumentos entre colchetes
ig.abas_obt_aba_posicao (notebook) ; //obtem a posicao atual das orelhas (abas)
ig.abas () ; //cria a aba para receber as paginas
Falou, qualquer dúvida poste sua pergunta, até +;