Changeset main,62


Ignore:
Timestamp:
11/16/2007 11:48:22 PM (19 years ago)
Author:
David Owen <dsowen@…>
branch-nick:
tui
revision id:
dsowen@fugue88.ws-20071116234822-y2fhymxzzi20qdnu
Message:

Fix: Round scroll-percentage to a whole number.
Added ENSURE-ROW-VISIBLE (dumb behavior, but works).
Fix: Row-counting in row-selectable was off when combined with nice-header.

Location:
main/grid
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • main/grid/display.lisp

    r58 r62  
    118118
    119119(defmethod row-scroll-percent ((grid grid))
    120   (/ (1+ (row-scroll grid)) (1+ (max-row-scroll grid))))
     120  (floor (/ (1+ (row-scroll grid)) (1+ (max-row-scroll grid))) 1/100))
    121121
    122122(defmethod max-column-scroll ((grid grid))
     
    129129(defmethod column-scroll-percent ((grid grid))
    130130  (/ (1+ (column-scroll grid)) (1+ (max-column-scroll grid))))
     131
     132
     133
     134(defun ensure-row-visible (grid row)
     135  (with-slots (data) grid
     136    (setf (row-scroll grid) (- row (header-rows data)))))
  • main/grid/package.lisp

    r60 r62  
    88
    99   ;; Display
    10    #:row-scroll #:column-scroll #:make-grid #:draw
     10   #:row-scroll #:row-scroll-percent #:column-scroll #:column-scroll-percent
     11   #:make-grid #:draw #:ensure-row-visible
    1112
    1213   ;; Extra
  • main/grid/row-selectable.lisp

    r60 r62  
    99
    1010(defmethod (setf selected-row) :around (i (d row-selectable))
    11   (call-next-method (bound i 0 (rows d)) d))
     11  ;; TODO: This was hacked to take out header rows from other classes
     12  ;; that I wish didn't affect the call.
     13  (call-next-method (bound i 0 (- (rows d) (header-rows d) 1)) d))
    1214
    1315(defvar *recursive* nil)
Note: See TracChangeset for help on using the changeset viewer.