From dda92d3223611c1ce22597c5839e67ecf0dff5ae Mon Sep 17 00:00:00 2001
From: Jed Barber <jjbarber@y7mail.com>
Date: Wed, 31 May 2017 17:32:08 +1000
Subject: Completed Double_Window, Single_Window, Menu_Window widgets

---
 src/c_fl_double_window.cpp                      |  5 +++++
 src/c_fl_double_window.h                        |  1 +
 src/fltk-widgets-groups-windows-double.adb      | 17 +++++++++++++++--
 src/fltk-widgets-groups-windows-double.ads      |  8 ++++++--
 src/fltk-widgets-groups-windows-single-menu.adb |  4 ++--
 src/fltk-widgets-groups-windows-single-menu.ads |  4 ++--
 src/fltk-widgets-groups-windows-single.adb      |  2 +-
 src/fltk-widgets-groups-windows-single.ads      |  2 +-
 src/fltk-widgets-groups-windows.adb             |  4 ++--
 src/fltk-widgets-groups-windows.ads             |  4 ++--
 10 files changed, 37 insertions(+), 14 deletions(-)

(limited to 'src')

diff --git a/src/c_fl_double_window.cpp b/src/c_fl_double_window.cpp
index 298c489..4b7b925 100644
--- a/src/c_fl_double_window.cpp
+++ b/src/c_fl_double_window.cpp
@@ -94,3 +94,8 @@ void fl_double_window_hide(DOUBLEWINDOW d) {
     reinterpret_cast<Fl_Double_Window*>(d)->hide();
 }
 
+
+void fl_double_window_flush(DOUBLEWINDOW d) {
+    reinterpret_cast<Fl_Double_Window*>(d)->flush();
+}
+
diff --git a/src/c_fl_double_window.h b/src/c_fl_double_window.h
index d63b947..4b93b03 100644
--- a/src/c_fl_double_window.h
+++ b/src/c_fl_double_window.h
@@ -20,6 +20,7 @@ extern "C" void free_fl_double_window(DOUBLEWINDOW d);
 
 extern "C" void fl_double_window_show(DOUBLEWINDOW d);
 extern "C" void fl_double_window_hide(DOUBLEWINDOW d);
+extern "C" void fl_double_window_flush(DOUBLEWINDOW d);
 
 
 #endif
diff --git a/src/fltk-widgets-groups-windows-double.adb b/src/fltk-widgets-groups-windows-double.adb
index c24ada1..2e51b58 100644
--- a/src/fltk-widgets-groups-windows-double.adb
+++ b/src/fltk-widgets-groups-windows-double.adb
@@ -41,6 +41,10 @@ package body FLTK.Widgets.Groups.Windows.Double is
             (W : in System.Address);
     pragma Import (C, fl_double_window_hide, "fl_double_window_hide");
 
+    procedure fl_double_window_flush
+            (W : in System.Address);
+    pragma Import (C, fl_double_window_flush, "fl_double_window_flush");
+
     procedure fl_double_window_draw
            (W : in System.Address);
     pragma Import (C, fl_double_window_draw, "fl_double_window_draw");
@@ -114,7 +118,7 @@ package body FLTK.Widgets.Groups.Windows.Double is
 
 
     procedure Show
-           (This : in Double_Window) is
+           (This : in out Double_Window) is
     begin
         fl_double_window_show (This.Void_Ptr);
     end Show;
@@ -123,7 +127,7 @@ package body FLTK.Widgets.Groups.Windows.Double is
 
 
     procedure Hide
-           (This : in Double_Window) is
+           (This : in out Double_Window) is
     begin
         fl_double_window_hide (This.Void_Ptr);
     end Hide;
@@ -131,6 +135,15 @@ package body FLTK.Widgets.Groups.Windows.Double is
 
 
 
+    procedure Flush
+           (This : in out Double_Window) is
+    begin
+        fl_double_window_flush (This.Void_Ptr);
+    end Flush;
+
+
+
+
     procedure Draw
            (This : in out Double_Window) is
     begin
diff --git a/src/fltk-widgets-groups-windows-double.ads b/src/fltk-widgets-groups-windows-double.ads
index 9d6da7b..4d06c0e 100644
--- a/src/fltk-widgets-groups-windows-double.ads
+++ b/src/fltk-widgets-groups-windows-double.ads
@@ -18,11 +18,15 @@ package FLTK.Widgets.Groups.Windows.Double is
 
 
     procedure Show
