Pasting for service-info
part of darcs patch Thu Sep 22 00:44:15 EEST 2005 Martin Gasbichler <gasbichl@informatik.uni-tuebingen.de>
This commit is contained in:
parent
af369b2d3a
commit
2fe9ca9f66
|
@ -1,24 +1,68 @@
|
|||
|
||||
(define (make-service-info-viewer service-info buffer)
|
||||
(let ((service-info service-info)
|
||||
(select-line (make-select-line
|
||||
(define (make-service-info-select-list si num-lines)
|
||||
(make-select-list
|
||||
(append
|
||||
(list
|
||||
(service-info:name service-info)
|
||||
;;(service-info:aliases service-info)
|
||||
(number->string (service-info:port service-info))
|
||||
(service-info:protocol service-info)))))
|
||||
(make-unmarked-text-element
|
||||
(cons 'name (service-info:name si))
|
||||
#t
|
||||
(format #f "Name: ~a" (service-info:name si)))
|
||||
(make-unmarked-text-element
|
||||
(cons 'port (service-info:port si))
|
||||
#t
|
||||
(format #f "Port: ~a" (number->string
|
||||
(service-info:port si))))
|
||||
(make-unmarked-text-element
|
||||
(cons 'protocol
|
||||
(service-info:protocol si))
|
||||
#t
|
||||
(format #f "Protocol: ~a" (service-info:protocol si)))
|
||||
(make-unmarked-text-element
|
||||
(cons 'text "") #f "Aliases:"))
|
||||
(map (lambda (alias)
|
||||
(make-unmarked-text-element
|
||||
(cons 'alias alias) #t
|
||||
(format #f " ~a" alias)))
|
||||
(service-info:aliases si)))
|
||||
num-lines))
|
||||
|
||||
(define (make-service-info-viewer si buffer)
|
||||
(let ((si si)
|
||||
(select-list
|
||||
(make-service-info-select-list
|
||||
si (result-buffer-num-lines buffer))))
|
||||
|
||||
(define (prepare-selection-for-scheme-mode sel)
|
||||
(format #f "(~a)"
|
||||
(string-join
|
||||
(map write-to-string (map cdr sel)))))
|
||||
|
||||
(define (prepare-selection-for-command-mode sel)
|
||||
(string-join (map display-to-string (map cdr sel))))
|
||||
|
||||
(define (get-selection-as-text self for-scheme-mode? focus-object-table)
|
||||
(paste-selection (select-list-get-selection select-list)
|
||||
(select-list-has-marks? select-list)
|
||||
for-scheme-mode?
|
||||
(lambda (se)
|
||||
(write-to-string (cdr se)))
|
||||
(lambda (se)
|
||||
(display-to-string (cdr se)))))
|
||||
|
||||
(lambda (message)
|
||||
(case message
|
||||
((paint)
|
||||
(lambda (self win buffer have-focus?)
|
||||
(paint-select-line-at select-line 5 5 win)))
|
||||
(paint-selection-list-at select-list 1 1 win
|
||||
(result-buffer-num-cols buffer)
|
||||
have-focus?)))
|
||||
((key-press)
|
||||
(lambda (self key control-x-pressed?)
|
||||
(select-line-handle-key-press! select-line key)
|
||||
(set! select-list
|
||||
(select-list-handle-key-press select-list key))
|
||||
self))
|
||||
((get-select-as-text)
|
||||
(lambda (self for-scheme-mode? focus-object-table)
|
||||
(select-line-selected-entry select-line)))
|
||||
((get-selection-as-text)
|
||||
get-selection-as-text)
|
||||
((get-selection-as-ref)
|
||||
"UII get-selection-as-ref")
|
||||
(else
|
||||
|
|
|
@ -248,7 +248,11 @@
|
|||
(subset srfi-13 (string-join))
|
||||
|
||||
plugin
|
||||
select-line)
|
||||
layout
|
||||
formats
|
||||
utils
|
||||
select-element
|
||||
select-list)
|
||||
(files network-viewer))
|
||||
|
||||
;;; terminal buffer
|
||||
|
|
Loading…
Reference in New Issue