@eclipse-scout/core
Version:
Eclipse Scout runtime
55 lines • 2.9 kB
TypeScript
import { Dimension, HtmlCompPrefSizeOptions, InitModelOf, Insets, LogicalGridData, LogicalGridLayoutInfoModel, Rectangle } from '../../index';
/**
* JavaScript port of org.eclipse.scout.rt.ui.swing.LogicalGridLayoutInfo.
*/
export declare class LogicalGridLayoutInfo implements LogicalGridLayoutInfoModel {
model: LogicalGridLayoutInfoModel;
gridDatas: LogicalGridData[];
cons: LogicalGridData[];
cols: number;
compSize: Dimension[];
rows: number;
width: number[][];
widthHints: number[];
height: number[][];
weightX: number[];
weightY: number[];
hgap: number;
vgap: number;
rowHeight: number;
columnWidth: number;
cellBounds: Rectangle[][];
widthHint: number;
widthOnly: boolean;
$components: JQuery[];
constructor(model: InitModelOf<LogicalGridLayoutInfo>);
protected _initializeInfo(): void;
protected _initializeColumns(): void;
/**
* @param cons the current grid data
* @param distWidth the width to distribute to the columns. The width is distributed to the columns equally.
* @param widths the column widths that have been distributed so far when the previous rows were visited
* @param fixedWidths the columns with a fixed width (weightx = 0)
* @param calc a function that is called for each element of the given `widths` array, e.g. to decide whether to use the newly calculated column width or the existing one.
*/
protected _distributeWidth(cons: LogicalGridData, distWidth: number, widths: number[], fixedWidths: boolean[], calc: (equalWidth: number, width: number) => number): void;
/**
* @param cons the current grid data
* @param distHeight the height to distribute to the rows. The height is distributed to the rows equally.
* @param widths the row heights that have been distributed so far when the previous column were visited
* @param fixedHeights the rows with a fixed height (weighty = 0)
* @param calc a function that is called for each element of the given `heights` array, e.g. to decide whether to use the newly calculated row height or the existing one.
*/
protected _distributeHeight(cons: LogicalGridData, distHeight: number, heights: number[], fixedHeights: boolean[], calc: (equalWidth: number, width: number) => number): void;
protected _initializeRows(): void;
layoutCellBounds(size: Dimension, insets: Insets): Rectangle[][];
layoutSizes(targetSize: number, sizes: number[][], weights: number[]): number[];
logicalWidthInPixel(cons: LogicalGridData): number;
logicalHeightInPixel(cons: LogicalGridData): number;
uiSizeInPixel($comp: JQuery, options?: HtmlCompPrefSizeOptions): Dimension;
/**
* @returns the width hint for the given gridData
*/
widthHintForGridData(gridData: LogicalGridData): number | null;
}
//# sourceMappingURL=LogicalGridLayoutInfo.d.ts.map