-           (This : in Double_Window);
+           (This : in out Double_Window);
 
 
     procedure Hide
-           (This : in Double_Window);
+           (This : in out Double_Window);
+
+
+    procedure Flush
+           (This : in out Double_Window);
 
 
     procedure Draw
diff --git a/src/fltk-widgets-groups-windows-single-menu.adb b/src/fltk-widgets-groups-windows-single-menu.adb
index bebc9a2..9c69d9c 100644
--- a/src/fltk-widgets-groups-windows-single-menu.adb
+++ b/src/fltk-widgets-groups-windows-single-menu.adb
@@ -132,7 +132,7 @@ package body FLTK.Widgets.Groups.Windows.Single.Menu is
 
 
     procedure Show
-           (This : in Menu_Window) is
+           (This : in out Menu_Window) is
     begin
         fl_menu_window_show (This.Void_Ptr);
     end Show;
@@ -141,7 +141,7 @@ package body FLTK.Widgets.Groups.Windows.Single.Menu is
 
 
     procedure Hide
-           (This : in Menu_Window) is
+           (This : in out Menu_Window) is
     begin
         fl_menu_window_hide (This.Void_Ptr);
     end Hide;
diff --git a/src/fltk-widgets-groups-windows-single-menu.ads b/src/fltk-widgets-groups-windows-single-menu.ads
index 80f72ed..1934632 100644
--- a/src/fltk-widgets-groups-windows-single-menu.ads
+++ b/src/fltk-widgets-groups-windows-single-menu.ads
@@ -18,11 +18,11 @@ package FLTK.Widgets.Groups.Windows.Single.Menu is
 
 
     procedure Show
-           (This : in Menu_Window);
+           (This : in out Menu_Window);
 
 
     procedure Hide
-           (This : in Menu_Window);
+           (This : in out Menu_Window);
 
 
     procedure Flush
diff --git a/src/fltk-widgets-groups-windows-single.adb b/src/fltk-widgets-groups-windows-single.adb
index 0416983..284e506 100644
--- a/src/fltk-widgets-groups-windows-single.adb
+++ b/src/fltk-widgets-groups-windows-single.adb
@@ -114,7 +114,7 @@ package body FLTK.Widgets.Groups.Windows.Single is
 
 
     procedure Show
-           (This : in Single_Window) is
+           (This : in out Single_Window) is
     begin
         fl_single_window_show (This.Void_Ptr);
     end Show;
diff --git a/src/fltk-widgets-groups-windows-single.ads b/src/fltk-widgets-groups-windows-single.ads
index 2593ee5..442844f 100644
--- a/src/fltk-widgets-groups-windows-single.ads
+++ b/src/fltk-widgets-groups-windows-single.ads
@@ -18,7 +18,7 @@ package FLTK.Widgets.Groups.Windows.Single is
 
 
     procedure Show
-           (This : in Single_Window);
+           (This : in out Single_Window);
 
 
     procedure Flush
diff --git a/src/fltk-widgets-groups-windows.adb b/src/fltk-widgets-groups-windows.adb
index 429d27d..97a640a 100644
--- a/src/fltk-widgets-groups-windows.adb
+++ b/src/fltk-widgets-groups-windows.adb
@@ -181,7 +181,7 @@ package body FLTK.Widgets.Groups.Windows is
 
 
     procedure Show
-           (This : in Window) is
+           (This : in out Window) is
     begin
         fl_window_show (This.Void_Ptr);
     end Show;
@@ -190,7 +190,7 @@ package body FLTK.Widgets.Groups.Windows is
 
 
     procedure Hide
-           (This : in Window) is
+           (This : in out Window) is
     begin
         fl_window_hide (This.Void_Ptr);
     end Hide;
diff --git a/src/fltk-widgets-groups-windows.ads b/src/fltk-widgets-groups-windows.ads
index ac943c5..d132cbf 100644
--- a/src/fltk-widgets-groups-windows.ads
+++ b/src/fltk-widgets-groups-windows.ads
@@ -33,11 +33,11 @@ package FLTK.Widgets.Groups.Windows is
 
 
     procedure Show
-           (This : in Window);
+           (This : in out Window);
 
 
     procedure Hide
-           (This : in Window);
+           (This : in out Window);
 
 
     procedure Make_Current
-- 
cgit