summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2018-05-18 16:50:19 +1000
committerJed Barber <jjbarber@y7mail.com>2018-05-18 16:50:19 +1000
commit9a090286cd435fbf10eee24d71737f629c1d0f5c (patch)
treec35e0231aa738d445c951c867a4973a14f4b4ff4
parent2cbec01126c34e70fc8e11d77553ef5bfd94cec7 (diff)
Updated documentation
-rw-r--r--doc/index.html1
-rw-r--r--progress.txt94
-rw-r--r--readme.txt33
3 files changed, 74 insertions, 54 deletions
diff --git a/doc/index.html b/doc/index.html
index 057f763..e3c4f0a 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -84,6 +84,7 @@
<li><a href="fl_pixmap.html">Fl_Pixmap</a></li>
<li><a href="fl_png_image.html">Fl_PNG_Image</a></li>
<li><a href="fl_pnm_image.html">Fl_PNM_Image</a></li>
+ <li>Fl_Postscript_File_Device</li>
<li><a href="fl_preferences.html">Fl_Preferences</a></li>
<li><a href="fl_printer.html">Fl_Printer</a></li>
<li><a href="fl_progress.html">Fl_Progress</a></li>
diff --git a/progress.txt b/progress.txt
index d8e62ea..2f87b25 100644
--- a/progress.txt
+++ b/progress.txt
@@ -1,11 +1,19 @@
-Approximate Progress List (Incomplete)
+Approximate Progress List
-Overall estimate: ???%
+Overall estimate: 80%
+
+
+
+
+To move from 'Never' to 'To-Do' the class must be useful enough to bind.
+To move from 'To-Do' to 'Partially Done' the class binding must be usable from Ada to some extent.
+To move from 'Partially Done' to 'Done' the Ada API must be completed.
+To move from 'Done' to 'Polished' the implementation details must be double checked and binding docs written.
@@ -120,40 +128,49 @@ FLTK.Environment (incomplete API, otherwise polished)
To-Do:
-Fl_Tiled_Image
Fl_Browser
+Fl_Browser_
+Fl_Cairo_Window
Fl_Check_Browser
+Fl_Display_Device
Fl_File_Browser
+Fl_File_Chooser
+Fl_Gl_Window
+Fl_Glut_Window
+Fl_Help_Dialog
+Fl_Help_View
Fl_Hold_Browser
+Fl_Label
Fl_Multi_Browser
+Fl_Overlay_Window
+Fl_Postscript_File_Device
Fl_Select_Browser
-Fl_Help_View
Fl_Table
Fl_Table_Row
+Fl_Tiled_Image
Fl_Tree
-Fl_Label
-Fl_Postscript_File_Device
-Fl_Postscript_Printer
-Fl_Overlay_Window
-Fl_GL_Window
-Fl_Glut_Window
-Fl_Cairo_Window
-Fl_Display_Device
-Fl_File_Chooser
-
-(all these have to be done to put something in the polished category)
-- mark all methods as inline
-- make sure all C++ reinterpret_cast for methods is to the Fl object, not the My object, because inheriting
-- check FLTK library internals to see which char* return values need dealloc
-- qualify all C++ virtual method calls with the class name to prevent dynamic dispatch on C++ side
-- provide documentation for how C++ methods map to Ada functions and procedures
-(delay this until figure out an easier way to expose protected methods)
+Never:
-- make all protected methods available
+Fl_Device_Plugin
+Fl_FormsBitmap
+Fl_FormsPixmap
+Fl_FormsText
+Fl_Free
+Fl_GDI_Graphics_Driver
+Fl_Plugin
+Fl_Plugin_Manager
+Fl_Positioner
+Fl_Postscript_Graphics_Driver
+Fl_Postscript_Printer
+Fl_Quartz_Graphics_Driver
+Fl_Sys_Menu_Bar
+Fl_System_Printer
+Fl_Timer
+Fl_Xlib_Graphics_Driver
@@ -170,37 +187,8 @@ GNAT bug with type_invariant combined with derived type and a begin section in a
-Never:
-
-Fl_FormsBitmap
-Fl_FormsPixmap
-Fl_FormsText
-Fl_Free
-Fl_Sys_Menu_Bar
-Fl_Positioner
-Fl_Timer
-Fl_System_Printer
-Fl_GDI_Graphics_Driver
-Fl_Postscript_Graphics_Driver
-Fl_Quartz_Graphics_Driver
-Fl_Xlib_Graphics_Driver
-Fl_Plugin
-Fl_Plugin_Manager
-Fl_Device_Plugin
-
-
-
-
-A note on callbacks and overriding:
-
-As part of its normal operation, FLTK calls a Widget's Draw and Handle methods from its
-main loop to deal with draw and input events. Since it's another part of the program
-that is invoking them, even if it's a part the programmer has no direct control over,
-this binding is set up so that if you override Draw or Handle, the behaviour will change.
+General:
-On the other hand, something like the Push method in tabbed groups is usually invoked
-from within that same tabbed group widget's Handle method. Therefore, keeping consistency
-with Ada semantics, overriding the Push method will NOT change the behaviour of the
-corresponding Handle method. You must also override Handle.
+Find an easy way to make protected methods available on the Ada side
diff --git a/readme.txt b/readme.txt
index 82a5226..67d4b40 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,9 +1,25 @@
+FLTK Binding for the Ada Programming Language
+=============================================
+
+
+
+
+This is a thick binding. In particular, dynamic allocation of FLTK objects is
+not necessary as in Ada they can be placed on the stack and automatically cleaned
+up. Ada 2012 iterators have also been made available for the Fl_Group and Fl_Menu
+bindings.
+
+For documentation on what C++ method or class corresponds to what Ada function,
+procedure, or package, see the /doc/index.html file.
+
+
+
+
Dependencies:
GNAT
-
FLTK
@@ -28,3 +44,18 @@ For further information on the build tools, consult
https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug.html
+
+
+A technical note on callbacks and overriding:
+
+As part of its normal operation, FLTK calls a Widget's Draw and Handle methods from its
+main loop to deal with draw and input events. Since it's another part of the program
+that is invoking them, even if it's a part the programmer has no direct control over,
+this binding is set up so that if you override Draw or Handle, the behaviour will change.
+
+On the other hand, something like the Push method in tabbed groups is usually invoked
+from within that same tabbed group widget's Handle method. Therefore, keeping consistency
+with Ada semantics, overriding the Push method will NOT change the behaviour of the
+corresponding Handle method. You must also override Handle.
+
+