import { IControl } from "../UiControl"; import { WindowLike } from "./UiWindow"; import { IconCache, DpiSize, StringKey, DpiSize_2 } from "../UiCommon"; export declare enum MenuFlag { None = 0, State = 1, Type = 2, Text = 4, TextSub = 8, Key = 16, Icon = 32, Context = 64, Size = 128 } export declare enum MenuType { Text = 0, Section = 1, Separator = 2, Content = 3 } export declare enum MenuState { Enabled = 0, Disabled = 1, Checked = 2, Radio = 4, Default = 8, Break = 16, NoClose = 32, NoClose2 = 64, NoClose3 = 128 } export declare class MenuItem { Flag: MenuFlag; State: MenuState; Type: MenuType; Index: number; Id: number; Icon: IconCache; Text: string; TextSub: string; Key: string; Size: DpiSize_2; constructor(id?: number, type?: MenuType, icon?: IconCache, text?: string, textSub?: string, key?: string); } export interface IMenu extends IControl { new (window: WindowLike, key?: StringKey): IMenu; InsertItem(pItem: MenuItem): number; InsertSubMenu(pItem: MenuItem): Menu; RemoveById(nId: number): boolean; RemoveByIndex(nIndex: number): boolean; SetById(pItem: MenuItem): boolean; SetByIndex(pItem: MenuItem): boolean; GetById(nId: number): MenuItem; GetByIndex(nIndex: number): MenuItem; GetSubMenuById(nId: number): Menu; GetSubMenuByIndex(nIndex: number): Menu; Clear(): Menu; GetCount(): number; SetItemHeight(nHeight: DpiSize): Menu; GetItemHeight(): DpiSize; SetCheckById(nId: number, b: boolean): number; GetCheckById(nId: number): boolean; SetRadioId(nId: number): number; GetRadioId(): number; SetGroupRadioId(nIdStart: number, nIdEnd: number, nId: number): number; GetGroupRadioId(nIdStart: number, nIdEnd: number): number; SetContentById(nId: number, pControl: IControl): IControl; SetContentByIndex(nIndex: number, pControl: IControl): IControl; GetContentById(nId: number): IControl; GetContentByIndex(nIndex: number): IControl; OnClick(fn: (sender: Menu, nId: number) => void): Menu; OnRightClick(fn: (sender: Menu, nId: number) => void): Menu; OnMiddleClick(fn: (sender: Menu, nId: number) => void): Menu; OnShow(fn: (sender: Menu) => void): Menu; OnHide(fn: (sender: Menu) => void): Menu; } declare const Menu_base: IMenu; export declare class Menu extends Menu_base { private m_Content; private m_SubMenu; RemoveById(nId: number): boolean; RemoveByIndex(nIndex: number): boolean; Clear(): Menu; SetContentById(nId: number, pControl: IControl): IControl; SetContentByIndex(nIndex: number, pControl: IControl): IControl; InsertSubMenu(pItem: MenuItem): Menu; } export {};