From: ·······@ukpr.uky.edu
Subject: LispView ?'s for Open-look
Date: 
Message-ID: <1992Oct5.202714.6660@afterlife.ncsc.mil>
Three quick questions:
1)  How does one do a refresh/repaint of a panel from LispView on the Sun?   
I've been doing graphics on a panel, when another window goes on top and then  
is moved again, the graphics aren't refreshed.  Am I approaching this the wrong  
way?  Also, is there an easy way to erase a panel (other than destroying it and  
putting a new one in its place, or overwriting with a filled rectangle)?
2)  Is there a way to get multi-line text-fields (again from LispView)?  The  
DevGuide 3.0 seems to have allowances for this, but when I convert it to code  
with glv it not only makes the field a single line but makes it a numeric  
field.
3)  Where can I find source for the MOUSE-EVENT-SPEC-P code?  I'm trying to  
read double clicks on the mouse.  I can do just great by putting (:left :down)  
in the relevant spot, but when I try (:left :click2) it fails.  The manuals  
don't shed copious enlightenment for me.
Thanks,
Matt Cutts -- ·······@ukpr.uky.edu or ·······@afterlife.ncsc.mil

From: Haitham Lababidi
Subject: Re: LispView ?'s for Open-look
Date: 
Message-ID: <1992Oct6.085019.23558@chemeng.ed.ac.uk>
In article ····@afterlife.ncsc.mil, ·······@ukpr.uky.edu () writes:
>Three quick questions:
>1)  How does one do a refresh/repaint of a panel from LispView on the Sun?  

If whatever graphics you draw on the panel doesn't change, then set the
"backing-store" argument to non-nil, i.e.

(make-instance 'panel :backing-store t ........)

This maintains a backup copy of the panel and handle damage events by copying from
the backup to the screen.

Alternatively, add a damage event to the interests of the panel, and define
the method to handle this event. This method should clear the panel and repaint it.

To define a damage interest:

(push (make-instance 'damage-interest) (interests <your-panel>))

(defmethod receive-event ((object panel) (interest damage-interest) event)
   (clear-panel object)     ;; see below
   (repaint-panel object))  ;; define your repaint function

(defmethod clear-panel ((object panel))
   (let ((br (bounding-region object)))
       (draw-rectangle object 0 0 (region-width br) (region-height br)
                       :operation boole-clr :fill-p t)))

>2)  Is there a way to get multi-line text-fields (again from LispView)? 

I don't think so.

>3)  Where can I find source for the MOUSE-EVENT-SPEC-P code?  I'm trying to  
>read double clicks on the mouse.  I can do just great by putting (:left :down)  
>in the relevant spot, but when I try (:left :click2) it fails.  The manuals  
>don't shed copious enlightenment for me.

The correct way to define double click event is

(make-instance 'mouse-interest :event-spec '(() (:left :click2)))

>Thanks,
>Matt Cutts -- ·······@ukpr.uky.edu or ·······@afterlife.ncsc.mil

---
     _/    _/  _/    Dr. Haitham Lababidi    \_    \_  \_   
    _/    _/  _/     Dept. of Chemical Eng.   \_    \_  \_
   _/    _/  _/      University of Edinburgh   \_    \_  \_
  _/_/_/_/  _/       Tel  +44 31 650 4862       \_\_\_\_  \_
 _/    _/  _/        Email ·······@uk.ac.ed      \_    \_  \_
_/    _/  _/_/_/_/                                \_    \_  \_\_\_\_
From: Brad Myers
Subject: Re: LispView ?'s for Open-look
Date: 
Message-ID: <BvpMMM.GE0.2@cs.cmu.edu>
>1)  How does one do a refresh/repaint of a panel from LispView on the Sun?   
>2)  Is there a way to get multi-line text-fields (again from LispView)?  
>3)  ...  I'm trying to read double clicks on the mouse.
>Thanks,
>Matt Cutts -- ·······@ukpr.uky.edu or ·······@afterlife.ncsc.mil



It probably doesn't matter to you but the Garnet UIDE for Lisp and X/11
does 1) refresh automatically, 2) has built-in support for multi-line,
multi-font text, with mouse-based editing, and 3) built-in support for
double-clicking (just specify the event as :double-leftdown instead of
:leftdown or whatever).

More details on Garnet are available by fingering ······@a.gp.cs.cmu.edu.

Brad A. Myers
School of Computer Science
Carnegie Mellon University
5000 Forbes Avenue
Pittsburgh, PA  15213-3890
(412) 268-5150
FAX: (412) 681-5739
···@a.gp.cs.cmu.edu
From: Brad Myers
Subject: Lisp for PC
Date: 
Message-ID: <BvpMz3.Gqw.2@cs.cmu.edu>
You usually see requests here for Free Lisps on PCs, which is well-covered
by the FAQ, but I want to know the 

	* BEST AND FASTEST LISP FOR THE PC under Unix and X/11

It doesn't matter so much what the cost is, I just need 
a really fast lisp.  486 machines can run C programs that use X/11 about as
fast as a SPARC 1, but are there optimized Lisps that run as fast on a PC 
as on a SPARC?  How well do graphics work through CLX?

Any leads and especially experience from users will be appreciated.  I will
summarize to the net.

Brad A. Myers
School of Computer Science
Carnegie Mellon University
5000 Forbes Avenue
Pittsburgh, PA  15213-3890
(412) 268-5150
FAX: (412) 681-5739
···@a.gp.cs.cmu.edu
From: Len Charest
Subject: Re: LispView ?'s for Open-look
Date: 
Message-ID: <1992Oct7.185330.21889@jpl-devvax.jpl.nasa.gov>
In article <····················@afterlife.ncsc.mil>, ·······@ukpr.uky.edu writes:

|> 2)  Is there a way to get multi-line text-fields (again from LispView)?  The  
|> DevGuide 3.0 seems to have allowances for this, but when I convert it to code  
|> with glv it not only makes the field a single line but makes it a numeric  
|> field.

LispView does not support all of the features of Devguide 3.0. However, this does
not mean that you can't have multiline text fields. You'll simply have to manually
program the calls to the appropriate XView routines. (Then if your really
adventurous you can hack the GLV source so that it properly translates the
Devguide GIL commands for generating multiline text fields.)
..................................................
                                  Len Charest, Jr.
                 JPL Artificial Intelligence Group
                          ·······@aig.jpl.nasa.gov