diff options
Diffstat (limited to 'src/adapad.adb')
-rw-r--r-- | src/adapad.adb | 113 |
1 files changed, 57 insertions, 56 deletions
diff --git a/src/adapad.adb b/src/adapad.adb index 5d53d7c..3868877 100644 --- a/src/adapad.adb +++ b/src/adapad.adb @@ -16,6 +16,19 @@ with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; package body Adapad is + -- forward declarations of helper functions + + procedure Set_Title; + function Safe_To_Discard return Boolean; + procedure Do_Save; + procedure Do_Save_As; + procedure Load_File (Name : in String); + procedure Save_File (Name : in String); + procedure Centre (Win : in out FLTK.Widgets.Groups.Windows.Window'Class); + + + + -- global state of the text editor Editor : Windows.Editor.Editor_Window := Windows.Editor.Create (800, 500); @@ -53,9 +66,8 @@ package body Adapad is -- callbacks for the menu - overriding procedure Call - (This : in New_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure New_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin if not Safe_To_Discard then return; end if; Filename := To_Unbounded_String (0); @@ -63,14 +75,13 @@ package body Adapad is Buffer.Remove_Selected_Text; Changed := False; Buffer.Call_Modify_Callbacks; - end Call; + end New_CB; - overriding procedure Call - (This : in Open_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure Open_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin if not Safe_To_Discard then return; end if; declare @@ -81,131 +92,119 @@ package body Adapad is Load_File (New_Filename); end if; end; - end Call; + end Open_CB; - overriding procedure Call - (This : in Save_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure Save_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin Do_Save; - end Call; + end Save_CB; - overriding procedure Call - (This : in Save_As_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure Save_As_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin Do_Save_As; - end Call; + end Save_As_CB; - overriding procedure Call - (This : in Quit_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure Quit_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin if not Safe_To_Discard then return; end if; Hide; - end Call; + end Quit_CB; - overriding procedure Call - (This : in Undo_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure Undo_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin Editor.Undo; - end Call; + end Undo_CB; - overriding procedure Call - (This : in Cut_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure Cut_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin Editor.Cut; - end Call; + end Cut_CB; - overriding procedure Call - (This : in Copy_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure Copy_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin Editor.Copy; - end Call; + end Copy_CB; - overriding procedure Call - (This : in Paste_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure Paste_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin Editor.Paste; - end Call; + end Paste_CB; - overriding procedure Call - (This : in Delete_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure Delete_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin Editor.Delete; - end Call; + end Delete_CB; - overriding procedure Call - (This : in Select_All_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure Select_All_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin Buffer.Set_Selection (0, Buffer.Length); - end Call; + end Select_All_CB; - overriding procedure Call - (This : in Find_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure Find_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin Centre (Find); Find.Show; - end Call; + end Find_CB; - overriding procedure Call - (This : in Replace_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure Replace_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin Centre (Replace); Replace.Show; - end Call; + end Replace_CB; - overriding procedure Call - (This : in About_Callback; - Item : in out FLTK.Widgets.Widget'Class) is + procedure About_CB + (Item : in out FLTK.Widgets.Widget'Class) is begin Centre (About); About.Show; - end Call; + end About_CB; @@ -396,6 +395,8 @@ package body Adapad is end Centre; + + begin |