← All compilation units

Flyology_TUI.Components.Progress_Groups

Description

Add_Determinate

procedure Add_Determinate
  (Item          : in out Model;
   Id            : Item_Id;
   Label         : Wide_Wide_String;
   Relative_Weight : Weight := 1.0;
   Value         : Fraction := 0.0;
   Work          : Work_State := Running)
Parameters
Item
Id
Label
Relative_Weight
Value
Work

Add_Indeterminate

procedure Add_Indeterminate
  (Item          : in out Model;
   Id            : Item_Id;
   Label         : Wide_Wide_String;
   Relative_Weight : Weight := 1.0;
   Work          : Work_State := Running)
Parameters
Item
Id
Label
Relative_Weight
Work

Advance

procedure Advance (Item : in out Model; Steps : Positive := 1)

Advance only Running, Indeterminate rows. Applications call this from their own Tick/update policy; the component owns no clock or task.

Parameters
Item
Steps

Appearance

type Appearance is record
   Label         : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Selected      : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Complete      : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Remaining     : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Indeterminate : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Pending_State : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Running_State : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Paused_State  : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Success_State : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Failed_State  : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Cancelled_State : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
end record;
Record fields
Label
Selected
Complete
Remaining
Indeterminate
Pending_State
Running_State
Paused_State
Success_State
Failed_State
Cancelled_State

Contains

function Contains (Item : Model; Id : Item_Id) return Boolean
Parameters
Item
Id
Return value

Create

function Create (Width : Natural := 40) return Model
Parameters
Width
Return value

Fraction

subtype Fraction is Long_Float range 0.0 .. 1.0;

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

Is_Empty

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

Item_Id

type Item_Id is private;

Length

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

Maximum_Items

Maximum_Items : Positive;

Mode

function Mode (Item : Model; Id : Item_Id) return Progress_Mode
Parameters
Item
Id
Return value

Model

type Model is tagged private;

Progress_Mode

type Progress_Mode is (Determinate, Indeterminate);
Enumeration literals
Determinate
Indeterminate

Remove

procedure Remove (Item : in out Model; Id : Item_Id)
Parameters
Item
Id

Render

function Render
  (Item       : Model;
   Appearance : Progress_Groups.Appearance := (others => <>))
   return Flyology_TUI.Surfaces.Surface
Parameters
Item
Appearance
Return value

Render

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

Render_Segments

function Render_Segments
  (Item       : Model;
   Width      : Natural;
   Appearance : Progress_Groups.Appearance := (others => <>))
   return Flyology_TUI.Surfaces.Surface

Render all positive-weight rows as adjacent segments in one line. Segment widths follow Relative_Weight in insertion order. Remaining cells after flooring go to the largest fractional remainders, with insertion order breaking ties. Determinate segments use their own fraction; Indeterminate segments render Phase, which advances only for Running rows. Succeeded overrides measurement mode and renders its segment completely filled.

Parameters
Item
Width
Appearance
Return value

Render_Segments

function Render_Segments
  (Item  : Model;
   Width : Natural;
   Theme : Flyology_TUI.Themes.Theme)
   return Flyology_TUI.Surfaces.Surface
Parameters
Item
Width
Theme
Return value

Select_Item

procedure Select_Item (Item : in out Model; Id : Item_Id)
Parameters
Item
Id

Selected_Id

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

Set_Mode

procedure Set_Mode
  (Item : in out Model;
   Id   : Item_Id;
   Mode : Progress_Mode)
Parameters
Item
Id
Mode

Set_Value

procedure Set_Value
  (Item : in out Model;
   Id   : Item_Id;
   Value : Fraction)
Parameters
Item
Id
Value

Set_Width

procedure Set_Width (Item : in out Model; Width : Natural)

Change the retained row width without changing entries or selection.

Parameters
Item
Width

Set_Work_State

procedure Set_Work_State
  (Item : in out Model;
   Id   : Item_Id;
   Work : Work_State)
Parameters
Item
Id
Work

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

Value

function Value (Item : Model; Id : Item_Id) return Fraction
Parameters
Item
Id
Return value

Weight

subtype Weight is Long_Float range 0.0 .. Long_Float'Last;

Weighted_Total

function Weighted_Total (Item : Model) return Fraction

Weighted mean of positive-weight contributions. Cancelled rows and Running, Paused, or Failed Indeterminate rows are excluded. Succeeded rows contribute 1.0 regardless of mode; Pending Indeterminate rows contribute 0.0; every other Determinate row contributes Value. An empty total is 0.0.

Parameters
Item
Return value

Width

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

Work_State

type Work_State is
  (Pending, Running, Paused, Succeeded, Failed, Cancelled);
Enumeration literals
Pending
Running
Paused
Succeeded
Failed
Cancelled

Work_Status

function Work_Status (Item : Model; Id : Item_Id) return Work_State
Parameters
Item
Id
Return value