[ruby-gnome2-doc-cvs] [Hiki] create - tut-treeview-components

アーカイブの一覧に戻る

ruby-gnome2-hiki-pt_BR****@sourc***** ruby-gnome2-hiki-pt_BR****@sourc*****
2004年 4月 10日 (土) 04:09:13 JST


-------------------------
REMOTE_ADDR = 200.216.146.35
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/pt_BR/?tut-treeview-components
-------------------------
= Componentes: Model, Renderer, Coluna, View
{{link "tut-treeview-intro", nil, "tut-treeview", "tut-treeview-model"}}

O conceito mais importante sob o Gtk::TreeView o da separa$Bgc(Bo completa entre os dados e como esses dados s$BeP(B mostrados na tela. Isso comumente conhecido como design "Model/View/Controller" (MVC). Os dados de v$BaS(Bios tipos (strings, n$B(Beros, imagens, etc.) s$BeP(B armazenados em um 'model'. O 'view' ent$BeP(B dito qual dado deve mostrar, onde mostrlo, e como mostrlo. Uma das vantagens desse modo que vocpode ter m$B(Btiplos views que mostram o mesmo dado (uma $BaS(Bvore de diret$B(Bio por exemplo) de maneiras diferentes, ou da mesma maneira m$B(Btiplas vezes, com apenas uma c$B(Bia dos dados abaixo. Isso evita a duplica$Bne(Bo de dados e esfor$BmP(B de programa$Bne(Bo se os mesmos dados forem reutilizados em contextos diferentes. Tamb$BqN(B, quando os dados no "model" s$BeP(B atualizados, todos os views automaticamente s$BeP(B atualizados tamb$BqN(B.

Assim, quando o Gtk::TreeModel usado para armazenar os dados, existem outros componentes que determinam quais dados devem ser mostrados no the Gtk::TreeView e como eles devem ser mostrados. Esses componentes s$BeP(B o Gtk::TreeViewColumn e o Gtk::CellRenderer. A Gtk::TreeView feita de colunas de "tree view". Essas s$BeP(B colunas que os usu$BaS(Bios percebem como colunas. Elas t$BsN(B um cabe$BmB(Blho de coluna clic$BaW(Bel com um t$ByU(Bulo de coluna que pode ser escondido, e pode ser redimensionado e ordenado. Colunas de "tree view" n$BeP(B mostram qualquer dado, eles s$BeP(B apenas usados como um utilit$BaS(Bio para representar o lado do usu$BaS(Bio do "tree view" (ordenar, etc.) e servem como componentes de posicionamento para os componentes que realmente fazem a renderiza$Bne(Bo dos dados na tela, especificamente os objetos da fam$ByM(Bia de Gtk::CellRenderer (Eu os chamo de 'objetos' porque eles n$BeP(B s$BeP(B ((<Gtk::Widgets|Gtk::Widget>)
 )). Existem um n$B(Bero diferente de renderizadores de c$BqM(Bulas que se especializam em renderizar certos dados como strings, pixbufs, ou bot$B(Bs "toggle". Mais sobre isso depois.

Os renderizadores de c$BqM(Bulas s$BeP(B posicionados dentro de colunas de "tree view" para mostrar os dados. Uma coluna de "tree view" precisa conter pelo menos um renderizador de c$BqM(Bulas, mas pode conter m$B(Btiplos renderizadores de c$BqM(Bulas. Por exemplo, se algu$BqN(B quisesse mostrar uma coluna de 'Nome de Arquivo' onde cada nome de arquivo tivesse um pequeno $ByD(Bone na esquerda indicando o tipo de arquivo, ele precisaria posicionar um Gtk::CellRendererPixbuf e um Gtk::CellRendererText em uma coluna de "tree view". Posicionar os renderizadores em uma coluna de "tree view" similar a posicionar os componentes em uma caixa Gtk::HBox.





ruby-gnome2-cvs メーリングリストの案内
アーカイブの一覧に戻る