{"id":1274,"date":"2015-09-05T17:06:30","date_gmt":"2015-09-05T21:06:30","guid":{"rendered":"http:\/\/linguagemprisma.net\/blog\/?p=1274"},"modified":"2015-09-05T17:13:20","modified_gmt":"2015-09-05T21:13:20","slug":"conectando-e-desconectando-uma-funcao-igbr","status":"publish","type":"post","link":"https:\/\/linguagemprisma.br4.biz\/blog\/igprisma\/conectando-e-desconectando-uma-funcao-igbr\/","title":{"rendered":"Conectando e desconectando uma fun\u00e7\u00e3o (igbr)"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>Sabemos que n\u00e3o basta criar um bot\u00e3o, ou um menu, ou qualquer outro componente que seja para realizar a\u00e7\u00f5es.<\/p>\n<p>\u00c9 preciso dizer o que vai ser executado quando esses componentes forem ativados, clicados etc.<\/p>\n<p>\u00e9 para isso que conectamos uma fun\u00e7\u00e3o ao clique de um bot\u00e3o, por exemplo. Para que quando for clicado a fun\u00e7\u00e3o seja executada.<\/p>\n<p>Mas em alguns casos voc\u00ea ir\u00e1 preferir que a fun\u00e7\u00e3o seja desativada para que n\u00e3o seja mais executada. Neste caso existe um modo de desconectar a fun\u00e7\u00e3o.<\/p>\n<p>\u00c9 muito simples, basta que, ao conectar, seja retornado o id da conex\u00e3o:<\/p>\n<p>id = ig.conecte_funcao( componente , ig.evento_nome , funcao_exec );<\/p>\n<p>Depois com o id, basta desconectar:<\/p>\n<p>ig.desconecte( componente , id ); \/\/muito f\u00e1cil, n\u00e3o \u00e9<\/p>\n<p>Veja um programinha completo exemplificando o uso do desconecte():<\/p>\n<pre class=\"lang:prisma decode:true \">\/\/como desconectar uma funcao conectada ao evento de um componente.\r\n\r\ninclua'igbr' \/\/incluindo a biblioteca gr\u00e1fica\r\n\r\nhandler_id = nulo; \/\/criando uma vari\u00e1vel para receber o id de conex\u00e3o\r\n\r\nfuncao botao_clicado( ) \/\/fun\u00e7\u00e3o que ser\u00e1 conectada ao botao\r\n\r\n   imprima'O botao foi clicado\\n';\r\n   ig.msg( janela , ' Desconecte ' , ' A fun\u00e7\u00e3o est\u00e1 conectadada ao bot\u00e3o agora! ');\r\n\r\nfim\r\n\r\n\/\/fun\u00e7\u00e3o conectada ao seletor (checagem):\r\nfuncao desconecte_funcao( widget , botao )\r\n\r\n       se ig.botao_seletor_obt_ativo( widget ) entao\r\n       \r\n          handler_id = ig.conecte_funcao(botao , ig.clique , botao_clicado );\r\n       senao\r\n       \r\n          ig.desconecte( botao , handler_id); \r\n          \/\/desconecta o evento do botao \u00e0 funcao       \r\n       fim\r\n\r\nfim\r\n\r\n\r\n\r\n\/\/ ---- CRIANDO A JANELA E COMPONENTES --------------\r\n\r\n\r\njanela = ig.janela('Desconete', 250, 150);\r\nig.janela_def_posicao( janela , ig.janela_pos_centro);\r\n\r\n\/\/criando uma caixa fixa para colocar os componentes \r\n\/\/ em posi\u00e7\u00f5es fixas:\r\nfixo = ig.fixo();\r\nig.ad( janela , fixo); \/\/adicione o fixo na janela\r\n\r\n\/\/criando o botao\r\nbotao = ig.botao('Clique aqui');\r\n\/\/adicione o botao no fixo na posi\u00e7\u00e3o col 30 x lin 50\r\nig.fixo_ad( fixo , botao , 30,50);\r\n\r\n\/\/crie um botao seletor (checagem)\r\ncheck = ig.botao_checagem('Conectar funcao');\r\n\/\/defina o seletor como ativo(marcado):\r\nig.botao_seletor_def_ativo( check , verdadeiro);\r\nig.fixo_ad( fixo , check , 130 , 50);\r\n\r\n\/\/conectando o botao\r\nhandler_id = ig.conecte_funcao( botao , ig.clique , botao_clicado );\r\n\r\n\/\/conectando o seletor(checagem)\r\nig.conecte_funcao( check , ig.marcado , desconecte_funcao, botao);\r\n\r\n\/\/ligando o evento de fechar a janela ao fechamento do programa\r\nig.janela_destrua( janela );\r\n\r\n\/\/mostre a janela e seus componentes filhos\r\nig.componente_mostre_todos( janela );\r\n\r\n\/\/inicia o la\u00e7o de eventos do gtk:\r\nig.fimprograma();\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Bom, \u00e9 isso a\u00ed, qualquer d\u00favida pode perguntar aqui, <a href=\"http:\/\/linguagemprisma.net\/prisma_forum\/\" target=\"_blank\">ou no f\u00f3rum.<\/a> At\u00e9 logo.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Sabemos que n\u00e3o basta criar um bot\u00e3o, ou um menu, ou qualquer outro componente que seja para realizar a\u00e7\u00f5es. \u00c9 preciso dizer o que vai ser executado quando esses componentes forem ativados, clicados etc. \u00e9 para isso que conectamos uma fun\u00e7\u00e3o ao clique de um bot\u00e3o, por exemplo. Para que quando for clicado a&#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-1274","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\/1274","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=1274"}],"version-history":[{"count":3,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/1274\/revisions"}],"predecessor-version":[{"id":1276,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/1274\/revisions\/1276"}],"wp:attachment":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/media?parent=1274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/categories?post=1274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/tags?post=1274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}