From mboxrd@z Thu Jan 1 00:00:00 1970 Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Gavin McCord Newsgroups: comp.lang.ada Subject: On_Button_Press_Event in Text_View Date: Tue, 13 Aug 2024 11:37:09 -0000 (UTC) Organization: A noiseless patient Spider Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Tue, 13 Aug 2024 13:37:10 +0200 (CEST) Injection-Info: dont-email.me; posting-host="d4c68536e7045d7f90d0c27d81c453ed"; logging-data="4066463"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18pvZWUmHS234H/h2ulL1wWAJ7o/8TpJctvoL/0ZpM56g==" User-Agent: Pan/0.149 (Bellevue; 4c157ba git@gitlab.gnome.org:GNOME/pan.git) Cancel-Lock: sha1:SHKy1jeQ+JQkWR7SwVV+qcJgwMg= Xref: news.eternal-september.org comp.lang.ada:66300 List-Id: Using gtkada (gtk3), is it possible to use a custom handler to deal with a button-press-event (or other events if necessary) inside a widget such as a Text_View? For example I create a Text_View with buffer. To process a button-press within that view I have this code in my main procedure: The_View.On_Button_Press_Event (Press_CB'Access); The_View.Set_Events (The_View.Get_Events or Button_Press_Mask); The callback looks like this: function Press_CB (Self : access Gtk_Widget_Record'Class; Event : Gdk_Event_Button) return Boolean is begin Put_Line ("Mouse click in text view"); return True; end Press_CB; So far, so good. But I'd like to pass additional data to the callback, without using global variables/records if it can be avoided. I have a custom handler used when I update the Text_Buffer: Button_Callback.Connect (Update_Button, "clicked", Update_Clicked'Access, Buffer_To_Pass); That works fine so I was imagining something similar might be possible, but I've run through various permuations of records and access types but not yet got a working callback. Any help gratefully received (I can post the full code if that's useful). Kind regards, Gavin McCord