[ruby-gnome2-doc-cvs] [Hiki] update - tut-gtk2-packing-tables

Back to archive index

ruby-****@sourc***** ruby-****@sourc*****
2004年 5月 14日 (金) 10:59:12 JST


-------------------------
REMOTE_ADDR = 217.255.28.98
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/de/?tut-gtk2-packing-tables
-------------------------
  = Anordnen mit Hilfe von Tabellen
  {{link "tut-gtk2-packing-demo", "tut-gtk2-packing-intro", "tut-gtk", "tut-gtk2-packing-tables-demo"}}
  
  Lassen Sie uns einen Blick auf eine weitere M$B(Blichkeit zur Anordnung von Widgets werfen: Tabellen. Tabellen k$B(Bnen in bestimmten Situationen sehr n$B(Bzlich sein.
  
  Indem wir Tabellen benutzen, erzeugen wir ein Gitter, in welches wir unsere Widgets einf$B(Ben k$B(Bnen. Die Widgets k$B(Bnen innerhalb des Gitters so viele Zwischenr$BgV(Bme ausf$B(Blen, wie wir bestimmen.
  
  Das erste, worauf wir achten m$B(Bsen ist nat$B(Blich der Konstruktor Gtk::Table.new:
  
    Gtk::Table.new(rows, columns, homogeneous) 
  
  Das erste Argument ist die Anzahl der Zeilen, die in der Tabelle vorhanden sein sollen, w$BgI(Brend das zweite die Anzahl der Spalten festlegt.
  
  Das Argument "homogeneous" hat damit zu tun, wie die Tabellenfelder in ihrer Gr$B(Be angepasst werden. Wenn homogeneous auf true gesetzt wurde, werden die Tabellenfeld entsprechend dem gr$B(Bten Widget in der gesamten Tabelle vergr$B(Bert. Wenn homogeneous auf false gesetzt wurde, wird die Gr$B(Be der Felder von dem gr$B(Bten Widget in der gleichen Zeile und der gleichen Spalte vorgeschrieben.
  
  Die Zeilen und Spalten werden von 0 bis n aufgeteilt, wobei n die Zahl ist, die in dem Konstruktor Gtk::Table.new angegeben wurde. Wenn Sie also dem Parameter rows einen Wert von beispielsweise 2 geben und columns ebenfalls auf 2 setzen, w$B(Bde das Layout etwa folgenderma$B_e(Bn aussehen:
  
    .0          1          2
    0+----------+----------+
     |          |          |
    1+----------+----------+
     |          |          |
    2+----------+----------+
  
  Beachten Sie, dass das Koordinatensystem in der oberen linken Ecke seinen Ursprung hat. Um ein Widget in einem der Felder zu platzieren, k$Bvn(Bnen Sie die folgende Methode benutzen:
  
    Gtk::Table#attach(child, 
                      left_attach, right_attach, top_attach, bottom_attach, 
                      xoptions, yoptions, 
                      xpadding, ypadding)
  
  Das erste Argument ("child") ist das Widget, dass Sie in die Tabelle einf$B|g(Ben m$Bvc(Bhten.
  
  Die Argumente "left_attach" und "right_attach" legen fest, wo das Widget platziert wird und wie viele Felder es ausf$B|l(Blen soll. Wenn Sie einen Button in der unteren rechten Zelle unserer 2x2-Tabelle einf$B|g(Ben m$Bvc(Bhten, der nur dieses eine Feld ausf$B|l(Blen soll, w$Bdr(Ben die Werte f$B|r(B left_attach 1, f$B|r(B right_attach 2, f$B|r(B top_attach 1 und f$B|r(B bottom_attach 2.
  
  Wenn Sie jetzt ein Widget m$Bvc(Bhten, dass eine ganze Zeile unserer 2x2-Tabelle ausf$B|l(Blt, w$B|r(Bden Sie left_attach mit 0 belegen, right_attach mit 2, top_attach mit 0 und bottom_attach mit 1.
  
  Die Argumente "xoptions" und "yoptions" werden benutzt, um Optionen zur Anordnung festzulegen und k$Bvn(Bnen bitweise (mit booleschen OR-Operationen) verkn$B|p(Bft werden, um mehrere Optionen zu erlauben. (Beachten Sie, dass in Ruby der OR-Operator mit dem (Pipe-)Zeichen | dargestellt wird.)
  Diese Optionen k$Bvn(Bnen folgende sein:
  
  :Gtk::FILL
   Wenn das Tabellenfeld gr$Bv_(Ber als das Widget ist, dann wird das Widget sich ausdehnen, um den verf$B|g(Bbaren Platz auszuf$B|l(Blen.
  
  :Gtk::SHRINK
   Wenn dem Tabellen-Widget weniger Platz zugeordnet wurde, als es ben$Bvt(Bigt ($B|b(Blicherweise bei einer $BDn(Bderung der Fenstergr$Bv_(Be durch den Benutzer), dann w$B|r(Bden die Widgets normalerweise einfach nach unten aus dem Fenster geschoben und aus dem sichtbaren Bereich verschwinden. Wenn Gtk::SHRINK festgelegt wurde, werden die Widgets innerhalb der Tabelle auf die minimal erforderliche Gr$Bv_(Be schrumpfen.
  
  :Gtk::EXPAND
   Diese Option f$B|h(Brt dazu, dass die Tabelle sich ausdehnt, um den verf$B|g(Bbaren Platz des Fensters auszuf$B|l(Blen.
+ 
+ Die Polsterung ist identisch mit der aus Gtk::Box: Sie dient zur Erstellung von freiem Platz rund um das Widget. Die Angabe wird in Pixeln berechnet.
+ 
+ Gtk::Table#attach hat viele Optionen, daher gibt es einen Shortcut:
+ 
+   Gtk::Table#attach_defaults(widget, left_attach, right_attach, top_attach, bottom_attach)
+ 
+ Die Optionen X und Y sind standardm$Bd_(Big vorbelegt mit Gtk::FILL | Gtk::EXPAND und die Polsterung an den X- und Y-Achsen ist auf 0 gesetzt. Der Rest der Argument ist identisch mit der oben beschriebenen Methode.
+ 
+ Wir haben ebenfalls die Methoden Gtk::Table#set_row_spacing und Gtk::Table#set_col_spacing. Diese Methoden legen den freien Platz zwischen den Zeilen oder Spalten der Tabelle fest.
+ 
+   Gtk::Table#set_row_spacing(row, spacing)
+   Gtk::Table#set_col_spacing(column, spacing) 
+ 
+ Beachten Sie, dass der freie Platz bei Spalten nach rechts und bei Zeilen nach unten reserviert wird.
+ 
+ Sie k$Bvn(Bnen auch eine Sammlung von konsistenten Abst$Bdn(Bden f$B|r(B alle Zeilen und/oder Spalten festlegen:
+ 
+   Gtk::Table#set_row_spacings(spacing)
+   Gtk::Table#set_col_spacings(spacing) 
+ 
+ Beachten Sie, dass mit diesen Aufrufen die letzte Zeile und die letzte Spalte keinen Abstand mehr nach rechts bzw. unten reservieren.





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