You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(32) |
Jun
(60) |
Jul
(52) |
Aug
(67) |
Sep
(167) |
Oct
(186) |
Nov
(173) |
Dec
(220) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(37) |
Feb
(66) |
Mar
(89) |
Apr
(71) |
May
(32) |
Jun
(61) |
Jul
(64) |
Aug
(99) |
Sep
(33) |
Oct
(31) |
Nov
(50) |
Dec
(41) |
| 2004 |
Jan
(9) |
Feb
(9) |
Mar
(25) |
Apr
(23) |
May
(8) |
Jun
|
Jul
(1) |
Aug
(9) |
Sep
(1) |
Oct
(31) |
Nov
(38) |
Dec
|
| 2005 |
Jan
(16) |
Feb
(49) |
Mar
(14) |
Apr
(1) |
May
|
Jun
(12) |
Jul
(25) |
Aug
(18) |
Sep
(48) |
Oct
(76) |
Nov
(20) |
Dec
|
| 2006 |
Jan
(16) |
Feb
(12) |
Mar
(4) |
Apr
(5) |
May
(77) |
Jun
(37) |
Jul
(15) |
Aug
|
Sep
(3) |
Oct
(15) |
Nov
(7) |
Dec
(27) |
| 2007 |
Jan
(3) |
Feb
(2) |
Mar
|
Apr
|
May
(7) |
Jun
(18) |
Jul
(44) |
Aug
(12) |
Sep
(1) |
Oct
(13) |
Nov
(15) |
Dec
(5) |
| 2008 |
Jan
|
Feb
|
Mar
(16) |
Apr
(2) |
May
(8) |
Jun
(1) |
Jul
|
Aug
|
Sep
(8) |
Oct
(6) |
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
(2) |
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
(3) |
| 2010 |
Jan
(8) |
Feb
(8) |
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(17) |
Oct
(7) |
Nov
(3) |
Dec
|
| 2011 |
Jan
(34) |
Feb
(47) |
Mar
(12) |
Apr
(1) |
May
(2) |
Jun
(2) |
Jul
(20) |
Aug
(4) |
Sep
(31) |
Oct
(16) |
Nov
(26) |
Dec
(40) |
| 2012 |
Jan
(10) |
Feb
(8) |
Mar
|
Apr
(5) |
May
(8) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(8) |
| 2013 |
Jan
(2) |
Feb
(33) |
Mar
(21) |
Apr
(10) |
May
(29) |
Jun
(19) |
Jul
(6) |
Aug
(4) |
Sep
|
Oct
(21) |
Nov
(21) |
Dec
(7) |
| 2014 |
Jan
(3) |
Feb
(12) |
Mar
(9) |
Apr
(4) |
May
(12) |
Jun
|
Jul
|
Aug
(5) |
Sep
(23) |
Oct
(29) |
Nov
(2) |
Dec
(1) |
| 2015 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
(8) |
|
From: Masahiro S. <s01...@sf...> - 2002-06-19 19:03:06
|
ãããã§ãã From: Masao Mutoh <mu...@hi...> Subject: Re: [ruby-gnome2-devel-ja] Re: GLib2èªãã§ã¿ãŸãã Date: Thu, 20 Jun 2002 01:56:00 +0900 > > - markçšã®é¢æ°ãtype markerãšããŠäœ¿ãã®ã¯ç¡çãããã®ã§ãgobj_markã¯æ¶ãã > > - cinfo->freeãæ¬åœã«èŠããªãã®ãã©ããã¯ç¢ºä¿¡ãæãŠãªãã®ã§ä¿çã > > - rbgobj_lookup_*ã®APIãç·ŽãçŽãããšã§ãcinfoãNULLã«ãªããªãããã«ããã > > > > ã£ãŠæãã§ã©ãã§ããããã > > è¯ãã§ãããç¹ã«3ã€ç®ã§ãcinfoãNULLã«ãªãå Žåãæ³å®ãããšããã®ãå€ãª > æããããŠãŸããã ã§ã¯ããããŸãããã > ãããªããããã£ãŠãããããªã > rbgobj_object.cã§ãããç»é²ããŠããã£ãŠèšãããšã¯ã > ã²ãã£ãšããŠãå šãŠã®GValue(åœç¶GObjectãå«ã)<->VALUEã®å€æã > rbgobj_gvalue_to_rvalue(),rbgobj_rvalue_to_gvalue()ã§ãã£ãŠ > ããŸããšããã®ãæå³ã§ããïŒ ã»ã»ã»ïŒïŒïŒ ãã®éãã§ãã # ãã ãçŸåšç»é²ãããŠãã倿颿°ã¯å§åçã«äžè¶³ããŠããŠãŸããã > > 2.ã§refããªããŠãå®è³ªçã«ã¯ããŸãè¡ãããããªãããšã¯æã£ãŠãŸããã > > ããã¯æ°ææªãããããŸãèªä¿¡ããªãã§ãã > > äžæ¹ã2.ã§refããäºã«ãããšãinitializeåŽã§unrefããå¿ èŠãããã¯ãã§ã > > é¢åèããâŠâŠ > > initializeåŽã§æ¯åunrefãããšããã®ã¯å®è£ äžããã°ãå€çºããããªæ°ãããŸãã > ãšèãããš2.ã§refããªããšããã®ãæã§ãããã ããã§ãããæåã¯æ°ææªããšæã£ãŠããã®ã§ããã rbgobj_set_gobject()ã®çšæ³ããinitializeã§ã®ãã®äœ¿ãæ¹ã«éå®ããã°ã refããªãã®ããããèªç¶ã ãšããæ°ãæ®µã ãšããŠããŸããã > > floating object ã®äºãšãèŠèœãšããŠããã®ã§ã > > ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã«ã€ããŠã¯ãã¡ãããšèãçŽãããšæããŸãã > > ãã ã ãã€ããŠãããŸããã§ãã(-_-;)ã > ïŒç§ãã€ããŠãããããã«å匷ããŸãã http://developer.gnome.org/doc/API/2.0/gtk/gtkobject.html ãèŠããšã以äžã®ããã«æžãããŠããŸãã The most interesting difference between GtkObject and GObject is the "floating" reference count. A GObject is created with a reference count of 1, owned by the creator of the GObject. (The owner of a reference is the code section that has the right to call g_object_unref() in order to remove that reference.) A GtkObject is created with a reference count of 1 also, but it isn't owned by anyone; calling g_object_unref() on the newly-created GtkObject is incorrect. Instead, the initial reference count of a GtkObject is "floating". The floating reference can be removed by anyone at any time, by calling gtk_object_sink(). gtk_object_sink() does nothing if an object is already sunk (has no floating reference). å€åäºææ§ã®ããã ãšæããã©ãæ°ææªããªãã ã§ããäœãšãªãåãã£ãŠããæ°ãããâŠâŠ åã«gtkã®æ¹ã®set_gobject()ã以äžã®ããã«å€æŽããã°ã æå°éã®å€æŽã§çŸåšã®ã³ãŒããšæŽåæ§ãåãããã void set_gobject(obj, gtkobj) VALUE obj; GtkObject *gtkobj; { gtkobj = gtk_object_ref(gtkobj); gtk_object_sink(gtkobj); rbgobj_set_gobject(obj, G_OBJECT(gtkobj)); } > > > ããã«ãINT2FIXã¿ãããªãã¯ããçšæãããšã¹ãããªããããã > > > > > > GOBJ2GVAL() > > > RVAL2GVAL() > > > GOBJ2RVAL() > > > RVAL2GOBJ() > > ãããïŒïŒïŒã®éšåãæ£ããã®ã§ããã°ãäžèšã¯ > > > > RVAL2GVAL() > > > GVAL2RVAL() > > ã®ïŒã€ã§ãã¿ãŸãïŒ GValueãåŸãŠããå®éã«å ·äœçãªæäœãããã«ã¯ ããã«ããããGObject*çãåãåºããªããŠã¯ãããªãã®ã§ã ä»ã®äºã€ããã£ãæ¹ã䟿å©ã§è¯ããšæããŸãã ãšããã§ããã®èŸºãã®APIãæŽçããããš gtkãã£ã¬ã¯ããªãšgnomeãã£ã¬ã¯ããªã®ãœãŒã¹ãçºããŠããŠã make_gobject()ãæãã®å€äœ¿ãããŠããããšã«æ°ãä»ããŸããã rbgtk.cã§äœ¿ãããŠãããã®ãé€ããŠããããã¯å šãŠ get_value_from_gobject()ã§å¿ èŠååã ãšæãã®ã§ããã make_gobject()ãæ¢ããŠäœ¿ãããŠããã®ã«ã¯äœãçç±ãããã®ã§ãããã? make_gobject()ã¯ãgtk/glibåŽã®ãªããžã§ã¯ããšRubyåŽã®ãªããžã§ã¯ãã® äžå¯Ÿäžå¯Ÿå¿é¢ä¿ã厩ãå±éºãããã®ã§ãAPIãšããŠã¯å»æ¢ãããã®ã§ãã -- ããã PS: glibã®ã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ã§ãææãããéšåã¯ä¿®æ£ããŸããã ä»ã«ãåã£ãŠããªãéšåããã£ããçŽããŠäžãããŸãã PPS: Ruby/Gtkã£ãŠ http://www.gtk.org/bindings.html ã«ã¯èŒã£ãŠãªããã§ããâŠâŠ |
|
From: Masao M. <mu...@hi...> - 2002-06-19 16:56:05
|
ããšãã§ãã On Wed, 19 Jun 2002 15:20:18 +0900 Masahiro Sakai <s01...@sf...> wrote: > ãããã§ãã > > > XXXãšæžããã®ã¯ãcinfo->freeãåŒã°ãªãããŠããŸã£ãäºã«ã€ããŠã§ããã > > > äœæ ããããããšãããšãå ã®ã¡ãŒã«ã§ã¯æžãå¿ããŠããŸããŸããã > > > GObjectã®ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ãå®éšçã«äœ¿ãããšããŠããããã§ãã > > > > > > ã¡ãããšåŒã¶ããã«ãåºæ¥ãã®ã§ãããcinfo->freeã¯çŸåšäœ¿ãããŠããªãã®ã§ã > > > åŸåãã§ãã£ããšæã£ãŠã(^^;; > > > > ãã£ãšããŸããããªãã§ããã䜿ããªããªããgobj_mark()ããããªããªããŸãã > > ãã®éãåé€ããæ¹ãã¹ãããªãããšæããŸãã > > - markçšã®é¢æ°ãtype markerãšããŠäœ¿ãã®ã¯ç¡çãããã®ã§ãgobj_markã¯æ¶ãã > - cinfo->freeãæ¬åœã«èŠããªãã®ãã©ããã¯ç¢ºä¿¡ãæãŠãªãã®ã§ä¿çã > - rbgobj_lookup_*ã®APIãç·ŽãçŽãããšã§ãcinfoãNULLã«ãªããªãããã«ããã > > ã£ãŠæãã§ã©ãã§ããããã è¯ãã§ãããç¹ã«3ã€ç®ã§ãcinfoãNULLã«ãªãå Žåãæ³å®ãããšããã®ãå€ãª æããããŠãŸããã > > ãµãšæã£ãã®ã§ãããg_object_ref/unrefååŸïŒãããªããŠãè¯ããã©ïŒã®GObject > > ã£ãŠmalloc/freeã£ãŠå¿ èŠãªããã§ããã....ã > > ãã£ãšãã¡ãã£ãšæ³åã§ããªãã®ã§ãããã©ãããããšã§ããã? ããããªãããã¡ãã£ãšå¯ãŒããŠãïŒãïŒãã...ã å¿ããŠãã ããã > > ããã¡ãã£ãšèª¬æãæªãã£ãã§ãããå®ã¯ãInit_gobject_gobj()å ã® > > > > rbgobj_register_r2g_func(rbgobj_cGObject, &_gobject_from_ruby); > > rbgobj_register_g2r_func(G_TYPE_OBJECT, &_gobject_to_ruby); > > > > ã®æå³ãã¡ãã£ãšããããªãã£ããã§ãã > > ããã£ãŠäœãæå³ããŠããã§ããããã > > rbgobj_cGObjectã®æŽŸçã¯ã©ã¹çšã®VALUE->GValueã®å€æé¢æ°ãšããŠã > _gobject_from_ruby() ãç»é²ãã > G_TYPE_OBJECTã®æŽŸçã¿ã€ãçšã®GValue->VALUEã®å€æé¢æ°ãšã㊠> _gobject_to_ruby() ãç»é²ããŠããŸãã ãããªããããã£ãŠãããããªã rbgobj_object.cã§ãããç»é²ããŠããã£ãŠèšãããšã¯ã ã²ãã£ãšããŠãå šãŠã®GValue(åœç¶GObjectãå«ã)<->VALUEã®å€æã rbgobj_gvalue_to_rvalue(),rbgobj_rvalue_to_gvalue()ã§ãã£ãŠ ããŸããšããã®ãæå³ã§ããïŒ ã»ã»ã»ïŒïŒïŒ > # ããããã°ããã®èŸºãã¯GClosureã䜿ãããã«ãããšãã« > # ã ãã¶ãããã³ãŒãã«ããŠããŸã£ãã®ã§ãrbgobj_closure.cã®æ¹ãšããããŠã > # ã©ãªããæ¹è¯ããŠè²°ãããšå©ãããŸãã ããããããããã£ãŠãããŸãããã > > > ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã«ã€ããŠã¯åãã ãã¶æ··ä¹±ããŠããã®ã§ããã > > > çŸç¶ã ãšãåã¯ã©ã¹ã®initializeã®å®è£ ã¯unrefããªãã®ã§ã > > > ããã§refããŠããŸãã®ã¯ãŸããããªæ°ãããŸãã > > > # ãã¡ãããunrefããããã«initializeã®æ¹ã倿Žããã°è¯ãã®ã§ããâŠâŠ > > > > initializeã®æ¹ã§unrefã£ãŠãunrefãããªããžã§ã¯ãã䜿ãåããšããããšã« > > ãªãã®ã§ãã¡ãã£ãšæ°æã¡æªãæ°ãããŸãã > > initializeãããªã¿ãŒã³ããåã«æåã®ãªãã¡ã¬ã³ã¹ãunrefããŠãã > set_gobject()ã§ã®refã«ãã£ãŠRubyã®ãªããžã§ã¯ãèªèº«ã > æ°ãããªãã¡ã¬ã³ã¹ãä¿æããŠããäºã«ãªãã®ã§ã > åã¯ãããŸãæ°ææªããšã¯æããŠãŸããã > > > > 1. initializeã¡ãœããå ã§ãhogehoge_new()ãåŒã³åºããŠã > > > æ°ããäœæããããªããžã§ã¯ãã®ãªãã¡ã¬ã³ã¹ãåŸãã > > > ãã®æç¹ã§ããªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã¯1 > > > > ããã£ãŠãäŸãã°ãrbgtkbutton.cã®button_initialize()ãšãã®ããšãèšã£ãŠãŸããïŒ > > ã©ãã§ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã1ã«ãªãã®ã§ããã£ããã¡ãã£ãšããããªããã§ãã...ã > > ãã®äŸã§ããããgtk_button_new()ãããªã¿ãŒã³ããæç¹ã§ > æ¢ã«ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã¯1ã«ãªã£ãŠãããšæããŸãã > ã¡ãªã¿ã«ãå ·äœçã«1ãã»ããããŠããã®ã¯g_object_init() ããããããããããªãrefã®æ¹ã¯äžèŠã§ããã > # ãšæã£ãããgtk+åŽã§ã¯ floating object ãªããŠæŠå¿µãããã®ãã > # ãããããâŠâŠ > > > > 5. glibåŽã®ãªããžã§ã¯ãã¯è§£æŸãããªãã > > > > ãã£ãšãããã£ãŠä»ã®Ruby/GTKã®å®è£ ãã£ãŠããšã§ããã§ããããïŒ > > ãä»ã倿Žããã«set_objectã§refããããã«ãããšãã§ãã > > > ãããããçã«ã¯ã2.ã§refããªããŠãè¯ãããããªããã£ãŠè§£éã§è¯ãã§ããããïŒ > > 2.ã§refããªããŠãå®è³ªçã«ã¯ããŸãè¡ãããããªãããšã¯æã£ãŠãŸããã > ããã¯æ°ææªãããããŸãèªä¿¡ããªãã§ãã > äžæ¹ã2.ã§refããäºã«ãããšãinitializeåŽã§unrefããå¿ èŠãããã¯ãã§ã > é¢åèããâŠâŠ initializeåŽã§æ¯åunrefãããšããã®ã¯å®è£ äžããã°ãå€çºããããªæ°ãããŸãã ãšèãããš2.ã§refããªããšããã®ãæã§ãããã > > ãšæã£ãŠããã®ã§ããã > floating object ã®äºãšãèŠèœãšããŠããã®ã§ã > ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã«ã€ããŠã¯ãã¡ãããšèãçŽãããšæããŸãã ãã ã ãã€ããŠãããŸããã§ãã(-_-;)ã ïŒç§ãã€ããŠãããããã«å匷ããŸãã > > ããã«ãINT2FIXã¿ãããªãã¯ããçšæãããšã¹ãããªããããã > > > > GOBJ2GVAL() > > RVAL2GVAL() > > GOBJ2RVAL() > > RVAL2GOBJ() ãããïŒïŒïŒã®éšåãæ£ããã®ã§ããã°ãäžèšã¯ > > RVAL2GVAL() > > GVAL2RVAL() ã®ïŒã€ã§ãã¿ãŸãïŒ ããã ãšã G2VALUE, VALUE2Gã§ãè¯ãããïŒçããïŒïŒã > ãã®ååçããŠè¯ãã§ããã > # ããããã°ãrvalueãRVALã£ãŠãå³èŸºå€ãã飿³ããŠããŸãããã(^^;; ã¯ã¯ã¯ãGVALã¯Global Valueã飿³ããŠããŸã£ããããŠã ãŸãããããã䜿ãããååã ããèŠããŠããããã§ãããã -- .:% Masao Mutoh<mu...@hi...> |
|
From: Masahiro S. <s01...@sf...> - 2002-06-19 06:20:31
|
ãããã§ãã From: Masao Mutoh <mu...@hi...> Subject: Re: [ruby-gnome2-devel-ja] Re: GLib2èªãã§ã¿ãŸãã Date: Tue, 18 Jun 2002 00:36:20 +0900 > ãŸãã¯ã·ã³ãã«ã«ããŠé ã®äžãæŽçããããªãšã ããã§ããã > ãããããã£ããåé€ããŸããããGErrorãå®è£ ãããšããããã° > ãã®ãšãã«ãŸãèããŸãããã äºè§£ã > > XXXãšæžããã®ã¯ãcinfo->freeãåŒã°ãªãããŠããŸã£ãäºã«ã€ããŠã§ããã > > äœæ ããããããšãããšãå ã®ã¡ãŒã«ã§ã¯æžãå¿ããŠããŸããŸããã > > GObjectã®ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ãå®éšçã«äœ¿ãããšããŠããããã§ãã > > > > ã¡ãããšåŒã¶ããã«ãåºæ¥ãã®ã§ãããcinfo->freeã¯çŸåšäœ¿ãããŠããªãã®ã§ã > > åŸåãã§ãã£ããšæã£ãŠã(^^;; > > ãã£ãšããŸããããªãã§ããã䜿ããªããªããgobj_mark()ããããªããªããŸãã > ãã®éãåé€ããæ¹ãã¹ãããªãããšæããŸãã - markçšã®é¢æ°ãtype markerãšããŠäœ¿ãã®ã¯ç¡çãããã®ã§ãgobj_markã¯æ¶ãã - cinfo->freeãæ¬åœã«èŠããªãã®ãã©ããã¯ç¢ºä¿¡ãæãŠãªãã®ã§ä¿çã - rbgobj_lookup_*ã®APIãç·ŽãçŽãããšã§ãcinfoãNULLã«ãªããªãããã«ããã ã£ãŠæãã§ã©ãã§ããããã > ãµãšæã£ãã®ã§ãããg_object_ref/unrefååŸïŒãããªããŠãè¯ããã©ïŒã®GObject > ã£ãŠmalloc/freeã£ãŠå¿ èŠãªããã§ããã....ã ãã£ãšãã¡ãã£ãšæ³åã§ããªãã®ã§ãããã©ãããããšã§ããã? > ããã¡ãã£ãšèª¬æãæªãã£ãã§ãããå®ã¯ãInit_gobject_gobj()å ã® > > rbgobj_register_r2g_func(rbgobj_cGObject, &_gobject_from_ruby); > rbgobj_register_g2r_func(G_TYPE_OBJECT, &_gobject_to_ruby); > > ã®æå³ãã¡ãã£ãšããããªãã£ããã§ãã > ããã£ãŠäœãæå³ããŠããã§ããããã rbgobj_cGObjectã®æŽŸçã¯ã©ã¹çšã®VALUE->GValueã®å€æé¢æ°ãšããŠã _gobject_from_ruby() ãç»é²ãã G_TYPE_OBJECTã®æŽŸçã¿ã€ãçšã®GValue->VALUEã®å€æé¢æ°ãšã㊠_gobject_to_ruby() ãç»é²ããŠããŸãã > > > ã»gobj_smethod_added()ã£ãŠäœã«äœ¿ããã§ããããïŒ > > > > ã·ã°ãã«ãã³ãã©ãç¹ç°ã¡ãœãããšããŠæžãããã®ãã®ã®ããã§ãã > > å ·äœçã«ã¯ã©ã®ãããªã³ãŒããæå³ããŠããã§ããããã > > win = Gtk::Window.new > win.singleton_method_added(?????) > ???? > ããïŒå šç¶ã€ã¡ãŒãžã§ããªãã§ã....ãããããªãããæããŠãã ããã yashiããã®æžããŠããéãã ãšæããŸãã # ããããã°ããã®èŸºãã¯GClosureã䜿ãããã«ãããšãã« # ã ãã¶ãããã³ãŒãã«ããŠããŸã£ãã®ã§ãrbgobj_closure.cã®æ¹ãšããããŠã # ã©ãªããæ¹è¯ããŠè²°ãããšå©ãããŸãã > > ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã«ã€ããŠã¯åãã ãã¶æ··ä¹±ããŠããã®ã§ããã > > çŸç¶ã ãšãåã¯ã©ã¹ã®initializeã®å®è£ ã¯unrefããªãã®ã§ã > > ããã§refããŠããŸãã®ã¯ãŸããããªæ°ãããŸãã > > # ãã¡ãããunrefããããã«initializeã®æ¹ã倿Žããã°è¯ãã®ã§ããâŠâŠ > > initializeã®æ¹ã§unrefã£ãŠãunrefãããªããžã§ã¯ãã䜿ãåããšããããšã« > ãªãã®ã§ãã¡ãã£ãšæ°æã¡æªãæ°ãããŸãã initializeãããªã¿ãŒã³ããåã«æåã®ãªãã¡ã¬ã³ã¹ãunrefããŠãã set_gobject()ã§ã®refã«ãã£ãŠRubyã®ãªããžã§ã¯ãèªèº«ã æ°ãããªãã¡ã¬ã³ã¹ãä¿æããŠããäºã«ãªãã®ã§ã åã¯ãããŸãæ°ææªããšã¯æããŠãŸããã > > 1. initializeã¡ãœããå ã§ãhogehoge_new()ãåŒã³åºããŠã > > æ°ããäœæããããªããžã§ã¯ãã®ãªãã¡ã¬ã³ã¹ãåŸãã > > ãã®æç¹ã§ããªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã¯1 > > ããã£ãŠãäŸãã°ãrbgtkbutton.cã®button_initialize()ãšãã®ããšãèšã£ãŠãŸããïŒ > ã©ãã§ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã1ã«ãªãã®ã§ããã£ããã¡ãã£ãšããããªããã§ãã...ã ãã®äŸã§ããããgtk_button_new()ãããªã¿ãŒã³ããæç¹ã§ æ¢ã«ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã¯1ã«ãªã£ãŠãããšæããŸãã ã¡ãªã¿ã«ãå ·äœçã«1ãã»ããããŠããã®ã¯g_object_init() # ãšæã£ãããgtk+åŽã§ã¯ floating object ãªããŠæŠå¿µãããã®ãã # ãããããâŠâŠ > > 5. glibåŽã®ãªããžã§ã¯ãã¯è§£æŸãããªãã > > ãã£ãšãããã£ãŠä»ã®Ruby/GTKã®å®è£ ãã£ãŠããšã§ããã§ããããïŒ ãä»ã倿Žããã«set_objectã§refããããã«ãããšãã§ãã > ãããããçã«ã¯ã2.ã§refããªããŠãè¯ãããããªããã£ãŠè§£éã§è¯ãã§ããããïŒ 2.ã§refããªããŠãå®è³ªçã«ã¯ããŸãè¡ãããããªãããšã¯æã£ãŠãŸããã ããã¯æ°ææªãããããŸãèªä¿¡ããªãã§ãã äžæ¹ã2.ã§refããäºã«ãããšãinitializeåŽã§unrefããå¿ èŠãããã¯ãã§ã é¢åèããâŠâŠ ãšæã£ãŠããã®ã§ããã floating object ã®äºãšãèŠèœãšããŠããã®ã§ã ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã«ã€ããŠã¯ãã¡ãããšèãçŽãããšæããŸãã > ããã«ãINT2FIXã¿ãããªãã¯ããçšæãããšã¹ãããªããããã > > GOBJ2GVAL() > RVAL2GVAL() > GOBJ2RVAL() > RVAL2GOBJ() ãã®ååçããŠè¯ãã§ããã # ããããã°ãrvalueãRVALã£ãŠãå³èŸºå€ãã飿³ããŠããŸãããã(^^;; -- ããã |
|
From: Masao M. <mu...@hi...> - 2002-06-18 15:47:05
|
ããšãã§ããããã°ããã ããããããç¡æ²æ±°ã§ã(^^;)ã On Tue, 18 Jun 2002 02:59:44 +0900 Yasushi Shoji <ya...@ya...> wrote: > ãããã§ãã > > ããããšãã ã⊠ããããšãããããŸããå©ãããŸãã > > > > ã»gobj_smethod_added()ã£ãŠäœã«äœ¿ããã§ããããïŒ > > > > > > ã·ã°ãã«ãã³ãã©ãç¹ç°ã¡ãœãããšããŠæžãããã®ãã®ã®ããã§ãã > > > > å ·äœçã«ã¯ã©ã®ãããªã³ãŒããæå³ããŠããã§ããããã > > > > win = Gtk::Window.new > > def win.show > # do some > end > > ã£ãŠãªå ·åã«ãobject winã«ç¹ç°ã¡ãœãããå®çŸ©ãããš ruby 㯠> Object#singleton_method_addedãåŒã³ã ãã®ã§ãgobj_smethod_added()ã§ > overrideããŠããã¯ãã ãªãã»ã©ãããããã°ãäºååµããã®æžãããRuby/GTKã®èšäº ã«ãbutton.clickedã¿ãããªã®ãèŒã£ãŠãèšæ¶ã...ã ãšæã£ãããREADME.EXTã«ãæžããŠãããŸãã(^^;)ã -- .:% Masao Mutoh<mu...@hi...> |
|
From: Yasushi S. <ya...@ya...> - 2002-06-17 17:59:48
|
ãããã§ãã
ããããšãã ãâŠ
At Tue, 18 Jun 2002 00:36:20 +0900,
Masao Mutoh wrote:
[...]
> > > ã»gobj_smethod_added()ã£ãŠäœã«äœ¿ããã§ããããïŒ
> >
> > ã·ã°ãã«ãã³ãã©ãç¹ç°ã¡ãœãããšããŠæžãããã®ãã®ã®ããã§ãã
>
> å
·äœçã«ã¯ã©ã®ãããªã³ãŒããæå³ããŠããã§ããããã
>
> win = Gtk::Window.new
def win.show
# do some
end
ã£ãŠãªå
·åã«ãobject winã«ç¹ç°ã¡ãœãããå®çŸ©ãããš ruby ã¯
Object#singleton_method_addedãåŒã³ã ãã®ã§ãgobj_smethod_added()ã§
overrideããŠããã¯ãã
# ã¯ãããŠããããããªããâŠ
--
yashi
|
|
From: Masao M. <mu...@hi...> - 2002-06-17 15:36:32
|
ããšãã§ãã
ãŸãã¯ã·ã³ãã«ã«ããŠé ã®äžãæŽçããããªãšã
On Mon, 17 Jun 2002 03:52:06 +0900
Masahiro Sakai <s01...@sf...> wrote:
> ãããã§ãã
(ç¥)
> > rbglib.c:
> > åããçåã ã£ãã®ã§ãã...gErrorã£ãŠäœ¿ã£ãŠããªãã§ãããã
> > ãã䜿ã£ãŠããªãããã ã£ããåé€ãã¡ãããŸãããïŒ
> > gError = rb_define_class_under(mGLib, "Error", rb_eRuntimeError);
>
> 䜿ã£ãŠããªããšã¯æããŸããã
> glib-2.0ã§ã¯ãšã©ãŒãäžæã«æ±ãGErrorãšããæ§é äœãããã®ã§ã
> ã²ãã£ãšããããããã©ããããäºãããããªãšæã£ãŠã
> äžå¿ãã®ãŸãŸæã£ãŠããŸããã
ãããããã£ããåé€ããŸããããGErrorãå®è£
ãããšããããã°
ãã®ãšãã«ãŸãèããŸãããã
> > rbgobj_object.c:
> > ã»/* XXX */ã®ãšããã§cinfoãNULLã®æã£ãŠãããã§ããïŒ
> > ããç°åžžç³»ã®ã¿ã®å Žåã¯ãrb_bug()ããªããã®æ¹ãè¯ããªãã§ããïŒ
>
> XXXãšæžããã®ã¯ãcinfo->freeãåŒã°ãªãããŠããŸã£ãäºã«ã€ããŠã§ããã
> äœæ
ããããããšãããšãå
ã®ã¡ãŒã«ã§ã¯æžãå¿ããŠããŸããŸããã
> GObjectã®ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ãå®éšçã«äœ¿ãããšããŠããããã§ãã
>
> ã¡ãããšåŒã¶ããã«ãåºæ¥ãã®ã§ãããcinfo->freeã¯çŸåšäœ¿ãããŠããªãã®ã§ã
> åŸåãã§ãã£ããšæã£ãŠã(^^;;
ãã£ãšããŸããããªãã§ããã䜿ããªããªããgobj_mark()ããããªããªããŸãã
ãã®éãåé€ããæ¹ãã¹ãããªãããšæããŸãã
ãµãšæã£ãã®ã§ãããg_object_ref/unrefååŸïŒãããªããŠãè¯ããã©ïŒã®GObject
ã£ãŠmalloc/freeã£ãŠå¿
èŠãªããã§ããã....ã
> > ã»clear_gobject()ã£ãŠäœ¿ãäºå®ã¢ãªã§ããïŒ
>
> ãããgtkãããã®ãŸãŸæã£ãŠããŸããã
> gtkã§ã¯gobj_destroy()ããã®é¢æ°ã䜿ã£ãŠããããã§ããã
> GtkObjectãšéã£ãŠGObjectã«ã¯destroyãç¡ãã®ã§glibã§ã¯äžèŠã®ã¯ãã
> gtkã®æ¹ã§ã¯ã©ãã ããâŠâŠ
gtkã®gobj_destroy()ã®äžã§ããããŠå¥é¢æ°åããå¿
èŠã¯ç¡ãããã§ãããã
åœåã¯äœãæå³ããã£ãã®ãããããŸããããããããã£ããåé€ãšããããšã§ã
> > ã»_gobject_to_ruby(), _gobject_from_ruby()ã£ãŠäœã«äœ¿ããã§ããïŒ
> > ãïŒäžå匷ã§ãã¿ãŸããïŒ
>
> rbgobj_gvalue_to_rvalue()ãšrbgobj_rvalue_to_gvalue()ã«ãã
> VALUE<->GValueã®çžäºèªå倿ã«äœ¿ãããŸãã
ããã¡ãã£ãšèª¬æãæªãã£ãã§ãããå®ã¯ãInit_gobject_gobj()å
ã®
rbgobj_register_r2g_func(rbgobj_cGObject, &_gobject_from_ruby);
rbgobj_register_g2r_func(G_TYPE_OBJECT, &_gobject_to_ruby);
ã®æå³ãã¡ãã£ãšããããªãã£ããã§ãã
ããã£ãŠäœãæå³ããŠããã§ããããã
> > ã»gobj_smethod_added()ã£ãŠäœã«äœ¿ããã§ããããïŒ
>
> ã·ã°ãã«ãã³ãã©ãç¹ç°ã¡ãœãããšããŠæžãããã®ãã®ã®ããã§ãã
å
·äœçã«ã¯ã©ã®ãããªã³ãŒããæå³ããŠããã§ããããã
win = Gtk::Window.new
win.singleton_method_added(?????)
????
ããïŒå
šç¶ã€ã¡ãŒãžã§ããªãã§ã....ãããããªãããæããŠãã ããã
> > ã»rbgobj_param_spec_get_struct()ãšrbgobj_param_spec_wrap()ã£ãŠã
> > ãRuby/GTKã§èšããšããã®get_xxxxãšmake_xxxxã§ããã....ããã®èŸºã®
> > ãåç§°ã£ãŠã§ããã°Ruby/GTKçµ±äžãããã§ãã...ã
> > ãïŒãã®èŸºãåŸè¿°ããŸãã
>
> rbgobj_param.cã¯æãã€ããŠã¯ã¿ããã©ãä»ã®ã³ãŒãã¯æšãŠãããªãã
> GObjectã§ãªãGTypeInstanceãããŸãæ±ãããããªæ çµã¿ãäœã£ãäžã§ã
> æžãçŽãããæãã
ã²ãšãŸããRuby/GTKãªããã«åœ±é¿ããªãç¯å²ã§ããã°äžåºŠãã£ããåã£ã¡ã
ã£ãŠããã ããŠæ§ããŸããã
> > ã»rbgobj_class_infoã§ãããæ°ãã«2ã€ã®ã¡ã³ãã远å ããŸãããã
> > ã
> æ±ã察象ãGObjectã®æŽŸçã¯ã©ã¹ã«éå®ãããªãã°ã
> refãšunrefã¯g_object_ref(),g_object_unref()ã ãã§ãã£ããŒã®ã¯ããªã®ã§ã
> ref,unrefã¯äžèŠã ãšæããŸãã
> # gtk_object_ref(), gtk_widget_ref(), etc... ã¯ãã ã®ç³è¡£æ§æã
ããããªãã»ã©ãæ°ã¥ããŸããã§ããããªãäžèŠã§ããã
> > ãã§ãrbgobj_gobject.cã®rbgobj_set_gobject()ã以äžã®ãããªæãã
> > ----------------
> > void
> > rbgobj_set_gobject(obj, gobj)
> > VALUE obj;
> > GObject* gobj;
> > {
> > VALUE data;
> >
> > const rbgobj_class_info* cinfo = rbgobj_lookup_class(rb_class_of(obj));
> >
> > if (cinfo)
> > cinfo->ref(gobj);
>
> ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã«ã€ããŠã¯åãã ãã¶æ··ä¹±ããŠããã®ã§ããã
> çŸç¶ã ãšãåã¯ã©ã¹ã®initializeã®å®è£
ã¯unrefããªãã®ã§ã
> ããã§refããŠããŸãã®ã¯ãŸããããªæ°ãããŸãã
> # ãã¡ãããunrefããããã«initializeã®æ¹ã倿Žããã°è¯ãã®ã§ããâŠâŠ
initializeã®æ¹ã§unrefã£ãŠãunrefãããªããžã§ã¯ãã䜿ãåããšããããšã«
ãªãã®ã§ãã¡ãã£ãšæ°æã¡æªãæ°ãããŸãã
> ã¹ããŒãªã£
>
> 1. initializeã¡ãœããå
ã§ãhogehoge_new()ãåŒã³åºããŠã
> æ°ããäœæããããªããžã§ã¯ãã®ãªãã¡ã¬ã³ã¹ãåŸãã
> ãã®æç¹ã§ããªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã¯1
ããã£ãŠãäŸãã°ãrbgtkbutton.cã®button_initialize()ãšãã®ããšãèšã£ãŠãŸããïŒ
ã©ãã§ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã1ã«ãªãã®ã§ããã£ããã¡ãã£ãšããããªããã§ãã...ã
> 2. set_gobject()ãã
> ããã§refããŠãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã¯2ã«ãªãã
> æ°ãããªãã¡ã¬ã³ã¹ã¯rb_cDataã®ã€ã³ã¹ã¿ã³ã¹ãæã£ãŠããã
>
> 3. initializeãããªã¿ãŒã³
> ããã§ã¯unrefããŠããªãã®ã§ããªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã¯2ã®ãŸãŸã
>
> 4. RubyåŽã®ã©ãããGCãããã
> rb_cDataã®ã€ã³ã¹ã¿ã³ã¹ãæã£ãŠãããªãã¡ã¬ã³ã¹ãunrefãããã®ã§ã
> ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã¯1
>
> 5. glibåŽã®ãªããžã§ã¯ãã¯è§£æŸãããªãã
ãã£ãšãããã£ãŠä»ã®Ruby/GTKã®å®è£
ãã£ãŠããšã§ããã§ããããïŒ
ãããããçã«ã¯ã2.ã§refããªããŠãè¯ãããããªããã£ãŠè§£éã§è¯ãã§ããããïŒ
> > rbgobj_value.cã®rbgobj_gvalue_to_rvalue()ãšrbgobj_rvalue_to_gvalue()ã§ããã
> > ããã£ãŠãçµå±ã®ãšããVALUE<->GValueã®çžäºèªå倿ã§ãããïŒ
>
> ããã§ãã
> ã·ã°ãã«ãã³ãã©ã®åŒæ°ãšè¿ãå€ã®å€æãåå¥ã«æžããªããŠã
> è¯ãããã«ããããã«å°å
¥ããŠã¿ãŸããã
>
> > ã§ããã°ãrbgobj_make_gobject()ãšããåæ§ã®ã¡ãœããåã§çµ±äžã§ããããã£ãã
> > ããããªæ°ãããã®ã§ãããããã§ãããïŒ
> >
> > rbgobj_gvalue2r()
> > rbgobj_r2gvalue()
> > rbgobj_gobj2r()ããâ rbgobj_get_value_from_gobject(),rbgobj_make_gobject()ã®çœ®ãæã
> > rbgobj_r2gobj()ããârbgobj_get_gobject()ã®çœ®ãæã
>
> ãããè³æã
> å€åãåé¡ãªããšæããŸãã
ããã«ãINT2FIXã¿ãããªãã¯ããçšæãããšã¹ãããªããããã
GOBJ2GVAL()
RVAL2GVAL()
GOBJ2RVAL()
RVAL2GOBJ()
--
.:% Masao Mutoh<mu...@hi...>
|
|
From: Masahiro S. <s01...@sf...> - 2002-06-16 18:52:11
|
ãããã§ãã
From: Masao Mutoh <mu...@hi...>
Subject: [ruby-gnome2-devel-ja] GLib2èªãã§ã¿ãŸãã
Date: Mon, 17 Jun 2002 01:15:47 +0900
> ãããããã®glibã§ãããé
ãã°ããªãããã£ãšèŠãŠã¿ãŸããã
> çãæéã«ãããŸã§äœãã®ã£ãŠãããã§ãããç§ã«ã¯ç¡çãã...(^^;)ã
ã©ãããããŸããŠã
# ã§ããåºæ¬çã«ã¯gtkã®æ¹ããã³ãŒããæã£ãŠããã ããªã®ã§ã
# ãããªå€§ããä»äºãããªãã£ãã§ãããã
> ä»ã®æ¹ãäœãã³ã¡ã³ããã£ããã¡ãŒã«ããŠãã ãããã
> ããã£ãŠãRuby-GNOME2ã®ãã¢ã®éšåã ãšæããŸããã§å¥®ã£ãŠãåå ãã ããã
> ïŒãã®ã¡ãŒã«ã«å¯ŸããŠããglibã®ãœãŒã¹ã«å¯ŸããŠã§ãæ§ããŸããã
ãããããåããããé¡ãããŸãã
ä»ã®ã³ãŒãã¯ãã ã®ããããå°ãã ãšæã£ãŠã
è²ã
ãšæ¹è¯ããŠãããããšå©ãããŸãã
> ====
> å
šäœïŒ
> ã»é¢æ°ã®å®£èšãä»(gtkãšã)ãšåãããŸãããïŒ
> static
> VALUE hoge
> â
> static VALUE
> hoge
ããã§ããã
åãããããšæããŸãã
> rbglib.c:
> åããçåã ã£ãã®ã§ãã...gErrorã£ãŠäœ¿ã£ãŠããªãã§ãããã
> ãã䜿ã£ãŠããªãããã ã£ããåé€ãã¡ãããŸãããïŒ
> gError = rb_define_class_under(mGLib, "Error", rb_eRuntimeError);
䜿ã£ãŠããªããšã¯æããŸããã
glib-2.0ã§ã¯ãšã©ãŒãäžæã«æ±ãGErrorãšããæ§é äœãããã®ã§ã
ã²ãã£ãšããããããã©ããããäºãããããªãšæã£ãŠã
äžå¿ãã®ãŸãŸæã£ãŠããŸããã
> rbgobj_object.c:
> ã»rbgobj_set_gobj()ã§ã
> ã»Data_Wrap_Struct(rb_cData, cinfo->mark, &g_object_unref, gobj);
> ã£ãŠã&ãå¿
èŠã§ããïŒïŒgtkãªããã¯ãã®ãã¿ãŒã³ã®æã䜿ã£ãŠããªãã®ã§...ïŒ
ãã£ãŠããªããŠããCèšèªã®ä»æ§çã«åãã¯ãã§ãã
gtkã«åãããŠæ¶ããŸãããã
> ã»/* XXX */ã®ãšããã§cinfoãNULLã®æã£ãŠãããã§ããïŒ
> ããç°åžžç³»ã®ã¿ã®å Žåã¯ãrb_bug()ããªããã®æ¹ãè¯ããªãã§ããïŒ
XXXãšæžããã®ã¯ãcinfo->freeãåŒã°ãªãããŠããŸã£ãäºã«ã€ããŠã§ããã
äœæ
ããããããšãããšãå
ã®ã¡ãŒã«ã§ã¯æžãå¿ããŠããŸããŸããã
GObjectã®ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ãå®éšçã«äœ¿ãããšããŠããããã§ãã
ã¡ãããšåŒã¶ããã«ãåºæ¥ãã®ã§ãããcinfo->freeã¯çŸåšäœ¿ãããŠããªãã®ã§ã
åŸåãã§ãã£ããšæã£ãŠã(^^;;
> ã»clear_gobject()ã£ãŠäœ¿ãäºå®ã¢ãªã§ããïŒ
ãããgtkãããã®ãŸãŸæã£ãŠããŸããã
gtkã§ã¯gobj_destroy()ããã®é¢æ°ã䜿ã£ãŠããããã§ããã
GtkObjectãšéã£ãŠGObjectã«ã¯destroyãç¡ãã®ã§glibã§ã¯äžèŠã®ã¯ãã
gtkã®æ¹ã§ã¯ã©ãã ããâŠâŠ
> ã»rbgobj_make_gobject()ã廿¢ããŠrbgobj_make_gobject_auto_type()ã«
> ãçµ±åãã¡ãããºã€ã§ãããïŒ
ããšãããã®äžã®ææ¡ã«ããããã«ãçµå±
rbgobj_get_value_from_gobject()çžåœã®ãã®ããããã°
ååãªããããªãããšããæ°ãããŠããŸããã
> ããã§ãååãæ±çšçãªã¢ãã«ããŠgtk/gnomeçã§ã䜿ããšã
> ããªããããã®èŸºãè€éãããæ°ããããã§ããã...ã
åæããããã«è€éã§ãããã
> ã»_gobject_to_ruby(), _gobject_from_ruby()ã£ãŠäœã«äœ¿ããã§ããïŒ
> ãïŒäžå匷ã§ãã¿ãŸããïŒ
rbgobj_gvalue_to_rvalue()ãšrbgobj_rvalue_to_gvalue()ã«ãã
VALUE<->GValueã®çžäºèªå倿ã«äœ¿ãããŸãã
> ã»gobj_smethod_added()ã£ãŠäœã«äœ¿ããã§ããããïŒ
ã·ã°ãã«ãã³ãã©ãç¹ç°ã¡ãœãããšããŠæžãããã®ãã®ã®ããã§ãã
> rbgobj_param.c:
> ã»äŸãã°ãrb_define_method(rbgobj_cParamSpec, "name", &get_name, 0);
> ãã§ã&get_nameãªã®ã¯ãªãã§ããããã
&ãä»ããŠããã®ã¯ããã ã®çã§ãã
gtkã«åãããŠæ¶ããŸãããã
> ã»rbgobj_param_spec_get_struct()ãšrbgobj_param_spec_wrap()ã£ãŠã
> ãRuby/GTKã§èšããšããã®get_xxxxãšmake_xxxxã§ããã....ããã®èŸºã®
> ãåç§°ã£ãŠã§ããã°Ruby/GTKçµ±äžãããã§ãã...ã
> ãïŒãã®èŸºãåŸè¿°ããŸãã
rbgobj_param.cã¯æãã€ããŠã¯ã¿ããã©ãä»ã®ã³ãŒãã¯æšãŠãããªãã
GObjectã§ãªãGTypeInstanceãããŸãæ±ãããããªæ çµã¿ãäœã£ãäžã§ã
æžãçŽãããæãã
> ===
> 以äžãææ¡
> ã»rbgobj_class_info圢ã RGObjClassInfoã¿ããã«å€§æå䜿ã£ãŠã¡ãã£ãšçã
> ãããŠããã€ãããã«ãåã£ãœãããŸããïŒ
è³æã§ãã
> ã»rbgobj_class_infoã§ãããæ°ãã«2ã€ã®ã¡ã³ãã远å ããŸãããã
> ã
> struct _rbgobj_class_info {
> VALUE klass;
> GType gtype;
> void (*mark)(GObject *);
> void (*free)(GObject *);
> void (*ref)(GObject *);
> void (*unref)(GObject *);
> };
æ±ã察象ãGObjectã®æŽŸçã¯ã©ã¹ã«éå®ãããªãã°ã
refãšunrefã¯g_object_ref(),g_object_unref()ã ãã§ãã£ããŒã®ã¯ããªã®ã§ã
ref,unrefã¯äžèŠã ãšæããŸãã
# gtk_object_ref(), gtk_widget_ref(), etc... ã¯ãã ã®ç³è¡£æ§æã
> ãã§ãrbgobj_gobject.cã®rbgobj_set_gobject()ã以äžã®ãããªæãã
> ----------------
> void
> rbgobj_set_gobject(obj, gobj)
> VALUE obj;
> GObject* gobj;
> {
> VALUE data;
>
> const rbgobj_class_info* cinfo = rbgobj_lookup_class(rb_class_of(obj));
>
> if (cinfo)
> cinfo->ref(gobj);
ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã«ã€ããŠã¯åãã ãã¶æ··ä¹±ããŠããã®ã§ããã
çŸç¶ã ãšãåã¯ã©ã¹ã®initializeã®å®è£
ã¯unrefããªãã®ã§ã
ããã§refããŠããŸãã®ã¯ãŸããããªæ°ãããŸãã
# ãã¡ãããunrefããããã«initializeã®æ¹ã倿Žããã°è¯ãã®ã§ããâŠâŠ
ã¹ããŒãªã£
1. initializeã¡ãœããå
ã§ãhogehoge_new()ãåŒã³åºããŠã
æ°ããäœæããããªããžã§ã¯ãã®ãªãã¡ã¬ã³ã¹ãåŸãã
ãã®æç¹ã§ããªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã¯1
2. set_gobject()ãã
ããã§refããŠãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã¯2ã«ãªãã
æ°ãããªãã¡ã¬ã³ã¹ã¯rb_cDataã®ã€ã³ã¹ã¿ã³ã¹ãæã£ãŠããã
3. initializeãããªã¿ãŒã³
ããã§ã¯unrefããŠããªãã®ã§ããªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã¯2ã®ãŸãŸã
4. RubyåŽã®ã©ãããGCãããã
rb_cDataã®ã€ã³ã¹ã¿ã³ã¹ãæã£ãŠãããªãã¡ã¬ã³ã¹ãunrefãããã®ã§ã
ãªãã¡ã¬ã³ã¹ã«ãŠã³ã¿ã¯1
5. glibåŽã®ãªããžã§ã¯ãã¯è§£æŸãããªãã
> rbgobj_value.cã®rbgobj_gvalue_to_rvalue()ãšrbgobj_rvalue_to_gvalue()ã§ããã
> ããã£ãŠãçµå±ã®ãšããVALUE<->GValueã®çžäºèªå倿ã§ãããïŒ
ããã§ãã
ã·ã°ãã«ãã³ãã©ã®åŒæ°ãšè¿ãå€ã®å€æãåå¥ã«æžããªããŠã
è¯ãããã«ããããã«å°å
¥ããŠã¿ãŸããã
> ã§ããã°ãrbgobj_make_gobject()ãšããåæ§ã®ã¡ãœããåã§çµ±äžã§ããããã£ãã
> ããããªæ°ãããã®ã§ãããããã§ãããïŒ
>
> rbgobj_gvalue2r()
> rbgobj_r2gvalue()
> rbgobj_gobj2r()ããâ rbgobj_get_value_from_gobject(),rbgobj_make_gobject()ã®çœ®ãæã
> rbgobj_r2gobj()ããârbgobj_get_gobject()ã®çœ®ãæã
ãããè³æã
å€åãåé¡ãªããšæããŸãã
-- ããã
|
|
From: Masao M. <mu...@hi...> - 2002-06-16 16:25:57
|
ããšãã§ãã
On Mon, 17 Jun 2002 01:15:47 +0900
Masao Mutoh <mu...@hi...> wrote:
> ããšãã§ãã
>
(ç¥)
> ===
> 以äžãææ¡
> ã»rbgobj_class_info圢ã RGObjClassInfoã¿ããã«å€§æå䜿ã£ãŠã¡ãã£ãšçã
> ãããŠããã€ãããã«ãåã£ãœãããŸããïŒ
> ã»rbgobj_class_infoã§ãããæ°ãã«2ã€ã®ã¡ã³ãã远å ããŸãããã
> ã
> struct _rbgobj_class_info {
> VALUE klass;
> GType gtype;
> void (*mark)(GObject *);
> void (*free)(GObject *);
> void (*ref)(GObject *);
> void (*unref)(GObject *);
> };
ãããããã¡ããªãgtk_widget_ref(GtkWidget *)ãšããèãããš
å
ã»ã©ã®äŸã§ã¯ãrbgobj_set_gobject(obj, gobj)ã®äžã§ãrefã«æž¡ã
gobjãåçã«ãã£ã¹ãããªããšã§ããã
ãªããããŸãæã¯ãªãããªãã
--
.:% Masao Mutoh<mu...@hi...>
|
|
From: Masao M. <mu...@hi...> - 2002-06-16 16:15:53
|
ããšãã§ãã
ãããããã®glibã§ãããé
ãã°ããªãããã£ãšèŠãŠã¿ãŸããã
çãæéã«ãããŸã§äœãã®ã£ãŠãããã§ãããç§ã«ã¯ç¡çãã...(^^;)ã
ãã§ãäžå¿ã質åãªã©ã
æ£çŽç¢ºèªããŠãªãã®ã«ã³ã¡ã³ãããŠããšããããããŸããã容赊ãã ããã
ä»ã®æ¹ãäœãã³ã¡ã³ããã£ããã¡ãŒã«ããŠãã ãããã
ããã£ãŠãRuby-GNOME2ã®ãã¢ã®éšåã ãšæããŸããã§å¥®ã£ãŠãåå ãã ããã
ïŒãã®ã¡ãŒã«ã«å¯ŸããŠããglibã®ãœãŒã¹ã«å¯ŸããŠã§ãæ§ããŸããã
====
å
šäœïŒ
ã»é¢æ°ã®å®£èšãä»(gtkãšã)ãšåãããŸãããïŒ
static
VALUE hoge
â
static VALUE
hoge
rbglib.c:
åããçåã ã£ãã®ã§ãã...gErrorã£ãŠäœ¿ã£ãŠããªãã§ãããã
ãã䜿ã£ãŠããªãããã ã£ããåé€ãã¡ãããŸãããïŒ
gError = rb_define_class_under(mGLib, "Error", rb_eRuntimeError);
rbgobj_object.c:
ã»rbgobj_set_gobj()ã§ã
ã»Data_Wrap_Struct(rb_cData, cinfo->mark, &g_object_unref, gobj);
ã£ãŠã&ãå¿
èŠã§ããïŒïŒgtkãªããã¯ãã®ãã¿ãŒã³ã®æã䜿ã£ãŠããªãã®ã§...ïŒ
ã»/* XXX */ã®ãšããã§cinfoãNULLã®æã£ãŠãããã§ããïŒ
ããç°åžžç³»ã®ã¿ã®å Žåã¯ãrb_bug()ããªããã®æ¹ãè¯ããªãã§ããïŒ
ã»clear_gobject()ã£ãŠäœ¿ãäºå®ã¢ãªã§ããïŒ
ã»rbgobj_make_gobject()ã廿¢ããŠrbgobj_make_gobject_auto_type()ã«
ãçµ±åãã¡ãããºã€ã§ãããïŒ
ããã§ãååãæ±çšçãªã¢ãã«ããŠgtk/gnomeçã§ã䜿ããšã
ããªããããã®èŸºãè€éãããæ°ããããã§ããã...ã
ã»_gobject_to_ruby(), _gobject_from_ruby()ã£ãŠäœã«äœ¿ããã§ããïŒ
ãïŒäžå匷ã§ãã¿ãŸããïŒ
ã»gobj_smethod_added()ã£ãŠäœã«äœ¿ããã§ããããïŒ
rbgobj_param.c:
ã»äŸãã°ãrb_define_method(rbgobj_cParamSpec, "name", &get_name, 0);
ãã§ã&get_nameãªã®ã¯ãªãã§ããããã
ã»rbgobj_param_spec_get_struct()ãšrbgobj_param_spec_wrap()ã£ãŠã
ãRuby/GTKã§èšããšããã®get_xxxxãšmake_xxxxã§ããã....ããã®èŸºã®
ãåç§°ã£ãŠã§ããã°Ruby/GTKçµ±äžãããã§ãã...ã
ãïŒãã®èŸºãåŸè¿°ããŸãã
===
以äžãææ¡
ã»rbgobj_class_info圢ã RGObjClassInfoã¿ããã«å€§æå䜿ã£ãŠã¡ãã£ãšçã
ãããŠããã€ãããã«ãåã£ãœãããŸããïŒ
ã»rbgobj_class_infoã§ãããæ°ãã«2ã€ã®ã¡ã³ãã远å ããŸãããã
ã
struct _rbgobj_class_info {
VALUE klass;
GType gtype;
void (*mark)(GObject *);
void (*free)(GObject *);
void (*ref)(GObject *);
void (*unref)(GObject *);
};
ãã§ãrbgobj_gobject.cã®rbgobj_set_gobject()ã以äžã®ãããªæãã
----------------
void
rbgobj_set_gobject(obj, gobj)
VALUE obj;
GObject* gobj;
{
VALUE data;
const rbgobj_class_info* cinfo = rbgobj_lookup_class(rb_class_of(obj));
if (cinfo)
cinfo->ref(gobj);
data = Data_Wrap_Struct(rb_cData, cinfo->mark, cinfo->unref, gobj);
else
data = Data_Wrap_Struct(rb_cData, gobj_mark, g_object_unref, gobj);
/* âããå¿
èŠããªãïŒ */
g_object_set_data_full(gobj, RUBY_GOBJECT_OBJ_KEY,
(gpointer)obj, delete_gobject);
rb_ivar_set(obj, id_relatives, Qnil);
rb_ivar_set(obj, id_gobject_data, data);
st_add_direct(gobject_object_list, (char*)obj, (char*)obj);
}
----------------
ããããã°ãmake_hoge()ã£ãŠå
šéšãã¯ãã«ã§ãããšæããã§ãããã
ïŒrbgtk.cãšãç¬èªã§hoge_refããŠããšããã¯å
šéšä¿®æ£ããªããšã§ãããããã«
ïŒãªãããªãšã
===
ããããã£ãŠãªãã®ã§ãšãã¡ããããªããšãèšã£ãŠãããããããŸããã...
rbgobj_value.cã®rbgobj_gvalue_to_rvalue()ãšrbgobj_rvalue_to_gvalue()ã§ããã
ããã£ãŠãçµå±ã®ãšããVALUE<->GValueã®çžäºèªå倿ã§ãããïŒ
ã§ããã°ãrbgobj_make_gobject()ãšããåæ§ã®ã¡ãœããåã§çµ±äžã§ããããã£ãã
ããããªæ°ãããã®ã§ãããããã§ãããïŒ
rbgobj_gvalue2r()
rbgobj_r2gvalue()
rbgobj_gobj2r()ããâ rbgobj_get_value_from_gobject(),rbgobj_make_gobject()ã®çœ®ãæã
rbgobj_r2gobj()ããârbgobj_get_gobject()ã®çœ®ãæã
ç¡çããªãïŒå®è£
ããŠãããªãã§åæã«èšã£ãŠãŸãããã¿ãŸãã(^^;)
--
.:% Masao Mutoh<mu...@hi...>
|
|
From: Masao M. <mu...@hi...> - 2002-06-13 15:13:37
|
ããšãã§ãã Ruby-GNOME2ã®ã©ã€ã»ã³ã¹ã§ãããå šãŠLGPLã«ããããšæããŸãã Ruby-GNOMEã®åã¡ã³ããã§ããNeilã«ã¯OKããããŸããã åã ã¡ã³ããã§ããäºååµãããOKã§ãããšçè§£ããŠããŸãã ä»é±æ«ãããã«ã©ã€ã»ã³ã¹ã倿Žããããšæãã®ã§ããã ç°è«ãããå Žåã¯ãããŸã§ã«ãé¡ãããŸãã -- .:% Masao Mutoh<mu...@hi...> |
|
From: Masao M. <mu...@hi...> - 2002-06-13 15:10:48
|
ããšãã§ãã
仿¥ã¯ççã«ç ãã®ã§ããæžãããå¯ãŸã...ã
On Thu, 13 Jun 2002 05:48:00 +0900
Masahiro Sakai <s01...@sf...> wrote:
> ãããã§ãã
> ãšããããçŸç¶ã®å ±å(ãšãèªåçšã¡ã¢)
ããããšãããããŸãã
ãšããããããããããã®æããšããã§
å
ã«é²ãããã£ãŠããã ããŠè¯ãã§ããã
ã¡ãã£ãšé±æ«ã«ãªããªããšã³ãŒãã远ãæéãåããªã
ãããªãã§ããç³ãèš³ãªãã§ãã
> > ãããšããããªãã§ãªãã§ããã
> > ã²ãšãŸããlib/gtk2.rbã¯ä»ã®ãšããrequireã ããªã®ã§ã
> > rbgtk.cã§rb_require("glib2");ããŠãgtk2.rbèªäœã¯åé€ããŸãããã
>
> ããšãããã®æã§ã¯ããã§åããŠããã§ãã?
>
> åã®ãšãã ãšããããããglib2.soãããŒããããŠããªããšã
> rubyãgtk2.soã®dlopen()èªäœã«å€±æããŠããŸããŸãã
ãã£ããããšããã§ãããã£ãŠã¿ãããã¡ã§ãã(^^;)ã
--
.:% Masao Mutoh<mu...@hi...>
|
|
From: Masahiro S. <s01...@sf...> - 2002-06-12 20:48:19
|
ãããã§ãã
From: Masao Mutoh <mu...@hi...>
Subject: [ruby-gnome2-devel-ja] GLib2
Date: Wed, 12 Jun 2002 07:57:04 +0900
> ãããããïŒ
> ããçšåºŠGLib2åšããèœã¡çããããããã«ã¢ããŠã³ã¹ããŠãã ããã
> éäžã§ãçµæ§ã§ãã
ãšããããçŸç¶ã®å ±å(ãšãèªåçšã¡ã¢)
- ãããŸã§gtk.soã§è¡ã£ãŠãããåãšã¯ã©ã¹ã®ç®¡çãglib.soã«ç§»ããŸããã
ç§ã®è¶£å³ã§è¥å¹²ååã倿ŽãããŠãããããŸããã
æ¬è³ªçãªå€æŽã¯ããŠãªãã¯ãã§ãã
- signalã¯GClosureã䜿ã£ãŠå®è£
ããŠã¿ãŸããã
GClosureã䜿ã£ãŠå®è£
ãããšããæ¹åã¯æ£ãããšæããã©ã
ãã®èŸºãã¯è¯ãçè§£ããŠããªãã®ã§äžå®ã
- ããã§ã®ãRuby<=>glib(GValue) ã®ããŒã¿ã®å€æã¯ã
倿çšã®é¢æ°ã rbgobj_register_r2g_func() ãš
rbgobj_register_g2r_func() ã§ç»é²ããããã«ããŠã¿ãŸããã
ãã£ãšè¯ãæ¹æ³ãããããâŠâŠ
- gtk-2.0ã§ã¯ãgdkã®å¹Ÿã€ãã®æ§é äœãGObjectãç¶æ¿ãããªããžã§ã¯ãã«
ãªã£ãŠããã®ã§ããããžã®å¯Ÿå¿ãå¿
èŠãªã®ã§ããããŸã äœæ¥ããŠããŸããã
- gtk-2.0ã§ã¯ãgdkã®(ãªããžã§ã¯ãã«ãªã£ãŠããªã)幟ã€ãã®æ§é äœã¯ã
GValueãžæ ŒçŽããããšãã¯GBoxedã®ãµãã¿ã€ããšããŠæ ŒçŽãããã®ã§ããã
ããã«ã€ããŠããŸã ã§ãã
ãã£ãšå
ã®äºã
现ããäºã¯å
šç¶èããŠãªãã(ãã ã®åŠæ³ãšããã)
- g_class_list_properties(), g_set_property(), g_get_property()ãšãã
颿°ãããã®ã§ãããã䜿ããšsetter/getterãææžãããå¿
èŠããªããªãããã
- GTypeInterfaceã¯äœã«äœ¿ãã®ã ãã?
- ã(GObject以äžã®)GType â Rubyã®ã¯ã©ã¹ãã®ååãåå°ã«ãªãããã«ããæ¹ãã
setter/getterãèªåå®çŸ©ããäºããä»ã®è²ã
ãªäºã«éœåãè¯ãããã
å
·äœçãªå®è£
æ¹æ³ãšããŠã¯
- ãã®ååãå®çŸãã颿°ã¯ã察å¿ããRubyã®ã¯ã©ã¹ããŸã ååšããªãå Žåã«
察å¿ããã¯ã©ã¹ãç¡åã¯ã©ã¹ãšããŠååž°çã«äœæ/ç»é²ããŠããããè¿ãã
- ãããŸã§rb_define_class_under()ã䜿ã£ãŠã¯ã©ã¹ãå®çŸ©ããŠããéšåã¯ã
ãã®é¢æ°ã䜿ã£ãŠåŸãã¯ã©ã¹ã§å®æ°ãæçžããã³ãŒãã«çœ®ãæããã
ãšãâŠâŠ
> ãããšããããªãã§ãªãã§ããã
> ã²ãšãŸããlib/gtk2.rbã¯ä»ã®ãšããrequireã ããªã®ã§ã
> rbgtk.cã§rb_require("glib2");ããŠãgtk2.rbèªäœã¯åé€ããŸãããã
ããšãããã®æã§ã¯ããã§åããŠããã§ãã?
åã®ãšãã ãšããããããglib2.soãããŒããããŠããªããšã
rubyãgtk2.soã®dlopen()èªäœã«å€±æããŠããŸããŸãã
-- ããã
|
|
From: Masao M. <mu...@hi...> - 2002-06-12 13:01:41
|
ããšãã§ãã
ãããããïŒ
ããçšåºŠGLib2åšããèœã¡çããããããã«ã¢ããŠã³ã¹ããŠãã ããã
éäžã§ãçµæ§ã§ãã
ããããè¥å¹²ã³ãŒããèªã¿åããïŒãšãããäž»ã«ç§ããã®è³ªåã«ãªã
ãšæããŸãã...(^^;)ïŒãããŸãããã
ãããšããããªãã§ãªãã§ããã
ã²ãšãŸããlib/gtk2.rbã¯ä»ã®ãšããrequireã ããªã®ã§ã
rbgtk.cã§rb_require("glib2");ããŠãgtk2.rbèªäœã¯åé€ããŸãããã
ããã§ã¯ã
--
.:% Masao Mutoh<mu...@hi...>
|
|
From: Masao M. <mu...@hi...> - 2002-06-11 18:01:01
|
ããšãã§ãã 宿°å€ã®æ±ãã«ã€ããŠã¿ãªããã®ãæèŠããèãããã ããã åããæžãããšæã£ãŠããã§ãããå»¶ã³å»¶ã³ã«ãªã£ãŠããŸããŸããã çªç¶æžãããšæã£ãã®ã¯ã Re: [ruby-gnome-users-ja] patch of add selection-copy for Ruby/GTK ã®ã¹ã¬ããã§ããã¯ãä»ã®ãã¡ã«æ¹åæ§ã決ããŠãããªããããããš æããããã§ãã ---- çŸåšã宿°å€ã¯ãã®æ±ãããã©ãã©ã§ãããã宿°ã¯ã¯ã©ã¹ã®å®æ°ãšã㊠ååšãããã宿°ã¯Gtkã¢ãžã¥ãŒã«çŽäžã®å®æ°ã«ãªã£ãŠããŸãããã宿°ã¯Contants ãšããã¢ãžã¥ãŒã«é äžã«ãã....ãªã©ã§ãã ããã1ã€ã®äœç³»ã«ãŸãšããããšèããŠãŸãã ãšãããããåæãšããŠä»¥äžããããŸãã ã»Gtk, GdkçŽäžã«å šãŠã®å®æ°ã宣èšããã®ã¯ããã ã»ããçšåºŠã®ã°ã«ãŒãåãå³ã ã»Gtk::ItemFactory::Constantsãšãããããªæ¬ãæ¹ã¯ããã äžå¿ã3ã€æ¡ãèããŸããããã以å€ã§ãã£ãšè¯ãæ¡ããã£ããæããŠãã ããã äŸãšããŠãGdkSelectionType, GtkJustificationã®2ã€ã®enumããããŸãã GdkSelectionType: GDK_SELECTION_TYPE_ATOM = 4, GDK_SELECTION_TYPE_BITMAP = 5 GtkJustification GTK_JUSTIFY_LEFT, GTK_JUSTIFY_RIGHT â (æ¡1ïŒenumç³»ã®ãã®ã¯å šãŠã¢ãžã¥ãŒã«ãšããŠå®çŸ©ãã ããã¯ã Gdk::SelectionType::ATOM Gdk::SelectionType::BITMAP Gtk::Justification::LEFT Gtk::Justification::RIGHT ãšå®çŸ©ãããŸããããããããã®èªåçæãããã³ãŒãã確ããã®æ¹æ³ã åã£ãŠãããšæããŸãã å©ç¹ïŒ ã»GTK+ãã顿šãããã æ¬ ç¹ïŒ ã»å®æ°çšã¢ãžã¥ãŒã«æ°ããšãã§ããªãå€ããªã£ãŠããŸã ã»ã©ã®ã¯ã©ã¹ã§äœ¿çšããã宿°å€ãªã®ãããããã¥ãã â (æ¡2ïŒããçšåºŠæ¯äœãšãªãã¯ã©ã¹ã»ã¢ãžã¥ãŒã«ãæã€ã¢ãã«é¢ããŠã¯ããã«å ¥ããŠããŸã ããããã«åœãŠã¯ãŸããªãïŒã°ããŒãã«ã«äœ¿ããããªã¢ãïŒã«é¢ããŠã¯æ¡1ãšåãã«ãã äŸãã°ãäžèšã®å Žåã GdkSelectionType: GDK_SELECTION_TYPE_ATOM = 4, GDK_SELECTION_TYPE_BITMAP = 5, ããã¯ã Gdk::Selection::TYPE_ATOM Gdk::Selection::TYPE_BITMAP ãšãªããŸããäžèšã¯ãGdkSelectionTypeãæèããããããŸã§ãGDK_SELECTION_TYPE_*ãšãã æåã«çç®ããŠããããšã«ãªããŸãã ãã ãããã®äŸã§ã¯ãããŒã¹ãšãªãã¯ã©ã¹ã»ã¢ãžã¥ãŒã«ãååšããªãå ŽåããããŸãã ãããã¯ã Gtk::Justify::LEFT Gtk::Justify::RIGHT ã®ããã«ããŸãã å©ç¹ïŒ ã»rbbr.rbçã®ã¯ã©ã¹ãã©ãŠã¶èŠãå Žåã«ãã®ã¯ã©ã¹ãã©ã®ãããªå®æ°ãæã£ãŠããã®ã ããããããã ã»å®æ°çšã¢ãžã¥ãŒã«æ°ãæ¡1ã«æ¯ã¹å°ãªããŠæžã æ¬ ç¹ïŒ ã»GTK+ãã顿šããå Žåã¯å®éã®å®æ°å€ãã顿šããããã«ããå¿ èŠããã ãïŒããã¯æ¬ ç¹ã«ãªãã®ããª...ã«ãŒã«ãèŠããã°åé¡ãªããšæã£ãŠãŸãã â (æ¡3)ã¯ã©ã¹ã»ã¢ãžã¥ãŒã«ã®äžã§ããã«ãµãã¢ãžã¥ãŒã«åããã Gdk::Selection::Type::ATOM Gdk::Selection::Type::BITMAP Gtk::Justificationã®æ¹ã¯å€ãããªãã§ããã Gtk::Justification::LEFT Gtk::Justification::RIGHT ãšãªããŸãã å©ç¹ïŒ ã»include Gdk::Selection::Typeãªã©ãšããæžãæ¹ãå¯èœ æ¬ ç¹ïŒ ã»ã¢ãžã¥ãŒã«æ°ã¯æ¡1ãšåãæ°ã ãã§ãã ---- ã¯ã©ã¹ã»ã¢ãžã¥ãŒã«ãããããæ©èœã®ãŸãšãŸããã§ããããšã èãããšã宿°å€ãå«ããŠæ¡2ãè¯ãããªãšæã£ãŠããŸãã ãããã®æ¡ã§ããããã«ç¹åããããæ¹ã§ããã°èªåçæãã§ããã㪠æ°ã¯ããŠãŸãã®ã§ãçŽç²ã«ä»æ§ãšããŠã©ããæ¡çšããæ¹ãè¯ãããšãã éšåã§ã¿ãªããã®ççŽãªæèŠãã䌺ããããã§ãã ããã§ã¯ã -- .:% Masao Mutoh<mu...@hi...> |
|
From: Masao M. <mu...@hi...> - 2002-06-11 16:12:40
|
ããšãã§ãã On Tue, 11 Jun 2002 23:59:42 +0900 Masahiro Sakai <s01...@sf...> wrote: > From: Masao Mutoh <mu...@hi...> > Subject: Re: [ruby-gnome2-devel-ja] glib > Date: Fri, 7 Jun 2002 01:10:34 +0900 > > > > ãããªæãã®å®è£ ã§è¯ãã§ãããã? > > > > ã¯ããæ°ãåãããã > > ãã£ã¬ã¯ããªæ§æãšãã¯GTKã«ããããŠããã ããäžã§ > > CVSã«ãããŠããã ããŠãè¯ãã§ããã > > é ããªããŸããããglibã®æ¹ã¯è¥å¹²ä¿®æ£ããŠCVSã«å ¥ããŸããã ããããšãããããŸãïŒ > gtkã®æ¹ã«å¯Ÿãããããã¯ãgdkåšãã®å€æŽãã ãã¶å¿ èŠãããªã®ã§ã > ãŸã commitããŠããŸããã ããã§ããããã©ãããŸãããã ãããã倿Žããªãããªããªãã®ã¯ããã£ãŠããã®ã§ãããããŠã¡ãã ãŸãããïŒ ä»ã®CVSçã¯åãããšãæåŸ ããå¿ èŠã¯ãªããšæããŸããã ã©ãããŠãåãããã人ããããäœããšæããŸãã(^^;)ã ãšããã§ãã©ã€ã»ã³ã¹ã¯LGPLã§ããããããããLGPLã«ããæ¹ãèªç¶ãªã®ããã LGPLã§ãªãã®ã¯Ruby/GTKã§ããããäºååµããã®OKããããã ããšã¯Neilã«èããŠãå šéšãLGPLã§æããŸããããã -- .:% Masao Mutoh<mu...@hi...> |
|
From: Masahiro S. <s01...@sf...> - 2002-06-11 14:59:58
|
From: Masao Mutoh <mu...@hi...> Subject: Re: [ruby-gnome2-devel-ja] glib Date: Fri, 7 Jun 2002 01:10:34 +0900 > > ãããªæãã®å®è£ ã§è¯ãã§ãããã? > > ã¯ããæ°ãåãããã > ãã£ã¬ã¯ããªæ§æãšãã¯GTKã«ããããŠããã ããäžã§ > CVSã«ãããŠããã ããŠãè¯ãã§ããã é ããªããŸããããglibã®æ¹ã¯è¥å¹²ä¿®æ£ããŠCVSã«å ¥ããŸããã gtkã®æ¹ã«å¯Ÿãããããã¯ãgdkåšãã®å€æŽãã ãã¶å¿ èŠãããªã®ã§ã ãŸã commitããŠããŸããã -- ããã |
|
From: Masao M. <mu...@hi...> - 2002-06-06 16:10:41
|
ããšãã§ãã On Thu, 06 Jun 2002 23:40:26 +0900 Masahiro Sakai <s01...@sf...> wrote: > From: Masahiro Sakai <s01...@sf...> > Subject: [ruby-gnome2-devel-ja] Re: Ruby-GNOME2éå§ã«åœãã£ãŠ(1) > Date: Sat, 01 Jun 2002 16:11:12 +0900 > > > > ãšããã§ããã®èŸºå®è£ ããŸãã(^^;)ïŒãïŒãããããã > > > > ãã£ãŠã¿ãŸãã > > æã£ããããèŠæŠããŠãŸãã > > ã§ãããšããããsignal_connectåºæ¥ãããã«ãªã£ãã®ã§ã > çŸåšäœæ¥äžã®ã³ãŒãã > http://web.sfc.keio.ac.jp/~s01397ms/tmp/ruby-glib-20020606.tar.gz > http://web.sfc.keio.ac.jp/~s01397ms/tmp/ruby-gtk-20020606.diff > ã«çœ®ããŸããã ãã°ããããã¡ãã£ãšã ãããã£ãŠã¿ãŸããã ãŸã ãsampleãšãã§åããªãã®ãããã¿ããã§ããè¯ãæãã§ãã > ãããªæãã®å®è£ ã§è¯ãã§ãããã? ã¯ããæ°ãåãããã ãã£ã¬ã¯ããªæ§æãšãã¯GTKã«ããããŠããã ããäžã§ CVSã«ãããŠããã ããŠãè¯ãã§ããã ãã®ãšãã¯ãã¡ã€ã«ã®ãããã«ã³ããŒã©ã€ãã€ããŠãã ãããã ïŒã³ã¡ã³ãã®è±èªåã(^^;)ã -- .:% Masao Mutoh<mu...@hi...> |
|
From: Masahiro S. <s01...@sf...> - 2002-06-06 14:40:33
|
From: Masahiro Sakai <s01...@sf...> Subject: [ruby-gnome2-devel-ja] Re: Ruby-GNOME2éå§ã«åœãã£ãŠ(1) Date: Sat, 01 Jun 2002 16:11:12 +0900 > > ãšããã§ããã®èŸºå®è£ ããŸãã(^^;)ïŒãïŒãããããã > > ãã£ãŠã¿ãŸãã æã£ããããèŠæŠããŠãŸãã ã§ãããšããããsignal_connectåºæ¥ãããã«ãªã£ãã®ã§ã çŸåšäœæ¥äžã®ã³ãŒãã http://web.sfc.keio.ac.jp/~s01397ms/tmp/ruby-glib-20020606.tar.gz http://web.sfc.keio.ac.jp/~s01397ms/tmp/ruby-gtk-20020606.diff ã«çœ®ããŸããã ãããªæãã®å®è£ ã§è¯ãã§ãããã? -- ããã |
|
From: Masao M. <mu...@hi...> - 2002-06-03 12:56:24
|
ããšãã§ãã On Mon, 03 Jun 2002 03:16:50 +0900 Hiroshi IGARASHI <ig...@ru...> wrote: > ããããã§ãã > > ãªãããèšãèš³ããŸããåŒæãç¶ããŸããã > # å®éèšãèš³ã«éããªãã®ã§ãã... > ãããŸã§ã¡ã³ããåœæã®èãã説æããŠãã蚳㧠> ããèªåçæã«ãã ãã£ãŠããããã§ã¯ãªãã®ã§ã ããããããç§ã®æ¹ããã ãã£ãŠãããããããŸããã ãããã§ãããšå€§å€æ¥œãªã®ã§ã > At Sat, 1 Jun 2002 12:19:49 +0900, > Masao Mutoh <mu...@hi...> wrote: > > > > defsãã¡ã€ã«èªäœã¯èªåçæããããã®ã§ã¯ãªãã®ã§ããã ïŒãã£ããç¥ïŒ > èªåçæã«é¢ããŠã®äœæ¥ã¯å°ãªããšãåœé¢ã¯äžæ¢ããŠã > ä»ã®äœæ¥ã«æ³šåããããšæããŸãã äºè§£ã§ãã ãŸãã¯èªååã念é ã«ããŒã¹ã®éšåãæŽããŸããããã -- .:% Masao Mutoh<mu...@hi...> |
|
From: Hiroshi I. <ig...@ru...> - 2002-06-02 18:17:00
|
ããããã§ãã ãªãããèšãèš³ããŸããåŒæãç¶ããŸããã # å®éèšãèš³ã«éããªãã®ã§ãã... ãããŸã§ã¡ã³ããåœæã®èãã説æããŠãã蚳㧠ããèªåçæã«ãã ãã£ãŠããããã§ã¯ãªãã®ã§ã At Sat, 1 Jun 2002 12:19:49 +0900, Masao Mutoh <mu...@hi...> wrote: > > defsãã¡ã€ã«èªäœã¯èªåçæããããã®ã§ã¯ãªãã®ã§ããã ã¯ãã1.2æä»£ã¯ããããã¡ã€ã«çããçæããŠããŸãããã ãã€ãããçæããªãããšã«ãªã£ãããã§ãã ãã¡ããšçµç·¯ã調ã¹ãããã§ã¯ãããŸãããã ããããåèšèªãã€ã³ãã£ã³ã°ã®APIãããããã¡ã€ã«çãã å°ãåºãã«ã¯èªæã§ãªãæ å ±ãå¿ èŠã§ãçµå±æã§ã¡ã³ããããã åŸãªããšããããšã«ãªã£ãã®ã§ã¯ããšæããŸãã ãèªæã§ãªãæ å ±ããšããŠä»¥äžã®ãããªãã®ããããŸãã * ããã¡ãœãã(颿°)ã»å®æ°ãå±ãã¹ãã¯ã©ã¹ã»ã¢ãžã¥ãŒã« * ããã¯ã©ã¹ã»ã¢ãžã¥ãŒã«ã«å±ãããšããŠããã®åå * ã¡ãœããã®çç¥å¯èœåŒæ°ããã³ãã®ããã©ã«ãå€ * å ¬éãããªããžã§ã¯ã(æ§é äœ)ã®ã¡ã³ã ãã®ããããèšè¿°ã§ããããã«ãdefsãã¡ã€ã«ã® ãã©ãŒããããæ¡åŒµãããŠããŠããããã§ãã > > çŸåšã® gnome-python/pygtk/gtk/gdk.defs ã«ã¯å«ãŸããŠããŸãã > > äŸãã°Gdk::Drawable#draw_rgb_32_imageãªã以äžã®éãã§ãã (snip) > ã£ãŠãããããããæžããªãããããªãã£ãŠã³ãã§ããã...ã > ãŸããä»ã¯ããã§ã«gnome-pythonã®ããããšããããšã§ãããæµçšããããš > ããããšã ãšã¯æããŸãããå°æ¥çã«ã¯ã > ïŒgnome-pythonãæªãµããŒããªã¯ã©ã¹ã»ã¡ãœãããç¡ãå Žå㯠> ïŒç¬èªå®è£ ããããèªåã§äžèšãã©ãŒãããã®ãã¡ã€ã«ãäœã£ãŠpatchã > ïŒgnome-pythonã«éããããªããšãããªãã£ãŠã³ãã§ãããã ãŸããããããããšã«ãªããŸãããä»ã®å¢ããªã äž»èŠãªAPIã¯ã«ããŒããŠãããšæããŸããã > ããã®ä»æ§ãèŠããŠãããã颿°æ¯ã«æžããããããããã®ããŒã«ã > ã¡ã³ããã³ã¹ãã€ã€ãããã«Rubyã«ããWrapperãæžããšããããã»ã¹ > ãèããã®ãªããåŸæ¥éãCèšèªã§ããã°ã©ã æžããæ¹ãéããšæãã®ã¯ > ç§ã ãã§ããããã ç§ãã³ãŒããæžã人ãããŠã³ã³ãããŒã«ã§ããã° åŸæ¥éããéããšæããŸãã > > ãªãããæ£çŽãèªåçæã«åãæ¿ããã¡ãªãããããããªã > ãªã£ãŠããŸããã > ããããããã¥ãŒãã³ãšã©ãŒãç¡ããããšãã§ãããšããã®ã¯ > èªåçææã«ã¯åžžã«èšãããããšãªã®ã§ããã眮ããŠããããšããŠã ããã¯ãåœæã®ç§ã«ãšã£ãŠã¯å€§ããã£ãã®ã§ãã æªå®è£ éšåãè£ãããããã®ããããéã£ãŠããã ããŸãããã * å質ã»ã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ã«ãããããã * on-demandã«èªåãæ¬²ããã¡ãœããã»å®æ°ã ãå®è£ ããŠããã çããã£ãŠãããŒãžããè² è·ãé«ãã£ãã®ã§èªåçæã«åãã£ãŠããŸããã ãŸããã¡ããšã¡ã³ãããšããŠã³ã³ãããŒã«ã§ããªãã£ãã®ã ããããã®åå ã§ããã®ã§ãããã解決ã§ããã°åŸæ¥éãã§ åé¡ãªããšæããŸãã > ãã§ã«ãã*.defsãgnome-pythonããããã£ãŠããŠã > ããããããããããã®ããŒã«ã§Cã®ãœãŒã¹ãçæããŠã > ãããããŒã¹ã«Ruby-GNOMEã«ç¡ãã¡ãœãããã¯ã©ã¹ã»ã©ã€ãã©ãª(bonoboãªã©) > ãéçºãããšããããšã§ããã°åå䜿ãããšæãã®ã§ããã ã¯ããçŸåšã¯ããã§å åã ãšæã£ãŠããŸãã ãããã¯ãæªå®è£ ã©ã€ãã©ãªã«ã€ããŠã * èªåçæããAPIã«åŸããRubyãããAPIãæã§ãã¶ããã³ã¹ã (ãããã¯RubyãããAPIãåãããããã«ããŒã«ãã¡ã³ãããã³ã¹ã) * æåããC(+Ruby)ã§RubyãããAPIãå®çŸ©ã»å®è£ ããã³ã¹ã ã®åŸè ãå°ãããã°ãããŒã«ã䜿ãããšã¯ãªãã§ãããã Pythonããæ¡åŒµã©ã€ãã©ãªãæžãããã(äžéšéã®éšåããããŸãã) ããšããã£ãŠãããããå Žåã®æ¹ãå€ãã®ããç¥ããŸããã > ãããããããã«çæããããœãŒã¹ã远ã£ãŠã¯ããã®ã§è¿œå 質åã§ãã > > gtk_item_factory_create_items()ã®ããã«ãªããžã§ã¯ãã®é åã > æž¡ããããªã®ã¯ã©ããªã£ãŠããã®ã§ããããïŒ > defsã§å®çŸ©ãããåŒæ°ãé åãã©ãããã©ã®ããã«å€å¥ããŠããã®ã > ãšããããšãšãé åã®å Žåã¯åŒæ°ã®VALUEãé åã§ãããšããããé©å㪠> Cã®åã«å€æããéšåã«ã€ããŠç¥ãããã§ãã é åã«ã€ããŠã¯ãµããŒãããŠããŸããã At Sun, 2 Jun 2002 10:44:59 +0900, Masao Mutoh <mu...@hi...> wrote: > > æ§é äœã®ã¡ã³ããžã®ã¢ã¯ã»ã¹æ¹æ³ã£ãŠæäŸãããªã > ã®ã§ãããããgtkcustom.cã§å¯Ÿå¿ããã®ããªïŒ > ïŒ*.defsã«ã¯ç¡ãããã§ããã®ã§ã ãããæäŸããŠããŸããã æ§é äœã¡ã³ããçŽæ¥ã¢ã¯ã»ã¹ããŠãããã®ãšãŸãããã®ãããã®ã§ã gnome-pythonã®æ°ããdefsãã¡ã€ã«ã§ã¯æç€ºçã«å¿ èŠãªã¡ã³ãåã èšè¿°ããããã«ãªã£ãŠããŸãããããšããããããã«å¯Ÿå¿ãã ã¡ãœãããçæããã®ã§ããããã©... ããããŠèããŠã¿ããšãããããæ€èšããŠé ãã»ã©ã®ãã®ã§ã¯ ãªãã£ããããäœèšãªãæéãåãããŠããŸããã¿ãŸããã§ããã èªåçæã«é¢ããŠã®äœæ¥ã¯å°ãªããšãåœé¢ã¯äžæ¢ããŠã ä»ã®äœæ¥ã«æ³šåããããšæããŸãã -- äºååµ å® (Hiroshi IGARASHI) |
|
From: Masao M. <mu...@hi...> - 2002-06-02 01:45:04
|
ããšãã§ãã ããã«è¿œå ã§è³ªåã§ãã æ§é äœã®ã¡ã³ããžã®ã¢ã¯ã»ã¹æ¹æ³ã£ãŠæäŸãããªã ã®ã§ãããããgtkcustom.cã§å¯Ÿå¿ããã®ããªïŒ ïŒ*.defsã«ã¯ç¡ãããã§ããã®ã§ã -- .:% Masao Mutoh<mu...@hi...> |
|
From: Masao M. <mu...@hi...> - 2002-06-01 10:22:27
|
ããšãã§ãã On Sat, 01 Jun 2002 16:11:12 +0900 Masahiro Sakai <s01...@sf...> wrote: > ããããäžã€çç±ããããŸããã > gtkã®æ¹ã¯ãŠã£ã³ããŠã·ã¹ãã æ¯ã«å¥ã®ãã€ããªãå¿ èŠãªã®ã§ã > ãŠã£ã³ããŠã·ã¹ãã ã«äŸåããªãglibã¯åããæ¹ãæ°æè¯ãããã ããã¯æ°ã¥ããŸããã§ããã > > ãšããã§ããã®èŸºå®è£ ããŸãã(^^;)ïŒãïŒãããããã > > ãã£ãŠã¿ãŸãã > ãé¡ãããŸããã ïŒç§ãäœãã³ãŒãæžããªããšã ãª....ã -- .:% Masao Mutoh<mu...@hi...> |
|
From: Masao M. <mu...@hi...> - 2002-06-01 10:20:33
|
ããšãã§ãã On Sat, 01 Jun 2002 16:19:41 +0900 Masahiro Sakai <s01...@sf...> wrote: > From: Masao Mutoh <mu...@hi...> > Subject: Re: [ruby-gnome2-devel-ja] Re: Ruby-GNOME2éå§ã«åœãã£ãŠ(1) > Date: Sat, 1 Jun 2002 01:26:56 +0900 > > > > ã§ãgtk2.rbã§requrie 'glib'ããŠããã°GTK+ãŠãŒã¶ã®äœ¿ãåæã¯ > > > å€ãããªãããç©æ¥µçã«å察ããŠããããã§ã¯ãªãã§ãã > > > > æ°åã§çããŸãïŒããããããããã£ãšæèŠãå€ãããããããŸãããïŒãã > > ä»ã®ãšãããgtk2.rbã§require 'glib'ããå¿ èŠãæããŸããã > > Gimp-Rubyã®çµéšããèšããšãããã¯requireããŠããå¿ èŠããããŸãã > > ã¿ã€ãã·ã¹ãã çãglibããŒã¹ã«ãããšã > gtk2.soã¯glib2.soå ã®ã·ã³ãã«ãåç §ããããšã«ãªãã®ã§ã > gtk2.soãããå ã«glib2.soãããŒããããŠããªããš > ã·ã³ãã«ãè§£æ±ºåºæ¥ãªããªã£ãŠããŸããŸãã ãããããªãã§ãããèãåã°ãã§ããããããããã(^^;)ã -- .:% Masao Mutoh<mu...@hi...> |
|
From: Masahiro S. <s01...@sf...> - 2002-06-01 07:19:45
|
From: Masao Mutoh <mu...@hi...> Subject: Re: [ruby-gnome2-devel-ja] Re: Ruby-GNOME2éå§ã«åœãã£ãŠ(1) Date: Sat, 1 Jun 2002 01:26:56 +0900 > > ã§ãgtk2.rbã§requrie 'glib'ããŠããã°GTK+ãŠãŒã¶ã®äœ¿ãåæã¯ > > å€ãããªãããç©æ¥µçã«å察ããŠããããã§ã¯ãªãã§ãã > > æ°åã§çããŸãïŒããããããããã£ãšæèŠãå€ãããããããŸãããïŒãã > ä»ã®ãšãããgtk2.rbã§require 'glib'ããå¿ èŠãæããŸããã Gimp-Rubyã®çµéšããèšããšãããã¯requireããŠããå¿ èŠããããŸãã ã¿ã€ãã·ã¹ãã çãglibããŒã¹ã«ãããšã gtk2.soã¯glib2.soå ã®ã·ã³ãã«ãåç §ããããšã«ãªãã®ã§ã gtk2.soãããå ã«glib2.soãããŒããããŠããªããš ã·ã³ãã«ãè§£æ±ºåºæ¥ãªããªã£ãŠããŸããŸãã -- ããã |
|
From: Masahiro S. <s01...@sf...> - 2002-06-01 07:11:18
|
From: Masao Mutoh <mu...@hi...> Subject: Re: [ruby-gnome2-devel-ja] Re: Ruby-GNOME2éå§ã«åœãã£ãŠ(1) Date: Fri, 31 May 2002 20:31:44 +0900 > > > glibé¢ä¿ã®ã³ãŒãã¯glibçšã®æ°ããæ¡åŒµã©ã€ãã©ãªãäœããŸãããã? > > > ãããšãgtkæ¡åŒµã©ã€ãã©ãªã®æ¹ã«å ¥ããŠããŸããŸãããã? > > > > ãã¶ãRubyããglibã ãã䜿ãããšã¯ãªãã®ã§ã > > gtkã«ãŸãšããŠãããããªãšç§ã¯æããŸããã > > ããã¯åããŸãããã > > ã»GTK+ãšïŒã€ã«ãŸãšããã«ã¯å€§ãããã > ã»ãããããããGLibã®ã¿ã䜿ããã人ããããããããªãã ããããäžã€çç±ããããŸããã gtkã®æ¹ã¯ãŠã£ã³ããŠã·ã¹ãã æ¯ã«å¥ã®ãã€ããªãå¿ èŠãªã®ã§ã ãŠã£ã³ããŠã·ã¹ãã ã«äŸåããªãglibã¯åããæ¹ãæ°æè¯ãããã > ãšããã§ããã®èŸºå®è£ ããŸãã(^^;)ïŒãïŒãããããã ãã£ãŠã¿ãŸãã -- ããã |