summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2018-05-21 14:35:36 +1000
committerJed Barber <jjbarber@y7mail.com>2018-05-21 14:35:36 +1000
commit62ecf32adcaaa4e59876b02dfa2bb712092f6f1e (patch)
treef4be03e0b640be530efe5dda89fc171f41bdde3b
parentb6e5db7f27f12af4ac7c1d186d367c65c00824d2 (diff)
Updated FLTK binding article
-rw-r--r--project/templates/fltkada.html28
-rw-r--r--project/templates/index.html2
2 files changed, 26 insertions, 4 deletions
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 @@
<h4>FLTK Ada Binding</h4>
<p>Git repository: <a href="/cgit/cgit.cgi/fltkada">Link</a><br>
-Estimated status: 40-45% complete</p>
+Estimated status: 80% complete</p>
+
+
+<h5>21/5/2018</h5>
+
+<p>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.</p>
+
+<p>Noteworthy features and modifications include:</p>
+<ul>
+ <li>Constructors are not primitive operations and are not inherited</li>
+ <li>Additional types have been defined and used to clean up the API</li>
+ <li>No heap allocation/deallocation necessary</li>
+ <li>Ada 2012 iterators are implemented for Group and Menu widgets</li>
+ <li>The API for Menu and Menu_Item has been rearranged to better reflect a container/item dichotomy</li>
+ <li>The Draw and Handle widget methods are easily overridable</li>
+ <li>Static methods from the base Fl.H header have been split up into multiple packages</li>
+ <li>Automatic addition of widgets to a Group with fl_group_begin and fl_group_end is not supported</li>
+</ul>
+
+<p>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.</p>
<h5>25/6/2017</h5>
@@ -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
diff --git a/project/templates/index.html b/project/templates/index.html
index df1de33..056231f 100644
--- a/project/templates/index.html
+++ b/project/templates/index.html
@@ -26,7 +26,7 @@
<span class="post">(Posted 29/6/2017)</span></li>
<li><a href="/fltkada.html">FLTK Ada Binding</a><br>
- <span class="post">(Posted 25/6/2017)</span></li>
+ <span class="update">(Updated 21/5/2018)</span></li>
<li><a href="/stvcount.html">Single Transferable Vote Counter</a><br>
<span class="post">(Posted 19/2/2017)</span></li>