Index: main/grid/test.lisp
===================================================================
--- main/grid/test.lisp	(revision main,57)
+++ main/grid/test.lisp	(revision main,60)
@@ -7,10 +7,8 @@
 
 
-(defclass test () ())
+(defclass test (nice-header row-selectable column-padding column-formats)
+  ())
 
 (defmethod rows ((gd test)) 10)
-
-(defmethod header-rows ((gd test))
-  1)
 
 (defmethod columns ((gd test)) 10)
@@ -19,20 +17,8 @@
   1)
 
-(defmethod column-width ((gd test) column)
-  5)
-
 (defmethod item ((gd test) row column)
   (assert (and (<= 0 row 9)
                (<= 0 column 9)))
-  (cond
-    ((= row 0)
-     (concatenate 'string "`B`U " (string (aref "*ABCDEFGHI" column)) " `u`b"))
-    ((= column 0)
-     (format nil " `B~A`b " row))
-    (t
-     (format nil (if (= row column 2) "`R~A,~A`r" "~A,~A") row column))))
-
-(defmethod uses-display-strings ((gd test) row column)
-  t)
+  (* (1+ row) (1+ column)))
 
 
@@ -42,6 +28,14 @@
   (refresh screen))
 
+(defconstant +format+ (first (parse-format-specs '(:number 3))))
+(defconstant +formats+ (make-sequence 'vector 10 :initial-element +format+))
+
 (defun test-draw ()
-  (let ((data (make-instance 'test)))
+  (let ((data (make-instance 'test
+                             :format-specs +formats+
+                             :column-heads #("   *" "   A" "   B" "   C" "   D"
+                                             "   E" "   F" "   G" "   H"
+                                             "   I"))))
+    (setf (selected-row data) 1)
     (with-screen (screen)
       (clear screen)
