[ruby-gnome2-doc-cvs] [Hiki] create - tut-treeview-renderer-bold

Back to archive index

ruby-gnome2-hiki-pt_BR****@sourc***** ruby-gnome2-hiki-pt_BR****@sourc*****
2004年 4月 10日 (土) 23:28:49 JST


-------------------------
REMOTE_ADDR = 200.216.145.78
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/pt_BR/?tut-treeview-renderer-bold
-------------------------
= Como Fazer Uma Linha Inteira em Negrito ou Colorida
{{link "tut-treeview-renderer-example", "tut-treeview-renderer", "tut-treeview", "tut-treeview-selection-handle"}}

Isso parece ser uma pergunta feita frequentemente, ent$BeP(B vale a pena mencionla aqui. Voctem as duas maneiras mencionadas anteriormente: vocusa fun$Bnw(Bes de dados de c$BqM(Bula, e verifica em cada se uma linha am particular deve ser destacada de uma maneira em particular (necrito, colorida, etc), e ent$BeP(B configurar as propriedades do renderizador de acordo (e desconfigurlas se vocquiser que essa linha apare$BmB(B normal), ou vocusa atributos. Embora as fun$Bnw(Bes de dados de c$BqM(Bula mais provavelmente n$BeP(B s$BeP(B a escolha certa neste caso.

Se vocquer apenas que toda segunda linha tenha uma cor de fundo diferente para tornla mais f$BaD(Bil para o usu$BaS(Bio ver que dados pertencem a que linha em "tree views" largos, ent$BeP(B vocn$BeP(B tem que se preocupar com as coisas mencionadas aqui. Apenas configure a sugest$BeP(B de regra no "tree view" como descrito na ((<se$Bne(Bo "Look and Feel" de "TreeView"|tut-treeview-view-look>)), e tudo serfeito automaticamente, em cores que combinam com o tema escolhido (isto  a menos que o tema desabilite sugest$BeP(B de regra).

De outro jeito, a maneira mais adequada usar atributos. A maneira mais f$BaD(Bil configurar o atributo de cor de fundo ("background") e adicionar uma coluna ao seu "model" que determina se a linha para ser colorida e conectla ao atributo "background_set":

  liststore = Gtk::ListStore.new(String, String, TrueClass)

  # Adiciona uma linha e a preenche com alguns dados
  iter = liststore.append
  iter[0] = "Jos"
  iter[1] = "Silva"
  iter[2] = false

  # Adiciona uma segunda linha e a preenche com alguns dados
  iter = liststore.append
  iter[0] = "Ana"
  iter[1] = "Maria"
  iter[2] = true

  view = Gtk::TreeView.new(liststore)

  # Cria um renderizador com a propriedade de cor de fundo configurada
  renderer = Gtk::CellRendererText.new
  renderer.background = "pink"

  # Adiciona as colunas, com a propriedade "background_set" mapeada a coluna apropriada
  col = Gtk::TreeViewColumn.new("Primeiro Nome", renderer, :text => 0, :background_set => 2)
  view.append_column(col)

  col = Gtk::TreeViewColumn.new("$BZl(Btimo Nome", renderer, :text => 1, :background_set => 2)
  view.append_column(col)

Uma maneira alternativa, se vocgostaria de ter uma cor de fundo diferente, seria adicionar uma segunda coluna que listaria a cor de fundo desejada, e mapear o atributo de cor de fundo para essa coluna em vez de configurla diretamente no renderizador de c$Bil(Bula. Note que esse m$Bit(Bodo pode ser usado com qualquer atributo que forne$Bga(B um atributo correspondente "foo-set"; ex.: "foreground" ou "weight".

Como uma regra geral, vocn$Bco(B deve alterar a cor de texto ou de fundo da c$Bil(Bula, a menos que voctenha uma raz$Bco(B realmente boa para isso. Para citar o Havoc Pennington: "Por causa que as cores em GTK+ representam um tema escolhido pelo usu$Bar(Bio, vocn$Bco(B deveria nunca configurar as cores por raz$Bue(Bs puramente est$Bit(Bicas. Se os usu$Bar(Bios n$Bco(B gostam de cinza de GTK+, eles podem alterla sozinhos para a sua tonalidade preferida de laranja."







ruby-gnome2-cvs メーリングリストの案内
Back to archive index