Ignore:
Timestamp:
11/16/2007 04:57:59 PM (19 years ago)
Author:
David Owen <dsowen@…>
branch-nick:
tui
revision id:
dsowen@fugue88.ws-20071116165759-z7bwp6amaic0blw4
Message:

Moved header-rows into the data model.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/grid/display.lisp

    r55 r56  
    55(defclass grid ()
    66  ((data :initarg :data)
    7    (header-rows :type (integer 0) :initarg :header-rows)
    87   (header-columns :type (integer 0) :initarg :header-columns)
    98   (window :initarg :window)
     
    1110   (column-scroll :type (integer 0) :initform 0 :accessor column-scroll)))
    1211
    13 (defun make-grid (window data &key (header-rows 0) (header-columns 0))
     12(defun make-grid (window data &key (header-columns 0))
    1413  (make-instance 'grid
    1514                 :data data
    16                  :header-rows header-rows
    1715                 :header-columns header-columns
    1816                 :window window))
     
    4947
    5048(defun row-split (grid row)
    51   (with-slots (header-rows) grid
    52     (saturate header-rows row)))
     49  (with-slots (data) grid
     50    (saturate (header-rows data) row)))
    5351
    5452(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)))
    5855
    5956(defun draw-header-corner-item (grid row column)
     
    8784
    8885(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))))))
    9896
    9997(defun draw (grid)
     
    113111
    114112(defmethod max-row-scroll ((grid grid))
    115   (with-slots (data header-rows window) grid
     113  (with-slots (data window) grid
    116114    (max 0 (- (rows data) (size window)))))
    117115
Note: See TracChangeset for help on using the changeset viewer.