aboutsummaryrefslogtreecommitdiff
path: root/src/fltk-widgets-groups-browsers-textline.ads
diff options
context:
space:
mode:
authorJedidiah Barber <contact@jedbarber.id.au>2025-01-21 21:04:54 +1300
committerJedidiah Barber <contact@jedbarber.id.au>2025-01-21 21:04:54 +1300
commitb4438b2fbe895694be98e6e8426103deefc51448 (patch)
tree760d86cd7c06420a91dad102cc9546aee73146fc /src/fltk-widgets-groups-browsers-textline.ads
parenta4703a65b015140cd4a7a985db66264875ade734 (diff)
Split public API and private implementation files into different directories
Diffstat (limited to 'src/fltk-widgets-groups-browsers-textline.ads')
-rw-r--r--src/fltk-widgets-groups-browsers-textline.ads446
1 files changed, 0 insertions, 446 deletions
diff --git a/src/fltk-widgets-groups-browsers-textline.ads b/src/fltk-widgets-groups-browsers-textline.ads
deleted file mode 100644
index 3ef7322..0000000
--- a/src/fltk-widgets-groups-browsers-textline.ads
+++ /dev/null
@@ -1,446 +0,0 @@
-
-
--- Programmed by Jedidiah Barber
--- Released into the public domain
-
-
-with
-
- FLTK.Images;
-
-private with
-
- Ada.Containers.Vectors,
- Interfaces.C,
- System;
-
-
-package FLTK.Widgets.Groups.Browsers.Textline is
-
-
- type Textline_Browser is new Browser with private;
-
- type Textline_Browser_Reference (Data : not null access Textline_Browser'Class) is
- limited null record with Implicit_Dereference => Data;
-
- type Line_Position is (Top, Bottom, Middle);
-
- type Column_Widths is array (Positive range <>) of Integer;
-
-
- Browser_Load_Error : exception;
-
-
-
-
- package Forge is
-
- function Create
- (X, Y, W, H : in Integer;
- Text : in String := "")
- return Textline_Browser;
-
- function Create
- (Parent : in out Groups.Group'Class;
- X, Y, W, H : in Integer;
- Text : in String := "")
- return Textline_Browser;
-
- end Forge;
-
-
-
-
- -- Directly manipulating lines
-
- procedure Add
- (This : in out Textline_Browser;
- Text : in String);
-
- procedure Insert
- (This : in out Textline_Browser;
- Above : in Positive;
- Text : in String);
-
- -- To destination calculated after From line is removed.
- -- Also, note that To/From ordering is opposite from C++
- procedure Move
- (This : in out Textline_Browser;
- From, To : in Positive);
-
- procedure Swap
- (This : in out Textline_Browser;
- A, B : in Positive);
-
- procedure Remove
- (This : in out Textline_Browser;
- Line : in Positive);
-
- procedure Clear
- (This : in out Textline_Browser);
-
- function Number_Of_Lines
- (This : in Textline_Browser)
- return Natural;
-
-
-
-
- -- Loading text and text size
-
- procedure Load
- (This : in out Textline_Browser;
- File : in String);
-
- function Get_Line_Text
- (This : in Textline_Browser;
- Line : in Positive)
- return String;
-
- procedure Set_Line_Text
- (This : in out Textline_Browser;
- Line : in Positive;
- Text : in String);
-
- function Get_Text_Size
- (This : in Textline_Browser)
- return Font_Size;
-
- procedure Set_Text_Size
- (This : in out Textline_Browser;
- Size : in Font_Size);
-
-
-
-
- -- Columns and formatting
-
- function Get_Column_Character
- (This : in Textline_Browser)
- return Character;
-
- procedure Set_Column_Character
- (This : in out Textline_Browser;
- Value : in Character);
-
- function Get_Column_Widths
- (This : in Textline_Browser)
- return Column_Widths;
-
- -- An internal copy is kept of Widths, unlike the C++ version
- procedure Set_Column_Widths
- (This : in out Textline_Browser;
- Widths : in Column_Widths);
-
- function Get_Format_Character
- (This : in Textline_Browser)
- return Character;
-
- procedure Set_Format_Character
- (This : in out Textline_Browser;
- Value : in Character);
-
-
-
-
- -- Line positioning
-
- function Get_Top_Line
- (This : in Textline_Browser)
- return Positive;
-
- procedure Set_Top_Line
- (This : in out Textline_Browser;
- Line : in Positive);
-
- procedure Set_Middle_Line
- (This : in out Textline_Browser;
- Line : in Positive);
-
- procedure Set_Bottom_Line
- (This : in out Textline_Browser;
- Line : in Positive);
-
- procedure Set_Line_Position
- (This : in out Textline_Browser;
- Line : in Positive;
- Place : in Line_Position);
-
-
-
-
- -- Line selection
-
- function Set_Select
- (This : in out Textline_Browser;
- Line : in Positive;
- State : in Boolean := True)
- return Boolean;
-
- procedure Set_Select
- (This : in out Textline_Browser;
- Line : in Positive;
- State : in Boolean := True);
-
- function Is_Selected
- (This : in Textline_Browser;
- Line : in Positive)
- return Boolean;
-
- function Selected_Index
- (This : in Textline_Browser)
- return Natural;
-
-
-
-
- -- Visibility, showing, hiding
-
- function Is_Visible
- (This : in Textline_Browser;
- Line : in Positive)
- return Boolean;
-
- procedure Make_Visible
- (This : in out Textline_Browser;
- Line : in Positive);
-
- function Is_Displayed
- (This : in Textline_Browser;
- Line : in Positive)
- return Boolean;
-
- procedure Show_Line
- (This : in out Textline_Browser;
- Line : in Positive);
-
- procedure Hide_Line
- (This : in out Textline_Browser;
- Line : in Positive);
-
- procedure Show
- (This : in out Textline_Browser);
-
- procedure Hide
- (This : in out Textline_Browser);
-
-
-
-
- -- Resizing
-
- procedure Resize
- (This : in out Textline_Browser;
- W, H : in Integer);
-
-
-
-
- -- Icons for specific lines
-
- function Has_Icon
- (This : in Textline_Browser;
- Line : in Positive)
- return Boolean;
-
- function Get_Icon
- (This : in Textline_Browser;
- Line : in Positive)
- return FLTK.Images.Image_Reference;
-
- procedure Set_Icon
- (This : in out Textline_Browser;
- Line : in Positive;
- Icon : in FLTK.Images.Image'Class);
-
- procedure Remove_Icon
- (This : in out Textline_Browser;
- Line : in Positive);
-
-
-
-
- -- List dimensions
-
- function Full_List_Height
- (This : in Textline_Browser)
- return Integer;
-
- function Average_Item_Height
- (This : in Textline_Browser)
- return Integer;
-
-
-
-
- -- Item implementation
-
- function Item_Width
- (This : in Textline_Browser;
- Item : in Item_Cursor)
- return Integer;
-
- function Item_Height
- (This : in Textline_Browser;
- Item : in Item_Cursor)
- return Integer;
-
- function Item_First
- (This : in Textline_Browser)
- return Item_Cursor;
-
- function Item_Last
- (This : in Textline_Browser)
- return Item_Cursor;
-
- function Item_Next
- (This : in Textline_Browser;
- Item : in Item_Cursor)
- return Item_Cursor;
-
- function Item_Previous
- (This : in Textline_Browser;
- Item : in Item_Cursor)
- return Item_Cursor;
-
- function Item_At
- (This : in Textline_Browser;
- Index : in Positive)
- return Item_Cursor;
-
- procedure Item_Select
- (This : in out Textline_Browser;
- Item : in Item_Cursor;
- State : in Boolean := True);
-
- function Item_Selected
- (This : in Textline_Browser;
- Item : in Item_Cursor)
- return Boolean;
-
- procedure Item_Swap
- (This : in out Textline_Browser;
- A, B : in Item_Cursor);
-
- function Item_Text
- (This : in Textline_Browser;
- Item : in Item_Cursor)
- return String;
-
- procedure Item_Draw
- (This : in Textline_Browser;
- Item : in Item_Cursor;
- X, Y, W, H : in Integer);
-
-
-
-
- function Line_Number
- (This : in Textline_Browser;
- Item : in Item_Cursor)
- return Natural;
-
-
-private
-
-
- type C_Col_Widths is array (Positive range <>) of aliased Interfaces.C.int
- with Convention => C;
-
- type C_Col_Widths_Access is access C_Col_Widths;
-
-
- type Image_Access is access FLTK.Images.Image'Class;
-
- package Image_Vectors is new Ada.Containers.Vectors
- (Index_Type => Positive,
- Element_Type => Image_Access);
-
-
- type Item_Override_Fun is
- (Item_Width_Ptr, Item_Height_Ptr,
- Item_First_Ptr, Item_Last_Ptr,
- Item_Next_Ptr, Item_Previous_Ptr,
- Item_At_Ptr, Item_Select_Ptr,
- Item_Selected_Ptr, Item_Swap_Ptr,
- Item_Text_Ptr, Item_Draw_Ptr);
- type Item_Override_Fun_Ptr_Array is array (Item_Override_Fun) of System.Address;
-
-
- type Textline_Browser is new Browser with record
- Columns : C_Col_Widths_Access;
- Icons : Image_Vectors.Vector;
- Item_Override_Ptrs : Item_Override_Fun_Ptr_Array;
- end record;
-
- overriding procedure Initialize
- (This : in out Textline_Browser);
-
- overriding procedure Finalize
- (This : in out Textline_Browser);
-
- procedure Extra_Init
- (This : in out Textline_Browser;
- X, Y, W, H : in Integer;
- Text : in String);
-
- procedure Extra_Final
- (This : in out Textline_Browser);
-
-
- pragma Inline (Add);
- pragma Inline (Insert);
- pragma Inline (Move);
- pragma Inline (Swap);
- pragma Inline (Remove);
- pragma Inline (Clear);
- pragma Inline (Number_Of_Lines);
-
- pragma Inline (Set_Line_Text);
- pragma Inline (Get_Text_Size);
- pragma Inline (Set_Text_Size);
-
- pragma Inline (Get_Column_Character);
- pragma Inline (Set_Column_Character);
- pragma Inline (Get_Format_Character);
- pragma Inline (Set_Format_Character);
-
- pragma Inline (Get_Top_Line);
- pragma Inline (Set_Top_Line);
- pragma Inline (Set_Middle_Line);
- pragma Inline (Set_Bottom_Line);
- pragma Inline (Set_Line_Position);
-
- pragma Inline (Selected_Index);
-
- pragma Inline (Is_Visible);
- pragma Inline (Make_Visible);
- pragma Inline (Show_Line);
- pragma Inline (Hide_Line);
- pragma Inline (Show);
- pragma Inline (Hide);
-
- pragma Inline (Has_Icon);
- pragma Inline (Get_Icon);
-
- pragma Inline (Full_List_Height);
- pragma Inline (Average_Item_Height);
-
- pragma Inline (Item_Width);
- pragma Inline (Item_Height);
- pragma Inline (Item_First);
- pragma Inline (Item_Last);
- pragma Inline (Item_Next);
- pragma Inline (Item_Previous);
- pragma Inline (Item_At);
- pragma Inline (Item_Select);
- pragma Inline (Item_Swap);
- pragma Inline (Item_Text);
- pragma Inline (Item_Draw);
-
- pragma Inline (Line_Number);
-
-
-end FLTK.Widgets.Groups.Browsers.Textline;
-
-