ruby-gnome2-hiki-pt_BR****@sourc*****
ruby-gnome2-hiki-pt_BR****@sourc*****
2004年 4月 11日 (日) 02:04:59 JST
------------------------- REMOTE_ADDR = 200.216.145.78 REMOTE_HOST = URL = http://ruby-gnome2.sourceforge.jp/pt_BR/?tut-treeview-selection-contextmenu ------------------------- = Menus de Contexto {{link "tut-treeview-selection-doubleclick", nil, "tut-treeview", "tut-treeview-resources"}} Menus de contexto s縊 menus dependentes de contexto que aparecem quando um usu疵io clica com o bot縊 direito em uma lista ou 疵vore e comumente deixa o usu疵io fazer algo com ositens selecionados ou manipular a lista ou 疵vore de outras maneiras. Cliques com o bot縊 direito em um "tree view" s縊 pegados como exatamente como os cliques de bot縊 de mouse s縊 pegados com qualquer outro componente, especificamente conectando ao gerenciador de sinal "button_press_event" do "tree view" (o qual um sinal de Gtk::Widget, e como o Gtk::TreeView derivado de Gtk::Widget ele tem este sinal tamb駑). Adicionalmente, voctamb駑 deve conectar ao sinal "popup-menu", para que os usu疵ios possam acessar o seu menu de contexto sem um mouse. O sinal "popup-menu" emitido quando o usu疵io pressiona Shift-F10. Tamb駑, vocdeve certificar-se que todas as a鋏es fornecidas no seu menu de contexto podem tamb駑 ser feitas por outras maneiras, como com o menu principal da aplica鈬o. Veja o ((<"GNOME Human Interface Guidelines (HIG)"|URL: http://developer.gnome.org/projects/gup/hig/>)) para mais detalhes. Direto do departamento-um-exemplo-de-cigo-diz-mais-que-mil-palavras, algum cigo para olhar: # Cria um menu menu = Gtk::Menu.new # Adiciona um item com um "callback" inil item = Gtk::MenuItem.new("Fa軋 algo") item.signal_connect("activate") { puts "Fez algo!" } menu.append(item) menu.show_all # Faz aparecer o menu no clique com o bot縊 direito view.signal_connect("button_press_event") do |widget, event| if event.kind_of? Gdk::EventButton and event.button == 3 menu.popup(nil, nil, event.button, event.time) end end # Faz aparecer o menu no Shift-F10 view.signal_connect("popup_menu") { menu.popup(nil, nil, 0, Gdk::Event::CURRENT_TIME) }