From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.6 Path: eternal-september.org!reader02.eternal-september.org!aioe.org!Hx95GBhnJb0Xc8StPhH8AA.user.46.165.242.91.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: GtkAda callback and event Date: Sun, 12 Sep 2021 15:57:55 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <6133e791$0$6461$426a74cc@news.free.fr> <6134cb26$0$3697$426a74cc@news.free.fr> <6134db32$0$6461$426a74cc@news.free.fr> <6134dc71$0$3693$426a74cc@news.free.fr> <6134e03d$0$3372$426a74cc@news.free.fr> <61352d42$0$3749$426a74cc@news.free.fr> <944e2cf6-2e24-480e-b7f7-0e0e0f5082e7n@googlegroups.com> <6139be6f$0$12704$426a74cc@news.free.fr> <757da468-7b58-43c2-95e6-917b3212f7b2n@googlegroups.com> <613bc32d$0$27421$426a74cc@news.free.fr> <613cca39$0$29491$426a34cc@news.free.fr> <613dfa06$0$5001$426a74cc@news.free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gioia.aioe.org; logging-data="55617"; posting-host="Hx95GBhnJb0Xc8StPhH8AA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:62716 List-Id: On 2021-09-12 15:00, DrPi wrote: > Le 12/09/2021 à 10:52, Dmitry A. Kazakov a écrit : >> On 2021-09-12 09:08, AdaMagica wrote: >>> DrPi schrieb am Samstag, 11. September 2021 um 17:24:45 UTC+2: >>>> Even if I just started using GtkAda, I find it very powerful. >>>> The big problem is documentation. Of course, there are the reference >>>> manual and the (small) user guide but I miss a document explaining the >>>> use of all these functionalities. >>> >>> A good introduction into GtkAda is direly needed. Trial and error >>> cost me >>> enormously much time. >>> The GtkAda UG and RM are a bad joke. >> >> I think you rather mean GTK introduction because GtkAda follows GTK to >> the letter. > I don't fully agree with you. > I already found Gtk examples I've not been able to use directly with > GtkAda because of Ada implementation. Or at least, it was not the best > way to do things. Well, you are supposed to use GValues in GTK. GtkAda just makes life much easier for you by adding a typed layer to connect and handle the events. How it works is well explained in the documentation. E.g. https://docs.adacore.com/live/wave/gtkada/html/gtkada_ug/signals.html The problem is that you started with that, skipped reading for later because it was too much reading. If you had started the GTK's way first, namely with GValues, then after pulling much hairs, read the stuff more carefully, then you would rather say, "Aha, that is a much better way to do this. Thanks." > Mostly due to the GtkAda OO implementation. Events and > customized widgets are good examples. Right, because when you begin with GtkAda with no prior knowledge of GTK, you are at a complete loss. Luckily, you do not yet understand how deep is the abyss! (:-)) > I also loose big amount of time searching for how to do things. Because GTK is a mess. Nobody ever knows how to do this or that in GTK. I keep the GTK sources at hand to consult to just to understand what is going on. [ It was a lot easier a decade ago, when Google was a search engine and GTK topics were not spammed into oblivion by Python and C# garbage sites. ] > I think the the tutorial I've found is a good one to start. > It starts from scratch which is not as easy as one could think it is : a > basic application never ends. The main window closes but the exe never > stops. Quite disturbing. Then the tutorial is broken. If you look at GtkAda samples and tests they all contain the basic GTK frame with On_Delete_Event and On_Destroy. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de