[Glade-users] glade-3 and user data



Hmm...
When I run this ($ pyton ./myglade) it prints:
./myglade:15: GtkWarning: Could not lookup object somedata on signal clicked
of object button
  builder.connect_signals(self)

"somedata" is the data I entered in the User Data field in Glade.

Anyway, I printed the values of all parameters the signal handler received:

    def on_button_clicked(self, widget, data=None):
        print self
        print widget
        print data

And I see:
<__main__.MyClass object at 0xb7d9aaec>
<gtk.Button object at 0x9abf6bc (GtkButton at 0x9b6d820)>
None

I was expecting to see that "print self" printed "somedata"...

(First time using these mailing lists too... very confusing, so I hope this
reply works)

keith


On Tue, Jun 2, 2009 at 10:20 AM, Alexey Kurochkin
<alexey.kurochkin at pathfinderlwd.com> wrote:
On Mon, 2009-06-01 at 22:06 -0400, Keith Eberle wrote:
Hi all,

I'm using a combination of Glade3/PyGTK to start my GTK+ learnings.
I'm starting off fresh with the GtkBuilder way too.  Doing well so
far, but I'm having trouble using the "User Data" field in Glade.  I
found another message about this,
http://lists.ximian.com/pipermail/glade-users/2009-April/004314.html,
but I don't really understand what to do.

Using this as an example, what do I have to do differently?

class MyClass(object):
  def __init__(self):
    builder = gtk.Builder()
    builder.add_from_file('myglade.xml')
    builder.connect_signals(self)

I assume that was the "autoconnect" method described in that other
post.  I tried something like this, but still doesn't work:

class MyClass(object):
  def __init__(self):
    builder = gtk.Builder()
    builder.add_from_file('myglade.xml')
    builder.connect_signals({
        'on_button_clicked': self.on_button_clicked,
    })

  def on_button_clicked(self, widget, user_data=None):
    print user_data

Here, if you put something into "User data" field in your glade file, it
will appear as self, and the button object itself will appear as
user_data. That what it means "swapped". At least that how it was in
glade 3.4.x, I did not check if builder still does that, though.

GtkBuilder did not change in that respect, what we need is to
add api to builder signal parsing so that the swapped flag to
signal connect can be optional (this will be less confusing of course).

Cheers,
          -Tristan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/glade-users/attachments/20090605/df5a2ad4/attachment-0001.html 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]