guile-gtk-general
[Top][All Lists]
Advanced

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

how to use [gtk-object-]destroy ?


From: Jan Nieuwenhuizen
Subject: how to use [gtk-object-]destroy ?
Date: Sun, 13 Jun 2004 13:03:30 +0200
User-agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux)

I can't seem to use (destroy) on a <gnome-canvas-text>.  Yet it
derives from <gnome-canvas-item>, which derives from <gtk-object>,
which has a destroy method defined, gtk.defs says

    (define-method destroy
      (of-object "GtkObject")
      (c-name "gtk_object_destroy")
      (return-type "none")
    )

However, with

    (debug-enable 'debug)
    (debug-enable 'backtrace)
    (use-modules
     (guile)
     (gnome gtk)
     (gnome gtk gdk-event)
     ;; the name of the module will change to canvas rsn
     ;;(gnome gw libgnomecanvas))
     (gnome gw canvas))

    (let* ((canvas (make <gnome-canvas>))
           (canvas-root (root canvas))
           (item (make <gnome-canvas-text>
                   #:parent canvas-root
                   #:x 0 #:y 0
                   #:font "new century schoolbook, i bold 20"
                   #:size-points 12
                   #:size-set #t
                   #:fill-color "black"
                   #:text "bye"
                   #:anchor 'west)))
        (write item)
        (destroy item))

I get

    $ guile -s scm/foe.scm
    (gnome gtk): [glib gobject atk pango gdk gtk support]
    #<<gnome-canvas-text> 40dbcdb0>Backtrace:
    In unknown file:
       ?: 0* (let* ((canvas #) (canvas-root #) (item #)) (write item) (destroy 
item))
       ?: 1  [destroy #<<generic> destroy (2)> (#<<gnome-canvas-text> 
40dbcdb0>)]
       ?: 2* [memoize-method! #<<generic> destroy (2)> (# #) (address@hidden 
args 1 # ...)]
       ?: 3* (let ((applicable #)) (cond (applicable #) (# #) (#t # # #)))
       ?: 4  (cond (applicable #) (# #) (#t # # #))
       ...
       ?: 5  [scm-error goops-error #f ...]

    <unnamed port>: In procedure scm-error in expression (scm-error (quote 
goops-error) #f ...):
    <unnamed port>: No applicable method for #<<generic> destroy (2)> in call 
(destroy #<<gnome-canvas-text> 40dbcdb0>)


This may be more of a goops question than a guile-gnome one: how do I
find out what methods are available for ITEM above, why is guile trying
#<<GENERIC> rather than using gtk-object-destroy?

Jan.

-- 
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien       | http://www.lilypond.org





reply via email to

[Prev in Thread] Current Thread [Next in Thread]