[ruby-gnome2-doc-cvs] [Hiki] create - How to Implement Ruby-GNOME2

Back to archive index

ruby-****@sourc***** ruby-****@sourc*****
2004年 4月 6日 (火) 23:49:56 JST


-------------------------
REMOTE_ADDR = 217.255.164.194
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/de/?How+to+Implement+Ruby-GNOME2
-------------------------
=Code f$B(B Ruby-GNOME2 schreiben - aber wie?
Dieses Dokument erkl$BgS(Bt, wie eine Erweiterung f$B(B Ruby-GNOME2 zu schreiben ist.

==Signale und Eigenschaften
Zugriffsmethoden (((*set*))/((*get*))) f$B(B Eigenschaften werden automatisch generiert. Signale werden ebenso direkt von GLib::Instantiatable#signal_connect behandelt. Sie m$B(Bsen also nicht von Hand geschrieben werden.

==$B\b(Berholte Klassen/Methoden
Im Englischen obsolete oder deprecated genannt, sind $B|b(Berholte Klassen auszusparen.

==Makros
Es gibt einige Makros, die das Schreiben einer neuen Klasse oder Methode deutlich erleichtern. Fast alle dieser Makros befinden sich in den Header-Dateien glib/src/rbgobject.h, rbglib.h und gtk/src/rbgtk.h.

=== Define class/interface
Von diesen Makros wird in den Init_*()-Funktionen Gebrauch gemacht.

--- G_DEF_CLASS(gtype, name, module)
--- G_DEF_CLASS2(gtype, name, module, mark, free)
    Definiert eine Klasse. Um die "mark"- und "free"-Funktionen selbst definieren zu k$Bvn(Bnen, steht 
    G_DEF_CLASS2 zur Verf$B|g(Bung. Es wird eine neue Ruby-Klasse zur$B|c(Bkgegeben.

--- G_DEF_CLASS3(gtype_name, name, module)
    Definiert eine Klasse dynamisch. N$B|t(Bzlich f$B|r(B private gtype-Klassen wie GdkScreenX11 oder
    GdkWindowImplWin32. Diese Funktion hat keinen R$B|c(Bkgabewert. Solche Klassen k$Bvn(Bnen die Methoden und 
    Konstanten nicht selbst definieren. Sie tauchen dort auf, wo eine Methode, die den private gtype erzeugt, 
    von einem Ruby-Skript aufgerufen wird.

--- G_DEF_INTERFACE(gtype, name, module)
--- G_DEF_INTERFACE2(gtype, name, module, mark, free)
    Definiert ein Modul. G_DEF_INTERFACE2 steht zur Verf$B|g(Bung, um die mark- und free-Funktionen selbst 
    definieren zu k$Bvn(Bnen.
    

   -- unvollst$Bdn(Bdig!





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