[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re-defining the problem: String Blinkers & Dynamic Windows

Unfortunately, I was not clear about how I wanted to use string
blinkers in a dynamic window.  David Loeffler's examples produce
a box around multiple string and/or graphic ojects (i.e. circle)
when the mouse is over that presentation.
The functionality that I want and had under Release 6.1, is to
have a string presentation object ("task 1"), such that when I move
the mouse over it, its mouse handler can sent a message 
(e.g. send resource-1 :set-visibility :blink) 
to another presentation object ("resource 1", a string blinker) 
to cause its string of characters to blink and when I move 
the mouse off "task 1" presentation, a message is sent to resource-1
(e.g. send resource-1 :set-visibility t) to stop blinking.  
Also, when I move the mouse over the presentation
resource-1, it has a mouse handler which performs other functions.

I hope this clears up what kind of functionality I am searching for.
The previous postings follow:

Date: Fri, 15 Jan 88 08:25 CST
From: David D. Loeffler <Loeffler@MCC.COM>
Subject: String Blinkers & Dynamic Windows

    Date:    Thu, 14 Jan 88 17:32:15 PST
    From: TAYLOR%PLU@ames-io.ARPA
    I have been trying to use string blinkers in a dynamic window -
    (dw:with-output-as-presentation (:type 'string :object "string blinker"
       :stream <stream> :single-box t)
      (setf *blinker* (tv:make-blinker <stream> 'tv:string-blinker
    where <stream> is a dynamic window. The blinker is created, but
    does not scroll with the dynamic window and is not mouse
    sensitive. Is there something I missed or is this a capability
    that does not exist yet?  Anyone else fooled with this stuff?
    - thanks - will    taylor%plu@io.arc.nasa.gov
I am not quite sure what it is that you want to do.  I assume you would
like to put something on the screen and have it outlined the way a
string of several lines would outlined by the blinker.  The code
fragment below does this.  I put out two lines and the blinker conforms
to the outer edges of the strings.  When I click on it the object
returned is the string-object "string blinker". 
I don't think you want to define blinkers inside
dw:with-output-as-presentation anyway.
(dw:with-output-as-presentation (:stream *standard-output* :object "string blinker" :type 'string)
    (write-string "This is a test")
    (write-string "short"))
This is a test
Command:  1'"string blinker"
0"string blinker
This one is a little different.  Try using :single-box t also.
(dw:with-output-as-presentation (:stream *standard-output* :object "string blinker" :type 'string :single-box nil)
    (write-string "This is a test")
    (dw:surrounding-output-with-border ()
       (write-string "short"))
    (multiple-value-bind (x y)
         (send *standard-output* :read-cursorpos)
      (graphics:draw-circle  (+ x 50) (- y 50) 10)))
  -- David D. Loeffler

---- Will Taylor      taylor%plu@io.arc.nasa.gov