diff options
Diffstat (limited to 'src/windows-replace.ads')
-rw-r--r-- | src/windows-replace.ads | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/windows-replace.ads b/src/windows-replace.ads new file mode 100644 index 0000000..ef5106b --- /dev/null +++ b/src/windows-replace.ads @@ -0,0 +1,64 @@ + + +with FLTK.Widgets.Groups.Windows.Double; +with FLTK.Widgets; -- this cannot be made private and I don't know why +private with FLTK.Widgets.Inputs; +private with FLTK.Widgets.Buttons; +private with FLTK.Widgets.Buttons.Enter; +private with FLTK.Widgets.Buttons.Light.Check; + + +package Windows.Replace is + + + type Replace_Window is new FLTK.Widgets.Groups.Windows.Double.Double_Window with private; + + + type Replace_Callback is interface; + procedure Call + (This : in Replace_Callback; + Item, Replace_With : in String; + Match_Case, Rep_All : in Boolean) is abstract; + + + function Create + return Replace_Window; + + + function Create + (X, Y, W, H : in Integer; + Label_Text : in String) + return Replace_Window; + + + function Create + (W, H : in Integer) + return Replace_Window; + + + procedure Set_Replace_Callback + (This : in out Replace_Window; + Func : not null access Replace_Callback'Class); + + +private + + + type Replace_Marshaller is new FLTK.Widgets.Widget_Callback with null record; + overriding procedure Call + (This : in Replace_Marshaller; + Item : in out FLTK.Widgets.Widget'Class); + + + type Replace_Window is new FLTK.Widgets.Groups.Windows.Double.Double_Window with + record + Find_What, Replace_With : FLTK.Widgets.Inputs.Input; + Match_Case, Replace_All : FLTK.Widgets.Buttons.Light.Check.Check_Button; + Cancel : FLTK.Widgets.Buttons.Button; + Start : FLTK.Widgets.Buttons.Enter.Enter_Button; + Callback : access Replace_Callback'Class; + end record; + + +end Windows.Replace; + |