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

Back to archive index

ruby-****@sourc***** ruby-****@sourc*****
2004年 4月 9日 (金) 23:24:56 JST


-------------------------
REMOTE_ADDR = 217.255.21.35
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/de/?tut-treeview-components
-------------------------
  = Komponenten: Model, Renderer, Column, View
  {{link "tut-treeview-intro", nil, "tut-treeview", "tut-treeview-model"}}
  
  Das wichtigste Konzept, auf dem Gtk::TreeView aufbaut, ist das der vollst$BgO(Bdigen Trennung zwischen Daten und ihrer Darstellung auf dem Bildschirm. Dieses Konzept wird im Allgemeinen als Model/View/Controller-Design (MVC) bezeichnet. Daten verschiedener Typen (Strings, Zahlen, Grafiken, etc.) werden in einem "Model" gespeichert. Der "View"-Komponente wird dann mitgeteilt, welche Daten an welcher Stelle und auf welche Weise angezeigt werden sollen. Einer der Vorteile dieser Vorgehensweise ist, dass man mehrere Ansichten haben kann mit denen die gleichen Daten (beispielsweise ein Verzeichnisbaum) auf verschiedene Arten oder mehrere Male angezeigt werden k$B(Bnen, wobei alle diese Ansichten auf nur eine Kopie der Daten zur$B(Bkgreifen. Dadurch lassen sich redundante Datenmengen und Programmieraufwand vermeiden, wenn die gleichen Daten in verschiedenen Zusammenh$BgO(Bgen verwendet werden. Au$B_e(Brdem gilt, dass wenn die Daten in dem Model aktualisiert werden, auto
 matisch alle Ansichten aktualisiert werden.
  
  W$Bdh(Brend also Gtk::TreeModel verwendet werden kann, um Daten zu speichern, gibt es andere Komponenten, mit denen die in einem Gtk::TreeView angezeigten Daten und die Art ihrer Darstellung zu ermitteln oder zu $Bdn(Bdern. Diese Komponenten sind Gtk::TreeViewColumn und Gtk::CellRenderer. Ein Gtk::TreeView besteht aus TreeView-Spalten. Das sind die Spalten, die der Benutzer zur Laufzeit sehen kann. Diese Spalten haben einen klickbaren Spaltenkopf mit einem Spaltentitel, der ausgeblendet werden kann, und sie k$Bvn(Bnen vergr$Bv_(Bert und sortiert werden. TreeView-Spalten zeigen keine Daten an, sie werden nur als ein Mittel zum repr$Bds(Bentieren der User-Seite des TreeViews (f$B|r(B Sortierung und andere Dinge) genutzt und dienen als Anordnungswidgets f$B|r(B die Komponenten, die das eigentliche Anzeigen der Daten auf dem Bildschirm $B|b(Bernehmen (Objekte der Gtk::CellRenderer-Familie). Es gibt eine Menge von verschiedenen CellRenderer-Typen, die jeweils das
  Darstellen von bestimmten Datentypen (Strings, Pixbufs oder ToggleButtons) $B|b(Bernehmen. Mehr dar$B|b(Ber erfahren Sie sp$Bdt(Ber in diesem Tutorial.
  
  CellRenderer werden in die TreeView-Spalten eingef$B|g(Bt, um die Daten anzuzeigen. Eine TreeView-Spalte muss mindestens einen CellRenderer enthalten, es k$Bvn(Bnen aber auch mehrere CellRenderer einer Spalte zugewiesen werden. Wenn Sie zum Beispiel eine Spalte mit Dateinamen anzeigen m$Bvc(Bhten, in der jeder Dateiname ein kleines Icon zu seiner Linken Seite hat, w$B|r(Bden Sie einen Gtk::CellRendererPixbuf und einen Gtk::CellRendererText nacheinander in die entsprechende Spalte einf$B|g(Ben.
  CelRenderer in einer TreeView-Spalte anzuordnen ist vergleichbar mit dem Anordnen von Widgets in einem Gtk::HBox.





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