From 62ecf32adcaaa4e59876b02dfa2bb712092f6f1e Mon Sep 17 00:00:00 2001
From: Jed Barber
Date: Mon, 21 May 2018 14:35:36 +1000
Subject: Updated FLTK binding article
---
project/templates/fltkada.html | 28 +++++++++++++++++++++++++---
1 file changed, 25 insertions(+), 3 deletions(-)
(limited to 'project/templates/fltkada.html')
diff --git a/project/templates/fltkada.html b/project/templates/fltkada.html
index 6d45e3f..b7abb59 100644
--- a/project/templates/fltkada.html
+++ b/project/templates/fltkada.html
@@ -12,7 +12,29 @@
FLTK Ada Binding
Git repository: Link
-Estimated status: 40-45% complete
+Estimated status: 80% complete
+
+
+21/5/2018
+
+This binding is now complete enough for most purposes. It certainly took more effort than expected, in
+part due to underestimation of how much needed binding. The vast majority of useful classes are now usable
+in Ada, with a few exceptions such as the Fl_Browser, Fl_Help_View, Fl_Table, and Fl_Tree widgets.
+
+Noteworthy features and modifications include:
+
+ - Constructors are not primitive operations and are not inherited
+ - Additional types have been defined and used to clean up the API
+ - No heap allocation/deallocation necessary
+ - Ada 2012 iterators are implemented for Group and Menu widgets
+ - The API for Menu and Menu_Item has been rearranged to better reflect a container/item dichotomy
+ - The Draw and Handle widget methods are easily overridable
+ - Static methods from the base Fl.H header have been split up into multiple packages
+ - Automatic addition of widgets to a Group with fl_group_begin and fl_group_end is not supported
+
+
+A mapping of what C++ headers and methods correspond to what Ada packages, functions, and procedures is
+included. Also, the below "Hello world" code sample has been modified to work with the updated binding.
25/6/2017
@@ -39,10 +61,10 @@ with
function Hello_World return Integer is
My_Win : FLTK.Widgets.Groups.Windows.Window :=
- FLTK.Widgets.Groups.Windows.Create (100, 100, 200, 200, "Untitled");
+ FLTK.Widgets.Groups.Windows.Forge.Create (100, 100, 200, 200, "Untitled");
My_Box : FLTK.Widgets.Boxes.Box :=
- FLTK.Widgets.Boxes.Create (50, 50, 100, 100, "Hello, World!");
+ FLTK.Widgets.Boxes.Forge.Create (50, 50, 100, 100, "Hello, World!");
begin
--
cgit