import { IControl } from "../UiControl"; import { WindowLike } from "./UiWindow"; import { Vec2 } from "../../Math/Vector"; import { Hotkey } from "../UiCommon"; export declare enum TextBoxLimitMode { Char = 0, Cluster = 1 } export declare enum TextBoxKeyInput { None = 0, AllowSingleKey = 1, AllowCtrl = 2, AllowShift = 4, AllowMenu = 8, AllowSys = 16, AllowCtrlShift = 32, AllowCtrlMenu = 64, AllowCtrlSys = 128, AllowShiftMenu = 256, AllowShiftSys = 512, AllowMenuSys = 1024, AllowCtrlShiftMenu = 2048, AllowCtrlShiftSys = 4096, AllowCtrlMenuSys = 8192, AllowShiftMenuSys = 16384, AllowCtrlShiftMenuSys = 32768, AllowSingleModifier = 65536, AllowAll = 65535, AllowLocal = 2415 } export declare enum TextBoxChangeReason { Input = 0, UpDown = 1, Reset = 2, Spin = 3, SpinCommit = 4, SpinCancel = 5 } export interface ITextBox extends IControl { new (window: WindowLike, key?: string | number): ITextBox; SetText(s: string): TextBox; GetText(): string; SetCue(s: string): TextBox; GetCue(): string; SetLimit(s: number): TextBox; GetLimit(): number; SetLimitMode(s: TextBoxLimitMode): TextBox; GetLimitMode(): TextBoxLimitMode; SetNumeric(s: number): TextBox; GetNumeric(): number; SetRange(fMin: number, fMax: number): TextBox; GetRange(): Vec2; SetStep(f: number): TextBox; GetStep(): number; SetDefault(f: number): TextBox; GetDefault(): number; SetValue(f: number): TextBox; GetValue(): number; SetInvalid(s: string): TextBox; GetInvalid(): string; SetValid(s: string): TextBox; GetValid(): string; SetReadOnly(s: boolean): TextBox; GetReadOnly(): boolean; SetPassword(s: string): TextBox; GetPassword(): string; SetIme(n: boolean): TextBox; GetIme(): boolean; SetRememberCaret(n: boolean): TextBox; GetRememberCaret(): boolean; SetHideSelection(n: boolean): TextBox; GetHideSelection(): boolean; SetBorder(n: boolean): TextBox; GetBorder(): boolean; SetForceCue(n: boolean): TextBox; GetForceCue(): boolean; SetKeyInputMode(n: TextBoxKeyInput): TextBox; GetKeyInputMode(): TextBoxKeyInput; SetKey(n: Hotkey): TextBox; GetKey(): Hotkey; SelectionSet(nStart: number, nEnd: number): TextBox; SelectionGet(): Vec2; SelectionGetText(): string; SelectionReplace(s: string): TextBox; GetCaretPos(): Vec2; OnChange(fn: (sender: TextBox, nReason: TextBoxChangeReason) => void): TextBox; OnSpinStart(fn: (sender: TextBox) => void): TextBox; OnSpinEnd(fn: (sender: TextBox, bCanceled: boolean) => void): TextBox; OnSpin(fn: (sender: TextBox) => void): TextBox; } declare const TextBox_base: ITextBox; export declare class TextBox extends TextBox_base { SelectionGet(): Vec2; GetRange(): Vec2; GetCaretPos(): Vec2; } export {};