This is the mail archive of the guile-gtk@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: my first of two problems


Hi,

maybe this is of help?  With this code, a dialog pops up, but there
are no buttons in it...

#! /bin/sh
exec guile-gtk -s $0 $*
!#

(use-modules (gtk gtk))

(define (print-private tip-text tip-private)
  (let ((d (gtk-dialog-new))
        (l (gtk-label-new (if (string=? tip-private "")
			      tip-text
			      tip-private))))
    (gtk-signal-connect d "destroy" (lambda () (gtk-widget-destroy d)))
    (gtk-box-pack-start (gtk-dialog-vbox d) l #f #f 0)
    (gtk-widget-show-all d)))


(let ((w (gtk-window-new 'toplevel))
      (vb (gtk-vbox-new #f 0))
      (tips (gtk-tooltips-new))
      (menu (gtk-menu-bar-new))
      (d-area (gtk-drawing-area-new))
      (tips-query (gtk-tips-query-new)))

;;; set attributes
  (gtk-signal-connect w "destroy" gtk-main-quit)
  (gtk-container-add w vb)
  (gtk-drawing-area-size d-area 300 200)

;;; pack vbox
  (gtk-box-pack-start vb menu #f #f 0)
  (gtk-box-pack-start vb tips-query #f #f 0)
  (gtk-box-pack-start vb d-area #f #f 0)

;;; signal connect tips-query(MY PROBLEM IS HERE!!!)  i do not know
;;; how to define this callback (everything cruises until this
;;; callback)
  (gtk-signal-connect tips-query "widget-selected"
		      (lambda (widget tip-text tip-private event)
			(print-private tip-text tip-private)))

;;; menu stuff
  (let ((file-item (gtk-menu-item-new-with-label "File")))
    (gtk-menu-bar-append menu file-item)
    (gtk-tooltips-set-tip tips file-item "Left click" 
			  "inside you'll find nothing\nit's a dummy item!")
    (gtk-widget-show file-item))

  (let ((help-item (gtk-menu-item-new-with-label "Help")))
    (gtk-menu-bar-append menu help-item)
    (gtk-widget-show help-item)

;;; submenu
    (let ((help-menu (gtk-menu-new)))
      (gtk-menu-item-set-submenu help-item help-menu)
      (gtk-widget-show help-menu)

;;; here the activate does the "start query" just fine
      (let ((query-item (gtk-menu-item-new-with-label "What's this?")))
	(gtk-signal-connect query-item "activate"
			    (lambda ()
			      (gtk-tips-query-start-query tips-query)))
	(gtk-menu-append help-menu query-item)
	(gtk-widget-show query-item))))

  (gtk-widget-show-all w)
  (gtk-standalone-main w))

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]