A desktop menu bar. Clicking a title opens its dropdown (UIContextMenu); while one is open, hovering another title switches to it. An optional brand label renders before the menus and arbitrary widgets can be laid over the right side by the owner.

Constructor

new(width:Float, height:Float)

Parameters:

width

layout width (typically spans the window)

height

the bar height

Variables

@:value("")brand:String = ""

Bold leading label rendered before the menu titles (the application name).

@:value(12)fontSize:Int = 12

read onlyisOpen:Bool

true while a dropdown is open.

Methods

closeDropdown():Void

Closes the open dropdown, if any.

setMenus(menus:Array<UIMenuDef>):Void

Replaces the menu set.

Parameters:

menus

the top-level menus; each items factory runs on every open

Inherited Variables

Defined by UIComponent

@:value(true)enabled:Bool = true

Disabled widgets ignore the pointer and typically render dimmed.

@:value(0)read onlyh:Float = 0

Layout height in UI units.

@:value(MouseCursor.BUTTON)hoverCursor:MouseCursor = MouseCursor.BUTTON

Native cursor while hovering (interactive widgets; null keeps the arrow).

@:value(false)read onlyhovered:Bool = false

true while the cursor is over this widget.

@:value(null)onClick:() ‑> Void = null

Fired on a completed click (press + release on this widget).

@:value(null)onHover:() ‑> Void = null

Fired when the cursor first enters this widget (hover-driven descriptions/previews).

@:value(null)onRightClick:() ‑> Void = null

Fired on a right mouse press over this widget (context menus).

@:value(false)read onlypressed:Bool = false

true while a press that started here is held.

@:value(null)tooltip:String = null

Optional tooltip text (already-localized or a fixed string).

@:value(null)tooltipShortcut:String = null

Optional right-aligned shortcut hint rendered in the tooltip.

@:value(0)read onlyw:Float = 0

Layout width in UI units (independent of DisplayObject's content-derived width).

Inherited Methods

Defined by UIComponent

invalidate():Void

Schedules a repaint for the next frame (cheap; deduplicated).

resize(width:Float, height:Float):Void

Sets the layout size and repaints when it changed.

Parameters:

width

the new layout width in UI units

height

the new layout height in UI units