| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version |
A grid-column
that is an instance of this class allows the user to interactively
change the height of grid-row
s where they cross the
grid-column
.
The resizable
property of a row must also be true before interactive resizing is
possible for that row. In other words, a row may be interactively
resized at a particular cell if the row is a resizable one and the column at
that cell is an instance of row-sizing-column-mixin
.
This feature is typically used only in a column that serves as a set of row headers, so that the special row-sizing mouse cursor does not appear frequently as the user moves the mouse over the body of the grid (which might be distracting), and/or to prevent the user from inadvertantly resizing a row slightly if they click too near a cell's border when they mean to click in its interior. Nevertheless, it may sometimes be desirable to use this class for multiple columns, or even every column, of a grid.
The user uses this feature by moving the mouse cursor to the bottom
border of a cell in a resizable row where it crosses a
row-sizing-column-mixin
column.
The mouse cursor will change to indicate where resizing may be
initiated; this area ranges from the bottom edge of the border to
*grid-border-mouse-slack*
pixels
above that. The user may click and drag vertically in this area to
resize the grid-row
. If the uniform-resizing property of the
grid section is true, then all of the rows in the clicked grid-row-section
will be
sized to the specified size, though if the control key is held down
then the behavior of the uniform-resizing property is
reversed. The drag may be canceled either by pressing the Escape key
before releasing the mouse button or by releasing the mouse button
above the top of the row (which would otherwise makes its height be
negative).
This class must be mixed with grid-column
(or one of its
subclasses) to make an instantiable class. It is best to specify such
mixin classes ahead of the grid-column
class in the list of
superclasses for a new class, so that the small amount of special
behavior from the mixin class will override the more general behavior
of the grid-column
class. For example:
(defclass my-row-sizing-column (row-sizing-column-mixin grid-column)())
The above default mouse click behavior may be overridden by custom cell-click methods.
The height of a grid-row
is stored as its section-size property.
See also stretch-subsection.
See the grid-widget
class
for an overview of writing grid-widget code.
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.
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version |