- Timestamp:
- 11/15/2007 09:11:06 PM (19 years ago)
- branch-nick:
- tui
- revision id:
- dsowen@fugue88.ws-20071115211106-ix3zpfhce07h8wg8
- Location:
- main/grid
- Files:
-
- 3 edited
-
display.lisp (modified) (8 diffs)
-
package.lisp (modified) (1 diff)
-
test.lisp (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
main/grid/display.lisp
r39 r53 16 16 (make-instance 'grid 17 17 :data data 18 :column-widths column-widths18 :column-widths (coerce column-widths 'vector) 19 19 :header-rows header-rows 20 20 :header-columns header-columns … … 62 62 (let ((text (item grid row column)) 63 63 (x (column-offset grid column))) 64 ( cdk::move-and-add-string main-window row x text))))64 (move-and-add-string main-window row x text)))) 65 65 66 66 (defun draw-header-top-item (grid row column) … … 68 68 (let ((text (item grid row column)) 69 69 (x (column-offset grid column))) 70 ( cdk::move-and-add-string main-window row x text))))70 (move-and-add-string main-window row x text)))) 71 71 72 72 (defun draw-item (grid row column) … … 76 76 (y (+ row y-scroll))) 77 77 (let ((x (+ column-offset x-scroll))) 78 ( cdk::move-and-add-string window y x text)))))78 (move-and-add-string window y x text))))) 79 79 80 80 ;;;; ------------------------------------------------- ;;;; … … 91 91 (dotimes (i header-rows) 92 92 (draw-cell grid i column i x)) 93 (dotimes (i (- ( cdk::getmaxywindow) header-rows))93 (dotimes (i (- (size window) header-rows)) 94 94 (let* ((y (+ i header-rows)) 95 95 (row (+ y row-scroll))) … … 100 100 (defun draw (grid) 101 101 (with-slots (data column-widths header-columns window column-scroll) grid 102 ( cdk::c-erase-windowwindow)102 (erase window) 103 103 (let ((x 0)) 104 104 (dotimes (i header-columns) … … 107 107 (do ((i (+ header-columns column-scroll) (incf i))) 108 108 ((or (>= i (columns data)) 109 (> x ( cdk::getmaxx window))))109 (> x (nth-value 1 (size window))))) 110 110 (draw-column grid i x) 111 111 (incf x (svref column-widths i)))))) … … 115 115 (defmethod max-row-scroll ((grid grid)) 116 116 (with-slots (data header-rows window) grid 117 (max 0 (- (rows data) ( cdk::getmaxywindow)))))117 (max 0 (- (rows data) (size window))))) 118 118 119 119 (defmethod (setf row-scroll) :around (i (grid grid)) -
main/grid/package.lisp
r28 r53 1 1 (defpackage #:grid 2 (:use #:cl #:dso-util #:tui-display-string )2 (:use #:cl #:dso-util #:tui-display-string #:tui-output #:tui-window) 3 3 (:export #:rows #:columns #:item #:uses-display-strings #:row-scroll 4 4 #:column-scroll #:make-grid #:draw)) -
main/grid/test.lisp
r26 r53 1 1 (defpackage #:grid-test 2 (:use #:cl #:cdk #:grid #: input)2 (:use #:cl #:cdk #:grid #:tui-input #:tui-output #:tui-window) 3 3 (:export)) 4 4 … … 30 30 31 31 (defun clear (screen) 32 ( cdk::c-erase-windowscreen)33 ( cdk::c-refresh-windowscreen))32 (erase screen) 33 (refresh screen)) 34 34 35 35 (defun test-draw () … … 38 38 (with-screen (screen) 39 39 (clear screen) 40 (with- der-window (window screen 5 16 0 0)40 (with-subwindow (window screen 5 16 0 0) 41 41 (let ((grid (make-grid window data widths :header-columns 1 :header-rows 1))) 42 42 (flet ((try (i) 43 43 (setf (row-scroll grid) i) 44 44 (draw grid) 45 ( input:%wget-wchwindow)))45 (read-key window))) 46 46 (try 0) 47 47 (try 2) … … 51 51 (setf (column-scroll grid) i) 52 52 (draw grid) 53 ( input:%wget-wchwindow)))53 (read-key window))) 54 54 (try 3) 55 55 (try 99)))) … … 57 57 (let ((grid (make-grid screen data widths :header-columns 1 :header-rows 1))) 58 58 (draw grid) 59 ( input:%wget-wchscreen)))))59 (read-key screen)))))
Note: See TracChangeset
for help on using the changeset viewer.
