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
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 \_ \_ \_
_/ _/ _/_/_/_/ \_ \_ \_\_\_\_
>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
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
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