Class | Package: cg | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 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-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version