ruby-gnome2-hiki-pt_BR****@sourc*****
ruby-gnome2-hiki-pt_BR****@sourc*****
2004年 4月 10日 (土) 09:29:23 JST
------------------------- REMOTE_ADDR = 200.216.145.78 REMOTE_HOST = URL = http://ruby-gnome2.sourceforge.jp/pt_BR/?tut-treeview-model-retrieve ------------------------- = Recuperando Dados de Linha {{link "tut-treeview-model-manipulate", "tut-treeview-model", "tut-treeview", "tut-treeview-model-remove"}} Armazenar dados n$BeP(B muito $B(Bil se eles n$BeP(B puderem ser recuperados novamente. Isso feito usando Gtk::TreeIter#[], o qual recupera o valor na dada coluna da linha para a qual o "iter" aponta. Eis o exemplo anterior extendido para navegar o armazenador de lista e imprimir os dados armazenados. Como um extra, a gente usa o Gtk::TreeModel#each para navegar o armazenador e recuperar o n$B(Bero da linha do the Gtk::TreePath passado para a gente no bloco de c$B(Bigo: # Cria um armazenador para o primeiro nome, $B(Btimo nome e ano de nascimento liststore = Gtk::ListStore.new(String, String, Integer) # Adiciona uma linha vazia e a preenche com alguns dados iter = liststore.append iter[0] = "Jos iter[1] = "Silva" iter[2] = 1970 # Adiciona outra linha e preenche com alguns dados iter = liststore.append iter[0] = "Ana" iter[1] = "Maria" iter[2] = 1967 liststore.each do |model,path,iter| printf("Linha %s: %s %s, nascido(a) em %i\n", path.to_str, iter[0], iter[1], iter[2]); end Uma coisa que vale a pena mencionar: significa que a gente precisa liberlo uma vez que a gente n$BeP(B precisa mais dele; o segundo que todos os campos de uma linha s$BeP(B configurados para um valor padr$BeP(B nil aproprieado para o tipo de dado em quest$BeP(B. Um campo de um tipo integer contero valor 0 atque ele configurado para um novo valor, e as strings e todos os tipos de ponteiros ser$BeP(B nil atque sejam configurados para outra coisa. Execute o programa acima com uma linha vazia adicional e olhe a sa$ByE(Ba para ver isto em efeito.