ruby-gnome2-hiki-pt_BR****@sourc*****
ruby-gnome2-hiki-pt_BR****@sourc*****
2004年 4月 10日 (土) 23:01:21 JST
------------------------- REMOTE_ADDR = 200.216.145.78 REMOTE_HOST = URL = http://ruby-gnome2.sourceforge.jp/pt_BR/?tut-treeview-renderer-example ------------------------- = Um Exemplo Funcionando {{link "tut-treeview-renderer-types", "tut-treeview-renderer", "tut-treeview", "tut-treeview-renderer-bold"}} Eis nosso exemplo bem do in$ByD(Bio novamente (embora com uma coluna adicional), apenas que os conte$B(Bos do "model" s$BeP(B renderizados apropriadamente na tela desta vez. Ambos, atributos e uma fun$Bne(Bo de dados de c$BqM(Bula s$BeP(B usados para prop$B(Bitos de demonstra$Bne(Bo. require 'gtk2' treestore = Gtk::TreeStore.new(String, String, Integer) # Adiciona uma linha de n$ByW(Bel superior e a preenche com alguns dados parent = treestore.append(nil) parent[0] = "Ana" parent[1] = "Maria" # Adiciona uma segunda linha de n$ByW(Bel superior e a preenche com alguns dados parent = treestore.append(nil) parent[0] = "Manuela" parent[1] = "Silva" parent[2] = 1962 # Adiciona um filho a segunda linha de n$ByW(Bel superior e a preenche com alguns dados child = treestore.append(parent) child[0] = "Manuelita" child[1] = "Souza" child[2] = 1985 view = Gtk::TreeView.new(treestore) view.selection.mode = Gtk::SELECTION_NONE # Cria um renderizador renderer = Gtk::CellRendererText.new # Adiciona uma coluna usando nosso renderizador col = Gtk::TreeViewColumn.new("Primeiro Nome", renderer, :text => 0) view.append_column(col) # Cria outro renderizador e configura sua propriedade "weight" (peso) renderer = Gtk::CellRendererText.new renderer.weight = Pango::FontDescription::WEIGHT_BOLD # Adiciona uma coluna usando o segundo renderizador col = Gtk::TreeViewColumn.new("$BZl(Btimo Nome", renderer, :text => 1) view.append_column(col) # Cria um $Bzl(Btimo renderizador e configura a cor de texto para vermelho renderer = Gtk::CellRendererText.new renderer.foreground = "red" # Adiciona uma coluna usando o terceiro renderizador col = Gtk::TreeViewColumn.new("Idade", renderer) view.append_column(col) # Cria uma fun$Bgc(Bo de dados de c$Bil(Bula para calcular a idade col.set_cell_data_func(renderer) do |col, renderer, model, iter| year_now = 2004 # Para economizar c$Bsd(Bigo que n$Bco(B relevante para o exemplo year_born = iter[2] if (year_born <= year_now) && (year_born > 0) renderer.text = sprintf("%i anos", year_now - year_born) # renderiza na cor de texto padr$Bco(B se a gente sabe a idade renderer.foreground_set = false else renderer.text = "idade desconhecida" # renderiza com a cor de texto que a gente configurou anteriormente se a gente n$Bco(B sabe a idade renderer.foreground_set = true end end Gtk.init window = Gtk::Window.new(Gtk::Window::TOPLEVEL) window.signal_connect("delete_event") { Gtk.main_quit; exit! } window.add(view) window.show_all Gtk.main