Changeset main,56 for main/grid/display.lisp
- Timestamp:
- 11/16/2007 04:57:59 PM (19 years ago)
- branch-nick:
- tui
- revision id:
- dsowen@fugue88.ws-20071116165759-z7bwp6amaic0blw4
- File:
-
- 1 edited
-
main/grid/display.lisp (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
main/grid/display.lisp
r55 r56 5 5 (defclass grid () 6 6 ((data :initarg :data) 7 (header-rows :type (integer 0) :initarg :header-rows)8 7 (header-columns :type (integer 0) :initarg :header-columns) 9 8 (window :initarg :window) … … 11 10 (column-scroll :type (integer 0) :initform 0 :accessor column-scroll))) 12 11 13 (defun make-grid (window data &key (header- rows 0) (header-columns 0))12 (defun make-grid (window data &key (header-columns 0)) 14 13 (make-instance 'grid 15 14 :data data 16 :header-rows header-rows17 15 :header-columns header-columns 18 16 :window window)) … … 49 47 50 48 (defun row-split (grid row) 51 (with-slots ( header-rows) grid52 (saturate header-rowsrow)))49 (with-slots (data) grid 50 (saturate (header-rows data) row))) 53 51 54 52 (defun row-offset (grid row) 55 (with-slots (header-rows) grid 56 (multiple-value-bind (in-header in-data) (row-split grid row) 57 (+ in-header in-data)))) 53 (multiple-value-bind (in-header in-data) (row-split grid row) 54 (+ in-header in-data))) 58 55 59 56 (defun draw-header-corner-item (grid row column) … … 87 84 88 85 (defun draw-column (grid column x) 89 (with-slots (data header-rows window row-scroll) grid 90 (dotimes (i header-rows) 91 (draw-cell grid i column i x)) 92 (dotimes (i (- (size window) header-rows)) 93 (let* ((y (+ i header-rows)) 94 (row (+ y row-scroll))) 95 (when (>= row (rows data)) 96 (return)) 97 (draw-cell grid row column y x))))) 86 (with-slots (data window row-scroll) grid 87 (let ((header-rows (header-rows data))) 88 (dotimes (i header-rows) 89 (draw-cell grid i column i x)) 90 (dotimes (i (- (size window) header-rows)) 91 (let* ((y (+ i header-rows)) 92 (row (+ y row-scroll))) 93 (when (>= row (rows data)) 94 (return)) 95 (draw-cell grid row column y x)))))) 98 96 99 97 (defun draw (grid) … … 113 111 114 112 (defmethod max-row-scroll ((grid grid)) 115 (with-slots (data header-rowswindow) grid113 (with-slots (data window) grid 116 114 (max 0 (- (rows data) (size window))))) 117 115
Note: See TracChangeset
for help on using the changeset viewer.
