summaryrefslogtreecommitdiff
path: root/src/windows-replace.ads
diff options
context:
space:
mode:
Diffstat (limited to 'src/windows-replace.ads')
-rw-r--r--src/windows-replace.ads64
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;
+