ClassPackage: cgToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 10.1
Unrevised from 10.0 to 10.1.
10.0 version

static-text-and-button-column-mixin

A non-instantiable class that can be mixed with the grid-column class to create grid columns whose cells act like static-text controls with button controls. Each cell in the column will implement the pseudo-controls 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-static-text-and-button-column
  (static-text-and-button-column-mixin my-subclass-of-grid-column) ...)

When the user clicks on the small button displayed in the cell, the cell-click method provided by this mixin calls the button-function of the grid-column (if non-nil) to perform some arbitrary action. Alternately the user can emulate clicking the button by pressing either the spacebar or the enter key, or by double-clicking anywhere in the cell.

The button-function property of the column should be used to determine what happens when the user presses the button.

The button-fills-cell property determines whether the button fills the cell or is small and in one corner of the cell.

The draw-cell method supplied by this mixin calls the column's data-read-converter to convert the data object represented by each cell into a string to display in the cell.

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-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 10.1
Unrevised from 10.0 to 10.1.
10.0 version