Description
"="
function "=" (Left, Right : Menu_Id) return Boolean
Parameters
- Left
- Right
- Left
- Right
Return value
"="
function "=" (Left, Right : Menu_Id) return Boolean
Parameters
- Left
- Right
- Left
- Right
Return value
Action
function Action
(Id : Item_Id; Menu : Menu_Id; Enabled : Boolean := True)
return Item_Definition
Parameters
- Id
- Menu
- Enabled
Return value
Activated_Item
function Activated_Item (Item : Update_Result) return Item_Id
Parameters
- Item
Return value
Activated_Menu
function Activated_Menu (Item : Update_Result) return Menu_Id
Parameters
- Item
Return value
Appearance
type Appearance is record
Bar : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
Menu : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
Focused : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
Highlighted : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
Disabled : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
Separator : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
Shortcut : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
Marker : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
end record;
Record fields
- Bar
- Menu
- Focused
- Highlighted
- Disabled
- Separator
- Shortcut
- Marker
Bar_Region
function Bar_Region
(Item : Presentation) return Flyology_TUI.Geometry.Rectangle
Parameters
- Item
Return value
Check
function Check
(Id : Item_Id;
Menu : Menu_Id;
Checked : Boolean := False;
Enabled : Boolean := True) return Item_Definition
Parameters
- Id
- Menu
- Checked
- Enabled
Return value
Checked_Value
function Checked_Value (Item : Update_Result) return Boolean
Parameters
- Item
Return value
Close
procedure Close (Item : in out Model)
Parameters
- Item
Contains_Item
function Contains_Item (Item : Model; Id : Item_Id) return Boolean
Parameters
- Item
- Id
Return value
Contains_Menu
function Contains_Menu (Item : Model; Id : Menu_Id) return Boolean
Parameters
- Item
- Id
Return value
Create
function Create
(Menus : Menu_Array; Items : Item_Array; Enabled : Boolean := True)
return Model
Parameters
- Menus
- Items
- Enabled
Return value
Dismiss
function Dismiss (Item : in out Model) return Update_Result
Parameters
- Item
Return value
Focused_Menu
function Focused_Menu (Item : Model) return Menu_Id
Parameters
- Item
Return value
Frame
function Frame
(Item : Presentation) return Flyology_TUI.Surfaces.Surface
Parameters
- Item
Return value
From_Theme
function From_Theme
(Theme : Flyology_TUI.Themes.Theme) return Appearance
Parameters
- Theme
Return value
Handle
function Handle
(Item : in out Model; Event : Flyology_TUI.Events.Terminal_Event)
return Update_Result
Parameters
- Item
- Event
Return value
Handle
function Handle
(Item : in out Model;
Event : Flyology_TUI.Mouse.Local_Event;
Layout : Presentation) return Update_Result
Event coordinates are local to Presentation.Frame. Any presentation predating a render- or routing-affecting mutation is rejected. A matching captured left release always relinquishes application capture; it activates only when no mutation invalidated the original press.
Parameters
- Item
- Event
- Layout
Return value
Has_Focused_Menu
function Has_Focused_Menu (Item : Model) return Boolean
Parameters
- Item
Return value
Has_Highlighted_Item
function Has_Highlighted_Item (Item : Model) return Boolean
Parameters
- Item
Return value
Has_Item_Region
function Has_Item_Region
(Item : Presentation; Id : Item_Id) return Boolean
Parameters
- Item
- Id
Return value
Has_Menu_Region
function Has_Menu_Region
(Item : Presentation; Id : Menu_Id) return Boolean
Parameters
- Item
- Id
Return value
Highlighted_Item
function Highlighted_Item (Item : Model) return Item_Id
Parameters
- Item
Return value
Interaction
function Interaction
(Item : Update_Result)
return Flyology_TUI.Components.Interactions.Update_Result
Parameters
- Item
Return value
Is_Checked
function Is_Checked (Item : Model; Id : Item_Id) return Boolean
Parameters
- Item
- Id
Return value
Is_Enabled
function Is_Enabled (Item : Model) return Boolean
Parameters
- Item
Return value
Is_Open
function Is_Open (Item : Model) return Boolean
Parameters
- Item
Return value
Item_Array
type Item_Array is array (Positive range <>) of Item_Definition;
Item_Count
function Item_Count (Item : Model) return Natural
Parameters
- Item
Return value
Item_Definition
type Item_Definition (Kind : Item_Kind := Action_Item) is record
Id : Item_Id;
Menu : Menu_Id;
Enabled : Boolean := True;
case Kind is
when Action_Item | Separator_Item => null;
when Check_Item =>
Checked : Boolean := False;
when Radio_Item =>
Group : Item_Id;
Selected : Boolean := False;
when Submenu_Item =>
Child : Menu_Id;
end case;
end record;
Record fields
- Kind
- Id
- Menu
- Enabled
- Checked
- Group
- Selected
- Child
Item_Id
type Item_Id is private;
Item_Kind
type Item_Kind is
(Action_Item, Check_Item, Radio_Item, Submenu_Item, Separator_Item);
Enumeration literals
- Action_Item
- Check_Item
- Radio_Item
- Submenu_Item
- Separator_Item
Item_Label
function Item_Label (Id : Item_Id) return Wide_Wide_String
Parameters
- Id
Return value
Item_Mnemonic
function Item_Mnemonic
(Id : Item_Id) return Wide_Wide_Character
Parameters
- Id
Return value
Item_Region
function Item_Region
(Item : Presentation; Id : Item_Id)
return Flyology_TUI.Geometry.Rectangle
Parameters
- Item
- Id
Return value
Maximum_Depth
Maximum_Depth : Positive;
Maximum_Items
Maximum_Items : Positive;
Maximum_Menus
Maximum_Menus : Positive;
Menu_Array
type Menu_Array is array (Positive range <>) of Menu_Definition;
Menu_Count
function Menu_Count (Item : Model) return Natural
Parameters
- Item
Return value
Menu_Definition
type Menu_Definition is record
Id : Menu_Id;
Top_Level : Boolean := True;
Enabled : Boolean := True;
end record;
Record fields
- Id
- Top_Level
- Enabled
Menu_Id
type Menu_Id is private;
Menu_Label
function Menu_Label (Id : Menu_Id) return Wide_Wide_String
Parameters
- Id
Return value
Menu_Mnemonic
function Menu_Mnemonic
(Id : Menu_Id) return Wide_Wide_Character
Parameters
- Id
Return value
Menu_Region
function Menu_Region
(Item : Presentation; Id : Menu_Id)
return Flyology_TUI.Geometry.Rectangle
Parameters
- Item
- Id
Return value
Model
type Model is tagged private;
Open_Depth
function Open_Depth (Item : Model) return Natural
Parameters
- Item
Return value
Open_Menu
procedure Open_Menu (Item : in out Model; Id : Menu_Id)
Parameters
- Item
- Id
Present
function Present
(Item : Model;
Width : Natural;
Height : Natural;
X : Integer;
Y : Integer;
Look : Appearance;
Has_Focus : Boolean := False) return Presentation
Width and Height are the complete overlay viewport. X and Y are signed menubar origins inside it. Frame and all queried regions are clipped to that viewport; Presentation retains no theme or callback.
Parameters
- Item
- Width
- Height
- X
- Y
- Look
- Has_Focus
Return value
Present
function Present
(Item : Model;
Width : Natural;
Height : Natural;
X : Integer;
Y : Integer;
Theme : Flyology_TUI.Themes.Theme;
Has_Focus : Boolean := False) return Presentation
Parameters
- Item
- Width
- Height
- X
- Y
- Theme
- Has_Focus
Return value
Presentation
type Presentation is private;
Radio
function Radio
(Id : Item_Id;
Menu : Menu_Id;
Group : Item_Id;
Selected : Boolean := False;
Enabled : Boolean := True) return Item_Definition
Parameters
- Id
- Menu
- Group
- Selected
- Enabled
Return value
Radio_Group
function Radio_Group (Item : Update_Result) return Item_Id
Parameters
- Item
Return value
Render
function Render
(Item : Model;
Width : Natural;
Height : Natural;
X : Integer;
Y : Integer;
Look : Appearance;
Has_Focus : Boolean := False)
return Flyology_TUI.Surfaces.Surface
Parameters
- Item
- Width
- Height
- X
- Y
- Look
- Has_Focus
Return value
Render
function Render
(Item : Model;
Width : Natural;
Height : Natural;
X : Integer;
Y : Integer;
Theme : Flyology_TUI.Themes.Theme;
Has_Focus : Boolean := False)
return Flyology_TUI.Surfaces.Surface
Parameters
- Item
- Width
- Height
- X
- Y
- Theme
- Has_Focus
Return value
Result_Kind
type Result_Kind is
(No_Result, Action_Activated, Check_Changed, Radio_Changed);
Enumeration literals
- No_Result
- Action_Activated
- Check_Changed
- Radio_Changed
Separator
function Separator (Id : Item_Id; Menu : Menu_Id) return Item_Definition
Parameters
- Id
- Menu
Return value
Set_Checked
procedure Set_Checked
(Item : in out Model; Id : Item_Id; Checked : Boolean := True)
Parameters
- Item
- Id
- Checked
Set_Content
procedure Set_Content
(Item : in out Model; Menus : Menu_Array; Items : Item_Array)
Replacement validates capacities, ids, references, radio selections, cycles, and Maximum_Depth before mutation. Mutable enabled, check/radio, focus, and open-path state follow stable ids. Pending activation is cancelled while capture ownership survives until the matching left-button release.
Parameters
- Item
- Menus
- Items
Set_Enabled
procedure Set_Enabled (Item : in out Model; Enabled : Boolean)
Parameters
- Item
- Enabled
Set_Item_Enabled
procedure Set_Item_Enabled
(Item : in out Model; Id : Item_Id; Enabled : Boolean := True)
Parameters
- Item
- Id
- Enabled
Set_Menu_Enabled
procedure Set_Menu_Enabled
(Item : in out Model; Id : Menu_Id; Enabled : Boolean := True)
Parameters
- Item
- Id
- Enabled
Shortcut_Label
function Shortcut_Label (Id : Item_Id) return Wide_Wide_String
Parameters
- Id
Return value
Submenu
function Submenu
(Id : Item_Id;
Menu : Menu_Id;
Child : Menu_Id;
Enabled : Boolean := True) return Item_Definition
Parameters
- Id
- Menu
- Child
- Enabled
Return value
Update_Result
type Update_Result (Kind : Result_Kind := No_Result) is private;
Record fields
- Kind