import { IControl } from "../UiControl"; import { WindowLike } from "./UiWindow"; import { DpiSize, DpiSize_2, IconCache, Rect } from "../UiCommon"; import { Vec2 } from "../../Math/Vector"; import { Header } from "./UiHeader"; export declare enum RichListBoxSelectionMode { Single = 0, Multiple = 1 } export declare enum RichListBoxViewMode { Detail = 0, Tile = 1, Icon = 2, List = 3 } export declare enum RichListBoxItemPlace { Item = 0, Above = 1, Below = 2 } export declare enum RichListBoxItemCheck { None = 0, Selection = 1, Standalone = 2 } export declare enum RichListBoxItemFlag { None = 0, Text = 1, Indent = 2, GroupId = 4, Context = 8, Icon = 16, Misc = 32 } export declare enum RichListBoxItemMisc { None = 0, HasChild = 1, Expanded = 2, NoChild = 4, PlaceHolder = 8, Checked = 16, CheckHidden = 32, SingleLine = 256 } export declare class RichListBoxItem { Flag: RichListBoxItemFlag; Index: number; IndexSub: number; Icon: IconCache; Text: string; Indent: number; GroupId: number; Misc: RichListBoxItemMisc; Context: number; } export declare class RichListBoxHitTestResult { Index: number; SubIndex: number; Place: RichListBoxItemPlace; PlaceAb: RichListBoxItemPlace; } export declare class RichListBoxItemVirtual { Icon: IconCache; Indent: number; Misc: RichListBoxItemMisc; String: string; } export interface IRichListBox extends IControl { new (window: WindowLike): IRichListBox; ItemInsert(item: RichListBoxItem, bReserveSelection: boolean): number; ItemRemove(nIndex: number, bReserveSelection: boolean): boolean; ItemClear(): RichListBox; ItemSelect(nIndex: number): RichListBox; ItemSetSelect(nIndex: number, bSelect: boolean): RichListBox; ItemSetSelectRange(nStart: number, nEnd: number, bSelect: boolean): RichListBox; ItemSort(nSubItem: number, bAsc: boolean, bCaseInsensitive: boolean): RichListBox; ItemFind(szString: string, nIndex: number, bExact: boolean, bCaseInsensitive: boolean): number; ItemSet(item: RichListBoxItem): boolean; ItemGet(nFlag: RichListBoxItemFlag, nIndex: number, nSubIndex: number): RichListBoxItem; ItemGetCount(): number; ItemGetCountPerPage(bIncludePartial: boolean): number; ItemGetSelectionCount(): number; ItemGetSelection(): number; ItemIsSelected(nIndex: number): boolean; ItemGetNextSelection(nIndex: number): number; ItemEnsure(nIndex: number): RichListBox; ItemGetTopIndex(): number; ItemIsVisible(nIndex: number): boolean; ItemGetRect(nIndex: number): Rect; ItemHitTest(pt: Vec2, bMustOnContent: boolean, bIncludePlaceholder: boolean): RichListBoxHitTestResult; ItemSetCount(nCount: number): RichListBox; ItemSetHighlight(nIndex: number, nPlace: RichListBoxItemPlace): RichListBox; ItemSetMinimumHeight(nHeight: DpiSize): RichListBox; ItemGetMinimumHeight(): DpiSize; SetVirtual(fn: (sender: RichListBox, nIndex: number, nSubIndex: number) => RichListBoxItemVirtual): RichListBox; GetHeader(): Header; SetHeaderAutoWidth(b: boolean): RichListBox; GetHeaderAutoWidth(): boolean; SetScrollPosition(vPos: Vec2, bScroll: boolean): RichListBox; GetScrollPosition(): Vec2; GetScrollSize(): Vec2; GetScrollMax(): Vec2; SetSelectionMode(nSelMode: RichListBoxSelectionMode): RichListBox; GetSelectionMode(): RichListBoxSelectionMode; SetViewMode(nViewMode: RichListBoxViewMode): RichListBox; GetViewMode(): RichListBoxViewMode; SetTileSize(vSize: DpiSize_2): RichListBox; GetTileSize(): DpiSize_2; SetTileColumnPriority(order: number[]): RichListBox; GetTileColumnPriority(): Array; SetItemSpace(vSize: DpiSize_2): RichListBox; GetItemSpace(): DpiSize_2; SetTreeStyle(b: boolean): RichListBox; GetTreeStyle(): boolean; SetItemCheck(nSelMode: RichListBoxItemCheck): RichListBox; GetItemCheck(): RichListBoxItemCheck; SetIconSize(nMode: RichListBoxViewMode, vSize: DpiSize): RichListBox; GetIconSize(nMode: RichListBoxViewMode): DpiSize; SetIconNameColumn(nColumn: number): RichListBox; GetIconNameColumn(): number; SetListItemWidth(nColumn: DpiSize): RichListBox; GetListItemWidth(): DpiSize; GetListRect(): Rect; OnSelectionChange(/**/ fn: (sender: RichListBox) => void): RichListBox; OnSelectionEnd(/**/ fn: (sender: RichListBox) => void): RichListBox; OnDoubleClick(/**/ fn: (sender: RichListBox, nIndex: number) => void): RichListBox; OnRightClick(/**/ fn: (sender: RichListBox, nIndex: number) => void): RichListBox; OnDragBegin(/**/ fn: (sender: RichListBox) => void): RichListBox; OnGlyphClick(/**/ fn: (sender: RichListBox, nIndex: number) => void): RichListBox; OnItemCheck(/**/ fn: (sender: RichListBox, nIndex: number) => void): RichListBox; } declare const RichListBox_base: IRichListBox; export declare class RichListBox extends RichListBox_base { ItemGetRect(nIndex: number): Rect; GetListRect(): Rect; GetScrollPosition(): Vec2; GetScrollSize(): Vec2; GetScrollMax(): Vec2; GetHeader(): Header; } export {};