Better interface for pasting
part of darcs patch Thu Sep 22 00:43:18 EEST 2005 Martin Gasbichler <gasbichl@informatik.uni-tuebingen.de>
This commit is contained in:
		
							parent
							
								
									c40ea7f252
								
							
						
					
					
						commit
						af369b2d3a
					
				| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
(define maybe-modal-window #f)
 | 
			
		||||
 | 
			
		||||
(define (set-modal-window! reader)
 | 
			
		||||
  (if maybe-modal-window
 | 
			
		||||
      (error "tried to set a second modal window"))
 | 
			
		||||
  (set! maybe-modal-window reader))
 | 
			
		||||
 | 
			
		||||
(define (close-modal-window!)
 | 
			
		||||
  (set! maybe-modal-window #f))
 | 
			
		||||
| 
						 | 
				
			
			@ -11,11 +11,14 @@
 | 
			
		|||
(define-interface utils-interface
 | 
			
		||||
  (export display-to-string
 | 
			
		||||
          write-to-string
 | 
			
		||||
          on/off-option-processor))
 | 
			
		||||
          on/off-option-processor
 | 
			
		||||
          paste-selection))
 | 
			
		||||
 | 
			
		||||
(define-structure utils utils-interface
 | 
			
		||||
  (open scheme
 | 
			
		||||
        srfi-6)
 | 
			
		||||
        srfi-6
 | 
			
		||||
        (subset srfi-13 (string-join))
 | 
			
		||||
        formats)
 | 
			
		||||
  (files utils))
 | 
			
		||||
 | 
			
		||||
;;; history data structure
 | 
			
		||||
| 
						 | 
				
			
			@ -242,7 +245,8 @@
 | 
			
		|||
 | 
			
		||||
(define-structure network-viewer (export)
 | 
			
		||||
  (open scheme-with-scsh
 | 
			
		||||
        
 | 
			
		||||
        (subset srfi-13 (string-join))
 | 
			
		||||
 | 
			
		||||
        plugin
 | 
			
		||||
        select-line)
 | 
			
		||||
  (files network-viewer))
 | 
			
		||||
| 
						 | 
				
			
			@ -342,6 +346,7 @@
 | 
			
		|||
	  paint-selection-list-at
 | 
			
		||||
	  select-list-get-selection
 | 
			
		||||
          select-list-get-marked
 | 
			
		||||
          select-list-has-marks?
 | 
			
		||||
	  select-list-selected-entry
 | 
			
		||||
 | 
			
		||||
	  select-list-key?
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -154,6 +154,14 @@
 | 
			
		|||
       (filter element-marked? 
 | 
			
		||||
	       (select-list-elements select-list))))
 | 
			
		||||
 | 
			
		||||
(define (select-list-has-marks? select-list)
 | 
			
		||||
  (let lp ((elts (select-list-elements select-list)))
 | 
			
		||||
    (if (null? elts)
 | 
			
		||||
        #f
 | 
			
		||||
        (if (element-marked? (car elts))
 | 
			
		||||
            #t
 | 
			
		||||
            (lp (cdr elts))))))
 | 
			
		||||
 | 
			
		||||
(define (select-list-selected-entry select-list)
 | 
			
		||||
  (element-value
 | 
			
		||||
   (select-list-selected-element select-list)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,3 +13,14 @@
 | 
			
		|||
  (lambda (option arg-name arg ops)
 | 
			
		||||
    (cons (cons name #t) ops)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
(define (paste-selection vals marks? for-scheme-mode? to-scheme to-command)
 | 
			
		||||
  (if marks?
 | 
			
		||||
      (if for-scheme-mode?
 | 
			
		||||
          (format #f "'(~a)" (string-join (map to-scheme vals)))
 | 
			
		||||
          (string-join (map to-command vals)))
 | 
			
		||||
      (if (null? vals)
 | 
			
		||||
          ""
 | 
			
		||||
          (if for-scheme-mode?
 | 
			
		||||
              (to-scheme (car vals))
 | 
			
		||||
              (to-command (car vals))))))
 | 
			
		||||
		Loading…
	
		Reference in New Issue