@eclipse-scout/core
Version:
Eclipse Scout runtime
73 lines • 3.76 kB
TypeScript
import { InitModelOf, LogicalGridLayout, ObjectOrModel, Widget } from '../../index';
/**
* Stores layouting options for elements layouted by {@link LogicalGridLayout}.
*
* The object can be initialized with user-defined options. These options only have an effect if their value is >=0.
* If no user-defined options are specified or their value is < 0, the default values specified by CSS are applied (see {@link _readEnvDefaults})
* unless explicit defaults are provided using constructor or {@link withDefaults}.
*
* Important: always create a new object or use {@link clone} to modify the options.
* Don't set the members directly. Otherwise, your values may be overridden if new defaults are set using {@link withDefaults}.
*/
export declare class LogicalGridLayoutConfig implements LogicalGridLayoutConfigModel {
model: LogicalGridLayoutConfigModel;
hgap: number;
vgap: number;
columnWidth: number;
rowHeight: number;
minWidth: number;
protected _defaults: InitModelOf<LogicalGridLayoutConfig>;
protected _options: InitModelOf<LogicalGridLayoutConfig>;
constructor(options?: InitModelOf<LogicalGridLayoutConfig>, defaults?: InitModelOf<LogicalGridLayoutConfig>);
protected _prepareOptions(options?: InitModelOf<LogicalGridLayoutConfig>): LogicalGridLayoutConfigModel;
/**
* Sets default values that are used if no user-defined options are provided or their values are < 0
*/
withDefaults(defaults?: InitModelOf<LogicalGridLayoutConfig>): LogicalGridLayoutConfig;
withSmallHgapDefaults(): LogicalGridLayoutConfig;
protected _init(): void;
/**
* @returns the environment defaults that are used if no explicit {@link _defaults} or custom {@link _options} are set.
*/
protected _readEnvDefaults(): InitModelOf<LogicalGridLayoutConfig>;
/**
* @returns a clone of this logical grid layout config enriched with the given options.
*/
clone(options?: InitModelOf<LogicalGridLayoutConfig>): LogicalGridLayoutConfig;
applyToLayout(layout: LogicalGridLayout): void;
static ensure(layoutConfig: ObjectOrModel<LogicalGridLayoutConfig>): LogicalGridLayoutConfig;
/**
* Adds a property change handler to the {@link HtmlEnvironment} that calls the given setter to update the layout config on the given widget whenever the html environment changes.
* This is necessary because the html environment contains the default values for the layout config object which change when switching to compact mode.
*
* This function needs to be called exactly once during the initialization of a widget.
* It does nothing if it is called after the initialization.
*/
static initHtmlEnvChangeHandler(widget: Widget, getter: () => LogicalGridLayoutConfig, setter: (config: LogicalGridLayoutConfig) => void): void;
}
export interface LogicalGridLayoutConfigModel {
/**
* The horizontal gap in pixels to use between two logical grid columns.
*/
hgap?: number;
/**
* The vertical gap in pixels to use between two logical grid rows.
*/
vgap?: number;
/**
* The width in pixels to use for elements with the logical unit "width = 1".
* Larger logical widths are multiplied with this value (and gaps are added).
*/
columnWidth?: number;
/**
* The height in pixels to use for elements with the logical unit "height = 1".
* Larger logical heights are multiplied with this value (and gaps are added).
*/
rowHeight?: number;
/**
* The minimum width of the widget.
* If this width is > 0 a horizontal scrollbar is shown when the widgets get smaller than this value.
*/
minWidth?: number;
}
//# sourceMappingURL=LogicalGridLayoutConfig.d.ts.map