Lisp HUG Maillist Archive

Click on capi::DISPLAY-PANE / Linebreak on capi::TITLE-PANE ?

Hi list,

Would someone know how to disable the default behaviours on  
capi::display-pane objects (for example the text cursor that is set  
when the mouse is over the pane, the click handler that selects the  
text, etc.)
I would like to catch and process myself the input actions (click,  
principally), or to make them be catched by the container layout.

This is possible with capi::title-pane, but title-pane does not  
manage line breaking as display-pane does.
Maybe there is just a way to make the title-pane break lines when the  
string is longer than a fixed pane width.. ?

(see attached code)

Thanks for any help.

Jean Bresson
Ircam - Music Representations



;;;=======================================================

;;; A function called when a pane is clicked
(defun print-function (pane x y)
   (print (format nil "Click ~s at ~d , ~d" (capi::capi-object-name  
pane) x y)))

(capi::contain
(make-instance 'capi::pinboard-layout :name 'test-pane
                 :description
                 (list (make-instance 'capi::title-pane
                                      :x 10 :y 10
                                      :external-min-height 70
                                      :external-max-height 700
                                      :external-min-width 120
                                      :external-max-width 120
                                      :background (color:make-rgb 0.7  
0.7 0.7)
                                      :text "TITLE-PANE: Click event  
is catched but text is not good...")
                       (make-instance 'capi::display-pane
                                      :x 10 :y 100
                                      :external-min-height 70
                                      :external-max-height 70
                                      :external-min-width 120
                                      :external-max-width 120
                                      :background (color:make-rgb 0.7  
0.7 0.7)
                                      :text "DISPLAY-PANE: Text is OK  
but click event is not catched..."))
                 :input-model '(((:button-1 :press) print-function))
                 ))



Re: Click on capi::DISPLAY-PANE / Linebreak on capi::TITLE-PANE ?

Hello Jean,

| This is possible with capi::title-pane, but title-pane does not  
| manage line breaking as display-pane does.
| Maybe there is just a way to make the title-pane break lines when the  
| string is longer than a fixed pane width.. ?

Embedding linefeeds in the text and specifying
    :visible-min-height `(min (:character ,(1+ (count #\Linefeed text)))
                                  :screen-height)
should do the trick.
--
Sincerely,
Dmitriy Ivanov
lisp.ystok.ru


Updated at: 2020-12-10 08:44 UTC