comp.lang.ada
 help / color / mirror / Atom feed
From: Alain De Vos <devosalain71@gmail.com>
Subject: Re: gtkada Connecting via the Gtk.Handlers object_connect problem
Date: Sun, 3 Nov 2019 05:26:35 -0800 (PST)
Date: 2019-11-03T05:26:35-08:00	[thread overview]
Message-ID: <fdcf0b25-4ca9-4d34-a13d-b24cb3d95c1b@googlegroups.com> (raw)
In-Reply-To: <qpmj7n$1pcs$1@gioia.aioe.org>

On Sunday, November 3, 2019 at 2:03:55 PM UTC+1, Dmitry A. Kazakov wrote:
> On 2019-11-03 12:37, Alain De Vos wrote:
> > I try an application with one button and one label and one handler
> > 
> > http://docs.adacore.com/live/wave/gtkada/html/gtkada_ug/signals.html#second-case-using-object-connect-instead
> > -------------------------
> > I have a file myvboxpak.ads ->
> > package myvboxpak is
> > 
> >     type MyVBoxR is new Gtk_VBox_Record with record
> >        Button : Gtk_Button;
> >        Label  : Gtk_Label;
> >     end record;
> >     type MyVBoxT is access all MyVBoxR'Class;
> > 
> >     package MYCB is new Gtk.Handlers.User_Callback(Glib.Object.GObject_Record,MyVBoxT);
> > 
> >     procedure MyButtonClick (T : MyVBoxR'Class);  --eventhandler                                ^^^^^^^^^^^^^^^^^^^
> Should have been               T : access MyVBoxR'Class
> 
> -- 
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de

I changed the handler to :
package body myvboxpak is
   procedure MyButtonClick (T : access MyVBoxR'Class) is
   begin
      begin
         T.Button.Set_Label ("You pressed");
    ...

Compile error of the connect_object function is still :
MYCB.Object_Connect
           (Widget => MYVBOX.Button,  
            Name   => "clicked",
            Marsh  => MYCB.To_Marshaller (MyButtonClick'Access),  --  The signal handler
            Slot_Object =>Top,
            User_Data => MYVBOX
            );
Error : 
Compile
   [Ada]          hello.adb
hello.adb:35:27: no candidate interpretations match the actuals:
hello.adb:35:56: expected type "Handler" defined at gtk-marshallers.ads:546, instance at gtk-handlers.ads:1164, instance at myvboxpak.ads:17
hello.adb:35:56: found type access to procedure "MyButtonClick" defined at line 35
hello.adb:35:56:   ==> in call to "To_Marshaller" at gtk-handlers.ads:1205, instance at myvboxpak.ads:17





  reply	other threads:[~2019-11-03 13:26 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-03 11:37 gtkada Connecting via the Gtk.Handlers object_connect problem Alain De Vos
2019-11-03 13:03 ` Dmitry A. Kazakov
2019-11-03 13:26   ` Alain De Vos [this message]
2019-11-03 15:23     ` Alain De Vos
2019-11-03 15:24       ` Alain De Vos
2019-11-03 21:46         ` Alain De Vos
2019-11-04 23:44 ` Alain De Vos
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox