31 lines
907 B
TypeScript
31 lines
907 B
TypeScript
|
import { ClientIcon } from "svg-sprites/client-icons";
|
||
|
import { RemoteIconInfo } from "tc-shared/file/Icons";
|
||
|
export declare type MenuBarEntrySeparator = {
|
||
|
uniqueId?: string;
|
||
|
type: "separator";
|
||
|
};
|
||
|
export declare type MenuBarEntryNormal = {
|
||
|
uniqueId?: string;
|
||
|
type: "normal";
|
||
|
label: string;
|
||
|
disabled?: boolean;
|
||
|
visible?: boolean;
|
||
|
icon?: ClientIcon | RemoteIconInfo;
|
||
|
click?: () => void;
|
||
|
children?: MenuBarEntry[];
|
||
|
};
|
||
|
export declare type MenuBarEntry = MenuBarEntrySeparator | MenuBarEntryNormal;
|
||
|
export interface MenuBarDriver {
|
||
|
/**
|
||
|
* Separators on top level might not be rendered.
|
||
|
* @param entries
|
||
|
*/
|
||
|
setEntries(entries: MenuBarEntry[]): any;
|
||
|
/**
|
||
|
* Removes the menu bar
|
||
|
*/
|
||
|
clearEntries(): any;
|
||
|
}
|
||
|
export declare function getMenuBarDriver(): MenuBarDriver;
|
||
|
export declare function setMenuBarDriver(driver_: MenuBarDriver): void;
|