Canvas Toolkit
← Class index

CListViewHelper

Widgets

Internal shared geometry and caption painting for the two list implementations.

Module widgets/CListViewHelper.js. This class is available through the browser modules in the download.

Declared members

readonly itemHeight: number;
mode: CListViewMode;
constructor(itemHeight: number);
gridSize(): CSize;
iconSize(): CSize;
spacing(): number;
setGridSize(size: CSize): void;
setIconSize(size: CSize): void;
setSpacing(spacing: number): void;
columns(width: number): number;
rect(row: number, width: number): CRect;
visibleRange(count: number, width: number, top: number, height: number): [number, number];

Returns the item index range intersecting the vertical viewport.

rowAt(x: number, y: number, width: number, count: number): number;
height(count: number, width: number): number;
contentSize(count: number, fullWidth: number, fullHeight: number, extent: number): CSize;

Start from the full viewport so obsolete scrollbars never lock in fewer columns.

navigate(row: number, key: string, count: number, width: number, viewportHeight: number): number | null;

Spatial navigation: vertical movement preserves columns; horizontal movement stays in its line.

paintContents(painter: CPainter, owner: CWidget, rect: CRect, text: string, icon: CIcon | null, enabled?: boolean): void;