← All compilation units

Flyology_TUI.Components.Tables

Description

"="

function "=" (Left, Right : Id_Type) return Boolean
Parameters
Left
Right
Return value

Alignment

type Alignment is (Align_Left, Align_Center, Align_Right);
Enumeration literals
Align_Left
Align_Center
Align_Right

Appearance

type Appearance is record
   Header   : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Normal   : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Selected : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Focused  : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Muted    : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Divider  : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
end record;
Record fields
Header
Normal
Selected
Focused
Muted
Divider

Capacity

Capacity : Positive;

Cell

function Cell
(Item : Item_Type; Column : Column_Id) return Wide_Wide_String
Parameters
Item
Column
Return value

Clear_Selection

procedure Clear_Selection (Item : in out Model)
Parameters
Item

Column_Definition

type Column_Definition is record
   Heading       : Text.Unbounded_Wide_Wide_String;
   Width         : Natural := 0;
   Minimum_Width : Natural := 0;
   Align         : Alignment := Align_Left;
   Sortable      : Boolean := False;
end record;
Record fields
Heading
Width
Minimum_Width
Align
Sortable

Column_Definitions

type Column_Definitions is array (Column_Id) of Column_Definition;

Column_Id

type Column_Id is (<>);

Column_Region

function Column_Region
  (Item : Model; Column : Column_Id) return Flyology_TUI.Geometry.Rectangle
Parameters
Item
Column
Return value

Create

function Create
  (Values        : Item_Array;
   Columns       : Column_Definitions;
   Viewport_Rows : Natural := 8;
   Enabled       : Boolean := True) return Model
Parameters
Values
Columns
Viewport_Rows
Enabled
Return value

First_Visible_Row

function First_Visible_Row (Item : Model) return Natural
Parameters
Item
Return value

Focus_Area

type Focus_Area is (Row_Area, Header_Area);
Enumeration literals
Row_Area
Header_Area

Focus_Zone

function Focus_Zone (Item : Model) return Focus_Area

Row and header focus are distinct. Up from the first row enters the header; Down returns to the preserved row selection.

Parameters
Item
Return value

Focused_Column

function Focused_Column (Item : Model) return Column_Id

The column targeted by header keyboard input and sort activation.

Parameters
Item
Return value

Focused_Id

function Focused_Id (Item : Model) return Id_Type
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 Flyology_TUI.Components.Interactions.Update_Result
Parameters
Item
Event
Return value

Handle

function Handle
  (Item  : in out Model;
   Event : Flyology_TUI.Mouse.Local_Event)
   return Flyology_TUI.Components.Interactions.Update_Result
Parameters
Item
Event
Return value

Has_Selection

function Has_Selection (Item : Model) return Boolean
Parameters
Item
Return value

Header_Region

function Header_Region
  (Item : Model) return Flyology_TUI.Geometry.Rectangle
Parameters
Item
Return value

Height

function Height (Item : Model) return Natural
Parameters
Item
Return value

Id_Of

function Id_Of (Item : Item_Type) return Id_Type
Parameters
Item
Return value

Id_Type

type Id_Type is private;

Is_Empty

function Is_Empty (Item : Model) return Boolean
Parameters
Item
Return value

Is_Enabled

function Is_Enabled (Item : Model) return Boolean
Parameters
Item
Return value

Item_Array

type Item_Array is array (Positive range <>) of Item_Type;

Item_Type

type Item_Type is private;

Length

function Length (Item : Model) return Natural
Parameters
Item
Return value

Less

function Less
(Left, Right : Item_Type; Column : Column_Id) return Boolean
Parameters
Left
Right
Column
Return value

Model

type Model is tagged private;

Render

function Render
  (Item      : Model;
   Look      : Appearance;
   Has_Focus : Boolean := False) return Flyology_TUI.Surfaces.Surface
Parameters
Item
Look
Has_Focus
Return value

Render

function Render
  (Item      : Model;
   Theme     : Flyology_TUI.Themes.Theme;
   Has_Focus : Boolean := False) return Flyology_TUI.Surfaces.Surface
Parameters
Item
Theme
Has_Focus
Return value

Row_Id

function Row_Id
  (Item : Model; Display_Position : Positive) return Id_Type
Parameters
Item
Display_Position
Return value

Select_Id

procedure Select_Id (Item : in out Model; Id : Id_Type)
Parameters
Item
Id

Selected_Id

function Selected_Id (Item : Model) return Id_Type
Parameters
Item
Return value

Set_Columns

procedure Set_Columns
  (Item : in out Model; Columns : Column_Definitions)
Parameters
Item
Columns

Set_Enabled

procedure Set_Enabled (Item : in out Model; Enabled : Boolean)
Parameters
Item
Enabled

Set_Rows

procedure Set_Rows (Item : in out Model; Values : Item_Array)

Replacement validates capacity and identity before mutating the model. A surviving selected ID remains selected after replacement or sorting.

Parameters
Item
Values

Set_Viewport_Rows

procedure Set_Viewport_Rows (Item : in out Model; Rows : Natural)
Parameters
Item
Rows

Sort

function Sort (Item : Model) return Sort_Description
Parameters
Item
Return value

Sort_By

procedure Sort_By
  (Item      : in out Model;
   Column    : Column_Id;
   Direction : Sort_Direction)
Parameters
Item
Column
Direction

Sort_Description

type Sort_Description is record
   Direction : Sort_Direction := Unsorted;
   Column    : Column_Id := Column_Id'First;
end record;
Record fields
Direction
Column

Sort_Direction

type Sort_Direction is (Unsorted, Ascending, Descending);
Enumeration literals
Unsorted
Ascending
Descending

Update

procedure Update
  (Item  : in out Model;
   Event : Flyology_TUI.Events.Terminal_Event)
Parameters
Item
Event

Update

procedure Update
  (Item  : in out Model;
   Event : Flyology_TUI.Mouse.Local_Event)
Parameters
Item
Event

Viewport_Rows

function Viewport_Rows (Item : Model) return Natural
Parameters
Item
Return value

Visible_Row_Count

function Visible_Row_Count (Item : Model) return Natural
Parameters
Item
Return value

Visible_Row_Id

function Visible_Row_Id
  (Item : Model; Visible_Position : Positive) return Id_Type
Parameters
Item
Visible_Position
Return value

Visible_Row_Region

function Visible_Row_Region
  (Item : Model; Visible_Position : Positive)
   return Flyology_TUI.Geometry.Rectangle
Parameters
Item
Visible_Position
Return value

Width

function Width (Item : Model) return Natural
Parameters
Item
Return value