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.Find is type Find_Window is new FLTK.Widgets.Groups.Windows.Double.Double_Window with private; type Find_Callback is access procedure (Item : in String; Match_Case : in Boolean); function Create return Find_Window; function Create (X, Y, W, H : in Integer; Label_Text : in String) return Find_Window; function Create (W, H : in Integer) return Find_Window; procedure Set_Find_Callback (This : in out Find_Window; Func : in Find_Callback); private type Find_Marshaller is new FLTK.Widgets.Widget_Callback with null record; overriding procedure Call (This : in Find_Marshaller; Item : in out FLTK.Widgets.Widget'Class); type Find_Window is new FLTK.Widgets.Groups.Windows.Double.Double_Window with record Find_What : FLTK.Widgets.Inputs.Input; Match_Case : FLTK.Widgets.Buttons.Light.Check.Check_Button; Cancel : FLTK.Widgets.Buttons.Button; Start : FLTK.Widgets.Buttons.Enter.Enter_Button; Callback : Find_Callback; end record; end Windows.Find;