{"id":514,"date":"2015-01-10T23:03:23","date_gmt":"2015-01-10T23:03:23","guid":{"rendered":"http:\/\/linguagemprisma.net\/?p=514"},"modified":"2015-01-10T23:03:23","modified_gmt":"2015-01-10T23:03:23","slug":"botoes-e-setas","status":"publish","type":"post","link":"https:\/\/linguagemprisma.br4.biz\/blog\/igprisma\/botoes-e-setas\/","title":{"rendered":"Bot\u00f5es e setas"},"content":{"rendered":"<p>Aqui vamos ver como usar desenhos de setas do pr\u00f3prio gtk para colocar em bot\u00f5es,<\/p>\n<p>o resultado \u00e9:<br \/>\n<a href=\"http:\/\/linguagemprisma.net\/wp-content\/uploads\/2015\/01\/botao_setas.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-515\" src=\"http:\/\/linguagemprisma.net\/wp-content\/uploads\/2015\/01\/botao_setas.png\" alt=\"botao_setas\" width=\"152\" height=\"80\" \/><\/a><\/p>\n<p>Simples, n\u00e3o \u00e9? Mas muito \u00fatil as vezes, veja o c\u00f3digo:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:prisma decode:true\">\/\/ exemplo setas em botoes\n\ninclua 'igbr' \/\/inclui a biblioteca de funcoes graficas\n\n\/\/uma funcao para criar os botoes com setas automaticamente\nfuncao criar_botao_seta ( tipo_seta , sombra_tipo )\n   local botao = ig.botao ( ); \/\/cria um botao vazio, sem rotulo nem imagem\n   local seta = ig.seta ( tipo_seta , sombra_tipo ); \/\/cria uma seta com dire\u00e7ao e estilo sombra\n   \/\/adiciona normalmente a set dentro do bot\n   ig.ad ( botao , seta );\n\n   ig.componente_mostre ( botao ); \/\/mostrando o botao\n   ig.componente_mostre ( seta ); \/\/mostrando a seta\n\n   retorne botao; \/\/retornando o id de cada botao criado nesta funcao\nfim \/\/fim funcao criar_botao_seta\n\njanela = ig.janela( );\nig.conecte( janela , \"destroy\" , \"ig.fimjanela( )\" ); \/\/se preferir usar o eventos em ingles\n\/\/sen\u00e3o, basta usar ig.destruido sem aspas no lugar de \"destroy\"\nig.janela_def_titulo (janela, \"Exemplos botoes com setas\");\nig.janela_def_posicao ( janela , ig.jan_pos_centro );\nig.caixa_def_borda_largura ( janela , 10 ); \/\/definindo a largura da borda da janela\n\n\/\/criando uma caixa para colocar os botoes\ncaixa = ig.caixahorizontal ( falso , 0 );\nig.ad ( janela , caixa );\nig.componente_mostre( caixa ); \/\/desta vez estamos mostrando um componente por vez\n\/\/ao inves de mostra tudo com a janela\n\n\/\/\/usando a fun\u00e7\u00e3o acima para criar o botoes e as setas\n\n\/\/ na verdade nem se nota a diferen\u00e7a do tipo de sombra so a direcao da seta.\nbotao = criar_botao_seta ( ig.seta_cima , ig.sombra_dentro );\nig.caixa_ad ( caixa , botao , falso , falso , 3);\n\nbotao = criar_botao_seta ( ig.seta_baixo , ig.sombra_fora );\nig.caixa_ad ( caixa , botao , falso , falso , 3);\n\nbotao = criar_botao_seta ( ig.seta_esquerda , ig.sombra_riscado_dentro );\nig.caixa_ad ( caixa , botao , falso , falso , 3);\n\nbotao = criar_botao_seta ( ig.seta_direita , ig.sombra_riscado_fora );\nig.caixa_ad ( caixa , botao , falso , falso , 3);\n\n\nig.componente_mostre ( janela );\nig.fimprograma ( );<\/pre>\n<p>&nbsp;<\/p>\n<p>A novidade aqui \u00e9 criar a seta:<\/p>\n<p>o primeiro par\u00e2metro \u00e9 o tipo de seta que pode ser: <em>ig.seta_cima, ig.seta_baixo, ig.seta_esquerda e <\/em><\/p>\n<p><em>ig.seta_direita;<\/em><\/p>\n<p>o segundo par\u00e2metro \u00e9 o tipo de enfeite de sombra, quase n\u00e3o se nota a diferen\u00e7a, mas como \u00e9<\/p>\n<p>obrigat\u00f3rio este par\u00e2metro vamos l\u00e1, as op\u00e7\u00f5es s\u00e3o:<em> ig.sombra_dentro, ig.sombra_fora, <\/em><\/p>\n<p><em>ig.sombra_riscado_dentro e ig.sombra_riscado_fora;<\/em><\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:prisma decode:true\">local seta = ig.seta ( tipo_seta , sombra_tipo );<\/pre>\n<h2>\u00a0Criamos uma fun\u00e7\u00e3o para criar os bot\u00f5es automaticamente com as setas, o que na verdade<\/h2>\n<p>\u00e9 bem simples se voc\u00ea analisar essa fun\u00e7\u00e3o, dentro dela temos n\u00f3s criamos as setas usando<\/p>\n<p>a fun\u00e7\u00e3o explicada acima, e antes disso criamos um bot\u00e3o vazio, sem rotulo ou imagem,<\/p>\n<p>posteriormente adicionamos a seta dentro do bot\u00e3o com o comando ig.ad, veja:<\/p>\n<pre class=\"lang:prisma decode:true\">ig.ad ( botao , seta );<\/pre>\n<p>No fim da fun\u00e7\u00e3o retornamos o bot\u00e3o.<\/p>\n<p><em>Observe que ao utilizarmos a fun\u00e7\u00e3o criar_botao_seta no armazenamos o id do bot\u00e3o<\/em><\/p>\n<p><em>em uma vari\u00e1vel a cada cria\u00e7\u00e3o, isso \u00e9 poss\u00edvel mas a cada nova atribui\u00e7\u00e3o da vari\u00e1vel<\/em><\/p>\n<p><em>botao a refer\u00eancia ao bot\u00e3o criado anteriormente some, ent\u00e3o n\u00e3o teria como manipularmos<\/em><\/p>\n<p><em>esses bot\u00f5es futuramente, logo o ideal seria criar uma vari\u00e1vel para cada bot\u00e3o.<\/em><\/p>\n<pre class=\"lang:prisma decode:true\">botao = criar_botao_seta ( ig.seta_cima , ig.sombra_dentro );\nig.caixa_ad ( caixa , botao , falso , falso , 3);\n\nbotao = criar_botao_seta ( ig.seta_baixo , ig.sombra_fora );\nig.caixa_ad ( caixa , botao , falso , falso , 3);<\/pre>\n<h2><\/h2>\n<h2>Bom deixei para o final, vamos relembrar algo,<\/h2>\n<h2>definindo a largura da borda da janela:<\/h2>\n<p>experimente mudar o valor de 10 para 0 ou para 30 execute e veja o resultado, nada melhor<\/p>\n<p>que ver na pr\u00e1tica para entender:<\/p>\n<pre class=\"lang:prisma decode:true\">ig.caixa_def_borda_largura ( janela , 10 ); \/\/definindo a largura da borda da janela<\/pre>\n<h2><span style=\"color: #000000;\"><strong>\u00c9 isso a\u00ed pessoal qualquer d\u00favida poste no f\u00f3rum sua quest\u00e3o, ok! <\/strong><\/span><\/h2>\n<p>Att. Adalberto<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aqui vamos ver como usar desenhos de setas do pr\u00f3prio gtk para colocar em bot\u00f5es, o resultado \u00e9: Simples, n\u00e3o \u00e9? Mas muito \u00fatil as vezes, veja o c\u00f3digo: &nbsp; \/\/ exemplo setas em botoes inclua &#8216;igbr&#8217; \/\/inclui a biblioteca de funcoes graficas \/\/uma funcao para criar os botoes com setas automaticamente funcao criar_botao_seta (&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,5],"tags":[],"class_list":["post-514","post","type-post","status-publish","format-standard","hentry","category-igprisma","category-interface_grafica"],"_links":{"self":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/514","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/comments?post=514"}],"version-history":[{"count":0,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/514\/revisions"}],"wp:attachment":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/media?parent=514"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/categories?post=514"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/tags?post=514"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}