Criar  Editar  FrontPage  Índices  Buscar  Alterações  History  RSS  Login

tut-treeview-renderer-types

GtkCellRendererText e Tipos Integer, TrueClass e Float

Já foi dito anteriormente que, ao usar atributos para conectar dados do "model" a uma propriedade de renderizador de célula, os dados na coluna de "model" especificada em Gtk::TreeView#add_attributes devem ser sempre do mesmo tipo que o tipo de dados que a propriedade exige.

Isso é comumente verdadeiro, mas existe uma exceção: se você adicionar uma propriedade "text" de renderizador de célula de texto a uma coluna de "model", a coluna de "model" não precisa ser uma string, ela pode também ser uma de várias outras classes, ex. TrueClass, Integer, FixNum, ou Float. O renderizador de célula de texto irá automaticamente mostrar os valores desses tipos corretamente no "tree view". Por exemplo:

list = Gtk::ListStore.new(String, Integer)

renderer = Gtk::CellRenderer.new
col = Gtk::TreeViewColumn.new("Idade", renderer, :text => 1)

Apesar que a propriedade "text" exigiria um valor de string, a gente pode usar uma coluna de "model" de um tipo integer ao configurar os atributos. O integer será então automaticamente convertido em uma string antes que a propriedade do renderizador de célula seja configurada.

Se você está usando uma classe Float, não existe maneira de dizer para o renderizador de célula quantas casas decimais devem ser renderizadas. Se você quer apenas uma certa quantidade de dígitos após a vírgula, você precisará usar uma função de dados de célula.

Last modified:2004/04/10 22:48:35
Keyword(s):
References:[tut-treeview]