From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!newsfeed.kamp.net!newsfeed.kamp.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: hreba Newsgroups: comp.lang.ada Subject: Re: Where do I get my Cairo context from (in GTK3)? Date: Tue, 26 Apr 2016 09:34:54 +0200 Message-ID: References: <0a9cf35e-45ba-49c1-9d6a-4a0da3457e70@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net uXOVyJ3oZSJhHwnO3ygtuQbZWWEZItyI+/xMBiQ9cqZLaPyobu Cancel-Lock: sha1:q1ijN7vYe2u0m1+Bt3Kq97NF4aA= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 In-Reply-To: <0a9cf35e-45ba-49c1-9d6a-4a0da3457e70@googlegroups.com> Xref: news.eternal-september.org comp.lang.ada:30287 Date: 2016-04-26T09:34:54+02:00 List-Id: On 04/26/2016 09:22 AM, briot.emmanuel@gmail.com wrote: >> Is it Signal_Name in Connect? Recent GtkAda changes broke a lot of >> things. Try a plain string literal instead. > > No they did not :-) > > In fact, the code can be much simplified now: > > function Custom_Draw > (Self : access Gtk_Widget_Record'Class; > Cr : Cairo.Cairo_Context) return Boolean is ... > > Obj.On_Draw (Custom_Draw'Access); -- defined in gtk-widget.ads > > No need for the marshallers any more in almost all cases. I recommend using > the new On_* procedures defined in all the GtkAda packages, they might signal > handling much easier, and safer too (since the compiler can check statically that > the signal is valid for the given widget) > I would use On_* procedures if I didn't need user data. Until now no success. -- Frank Hrebabetzky +49 / 6355 / 989 5070