Path: news.cs.au.dk!not-for-mail From: Anders Kaare Olsen Newsgroups: daimi.beta Subject: Tooltip og figureItems Date: Sat, 15 Apr 2000 13:29:19 +0200 Organization: University of Aarhus, Department of Computer Science (DAIMI) Lines: 91 Message-ID: <38F8528F.5E6455F7@cs.au.dk> NNTP-Posting-Host: saratoga.cs.au.dk Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: xinwen.cs.au.dk 955798159 15508364 255.255.255.255 (15 Apr 2000 11:29:19 GMT) X-Complaints-To: news@cs.au.dk NNTP-Posting-Date: 15 Apr 2000 11:29:19 GMT X-Mailer: Mozilla 4.7C-SGI [en] (X11; I; IRIX64 6.5 IP30) X-Accept-Language: en Xref: news.cs.au.dk daimi.beta:10479 Jeg har lidt problemer med Beta's ToolTip. Jeg vil gerne tegne en masse rektangler på skærmen, og så få et tooltip frem når man holder musen over dem. I den forbindelse har jeg kikket på demoen: smallToolTipDemo.bet, og udvidet den til /users/ako/tmp/mysmallToolTipDemo.bet. Jeg vedlægger også koden i slutningen af denne besked. Hvis jeg tegner et rect fra figureitems og prøver at tilknytte et ToolTip til dette vha. addToolTip, går programmet ned med en Segmentation fault (ses hvis man fjerner udkommenteringen fra min kode). Jeg kan derimod godt tilknytte et ToolTip til et canvas, så en måde at løse problemet på kunne være at tegne et canvas og udfylde dette med et rect. Det har jeg også prøvet i mysmallToolTipDemo. Her er problemet så bare, at ToolTippet kommer frem lidt før musen når kanten på firkanten. Desunden syntes jeg ikke at løsningen med en masse canvasser som kun består af et rect er særlig smart. Er der nogen som har andre forslag? Venlig hilsen Anders Kåre Olsen. [mysmallToolTipDemo.bet] ORIGIN '~beta/guienv/guienv'; INCLUDE '~beta/guienv/utils/tooltip'; INCLUDE '~beta/guienv/figureitems'; INCLUDE '~beta/guienv/controls' --PROGRAM: descriptor-- guienv (# AWindow: window (# myBtn: @pushButton (# open:: (# do (50,50) -> size; (10,10) -> position; 'Ok' -> label; #); #); open:: (# do (100,300) -> size; myBtn.open; myCanvasTip.open; myRect.open; #); myRect:@rect (# open::< (# do (10,110)->position; (50,50)->size; patterns.white[]->fill.tile; (65000,0,0)->fill.backgroundColor; INNER; #); #); myCanvasTip:@canvas (# open::< (# do (10,210)->position; (50,50)->size; myCanvasRect.open; #); myCanvasRect:@rect (# open::< (# do (0,0)->position; (50,50)->size; patterns.white[]->fill.tile; (65000,0,0)->fill.backgroundColor; INNER; #); #); #); eventHandler:: (# onAboutToClose:: (# do terminate; #); #); #); w1:@Awindow; do w1.open; 'tip1'->w1.myBtn.addToolTip; (* 'tip2'->w1.myRect.addToolTip; *) 'tip3'->w1.myCanvasTip.addToolTip; #)