ClassPackage: cgToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.1
Unrevised from 8.0 to 8.1.
8.0 version

check-box-column-mixin

A non-instantiable class that can be mixed with the grid-column class to create grid columns whose cells act like check-box controls. Each cell in the column will implement the pseudo-control if the row of that cell is an instance of a grid-row subclass that mixes in the widget-row-mixin class.

To ensure that this mixin class' methods take precedence over other methods that specialize on grid-column, this mixin class generally should appear first in a defclass expression's list of superclasses, as in:

(defclass my-check-box-column
  (check-box-column-mixin my-subclass-of-grid-column) ...)

The draw-cell method provided by this mixin will call read-cell-value to determine whether to draw the check mark. If read-cell-value returns nil, it will not draw a check mark, and otherwise it will.

When the user clicks the check-box gadget displayed in the cell, the cell-click method provided by this mixin calls write-cell-value with a value of either t or nil so as to change the domain value represented by the cell. Alternately the user may press the spacebar or the enter key to simulate clicking the check-box.

The title-reader property of the column should be used to determine the string to display in each check-box cell. The click-must-be-on-gadget property may be used to determine where the user must click within the cell to activate the cell's gadget.

See the section Built-In Grid Cell Widgets on the page for the grid-widget class for an overview of the grid column mixins.

A quicker but less object-oriented alternative to using the widget-column-mixin classes is to write cell-widget methods.


Copyright (c) 1998-2009, Franz Inc. Oakland, CA., USA. All rights reserved.
Documentation for Allegro CL version 8.1. This page was not revised from the 8.0 page.
Created 2009.7.29.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.1
Unrevised from 8.0 to 8.1.
8.0 version