This is the mail archive of the
guile-gtk@sourceware.cygnus.com
mailing list for the Guile project.
Re: my first of two problems
- To: bert <adelante at spinn dot net>
- Subject: Re: my first of two problems
- From: Marius Vollmer <mvo at zagadka dot ping dot de>
- Date: 21 May 2000 15:41:43 +0200
- Cc: guile-gtk <guile-gtk at sourceware dot cygnus dot com>
- References: <391F1963.90FE7B69@spinn.net>
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))