← All compilation units

Flyology_TUI.Components.Split_Panes

Description

Appearance

type Appearance is record
   Background : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
   Divider : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
   Focused_Divider : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
   Disabled : Flyology_TUI.Styles.Style :=
     Flyology_TUI.Styles.Default;
end record;
Record fields
Background
Divider
Focused_Divider
Disabled

Blur

procedure Blur (Item : in out Model)
Parameters
Item

Create

function Create
  (Flow           : Orientation;
   Width, Height  : Natural;
   First_Span     : Natural;
   First_Minimum  : Natural := 0;
   Second_Minimum : Natural := 0) return Model
Parameters
Flow
Width
Height
First_Span
First_Minimum
Second_Minimum
Return value

Divider_Region

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

First_Region

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

First_Span

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

Focus

procedure Focus (Item : in out Model)
Parameters
Item

Focused

function Focused (Item : Model) return Boolean
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

The arrows matching Flow move the focused divider; Shift accelerates.

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

Coordinates are local to the complete split pane. During a captured divider drag they may be outside it. If both minimums cannot fit, the first minimum has deterministic priority and the second receives the remaining cells.

Parameters
Item
Event
Return value

Is_Enabled

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

Model

type Model is tagged private;

Orientation

subtype Orientation is Flyology_TUI.Layouts.Boxes.Direction;

Render

function Render
  (Item       : Model;
   First      : Flyology_TUI.Surfaces.Surface;
   Second     : Flyology_TUI.Surfaces.Surface;
   Appearance : Split_Panes.Appearance)
   return Flyology_TUI.Surfaces.Surface
Parameters
Item
First
Second
Appearance
Return value

Render

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

Resize

procedure Resize
  (Item : in out Model;
   Width, Height : Natural)

Resize cancels active divider movement but preserves capture ownership until the next left release.

Parameters
Item
Width
Height

Second_Region

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

Set_Enabled

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

Disabling cancels divider movement but preserves the pending release of an already-acquired mouse capture.

Parameters
Item
Enabled

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