• Ann: GWindows release, 29-May-2023

    From Gautier write-only address@21:1/5 to All on Mon May 29 09:19:11 2023
    GWindows is a full Microsoft Windows Rapid Application Development
    framework for programming GUIs (Graphical User Interfaces) with Ada.
    GWindows works only with the GNAT development system,
    but with some effort, GWindows could be made pure Ada.
    GWindows is free and open-source!

    Changes to the framework are detailed in gwindows/changes.txt or
    in the News forum on the project site.

    In a nutshell (since last announcement here):

    GWindows release, 29-May-2023 [revision 480] ============================================

    * Fixes: color picker dialog, mouse wheel methods

    478: Contribution: added package GWindows.Pipes
    477: Contribution: added package GWindows.Timers
    476: Contribution: added package GWindows.Persistence_IO
    466: Contribution: initial release of package Office_Applications
    for helping creating office-like applications.

    GWindows release, 13-Nov-2022 [revision 459] ============================================

    458: GWindows.Common_Controls.Ex_List_View: added `Using_Payloads`
    to the enumerated type `Comparison_Technique_Type`.
    With this choice, sorting runs 100x faster.
    451: GWindows.Common_Controls.Ex_List_View: added `As_Strings_Default`
    to the enumerated type `Comparison_Technique_Type` (sorting runs
    faster if default alphabetical sorting is desired).
    449: GWindows.Application: added procedure `Add_To_Recent_Documents`.
    Windows Explorer & Desktop puts the name on top of various
    "recent documents" lists, for instance in the task bar.
    447: GWindows.Common_Controls.Ex_List_View: massive speedup on sorting
    of large lists (e.g. 6x faster for 20,000 items).

    GWindows release, 18-Jun-2022 [revision 440] ============================================

    * Installer: ResEdit.xml configuration file for the ResEdit
    Resource Editor is automatically created and set up for
    current GNAT installation(s), GWindows and GWenerator.
    * Fixed a few 32/64 bit incompatibilities in GWindows.Windows and
    GWindows.Common_Controls.Ex_List_View.
    * Fixed various GNATCOM issues.


    GWindows Project site:
    https://sf.net/projects/gnavi/

    GWindows GitHub clone:
    https://github.com/zertovitch/gwindows

    Enjoy!
    _________________________
    Gautier's Ada programming
    http://gautiersblog.blogspot.com/search/label/Ada
    NB: follow the above link for a valid e-mail address

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From DrPi@21:1/5 to Gautier on Mon May 29 21:55:27 2023
    Le 29/05/2023 à 18:19, Gautier write-only address a écrit :
    GWindows is a full Microsoft Windows Rapid Application Development
    framework for programming GUIs (Graphical User Interfaces) with Ada.
    GWindows works only with the GNAT development system,
    but with some effort, GWindows could be made pure Ada.
    GWindows is free and open-source!


    What do you mean by "pure Ada" ?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Gautier write-only address@21:1/5 to DrPi on Mon May 29 16:59:39 2023
    On Monday, May 29, 2023 at 9:57:43 PM UTC+2, DrPi wrote:
    What do you mean by "pure Ada" ?

    IIRC, there are a few GNAT-only attributes, like Unrestricted_Access, used. No big deal.
    But good point, I could check "purity" with the ObjectAda compiler.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jeffrey R.Carter@21:1/5 to Gautier on Tue May 30 09:56:13 2023
    On 2023-05-30 01:59, Gautier write-only address wrote:

    IIRC, there are a few GNAT-only attributes, like Unrestricted_Access, used. No big deal.
    But good point, I could check "purity" with the ObjectAda compiler.

    I took a quick look. Wouldn't all of Gnatcom need to be replaced?

    --
    Jeff Carter
    "Ada is a management tool. It selects for software
    engineers and encourages the hackers to quit."
    Robert C. Leif
    204

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Gautier write-only address@21:1/5 to Jeffrey R.Carter on Sat Jun 3 23:09:18 2023
    On Tuesday, May 30, 2023 at 9:56:17 AM UTC+2, Jeffrey R.Carter wrote:

    I took a quick look. Wouldn't all of Gnatcom need to be replaced?

    Good question.
    When I compile a project using GWindows, GNAT uses 10 of the 53 GNATCOM packages.
    One GNATism is 4x 'Unrestricted_Access in GNATCOM.Types, for accesses such as:

    VARIANT_MISSING : aliased constant VARIANT :=
    (VT_ERROR, 0, 0, 0, u => (Which => 8, scode => DISP_E_PARAMNOTFOUND));
    PVARIANT_MISSING : Pointer_To_VARIANT :=
    VARIANT_MISSING'Unrestricted_Access;

    that could be either resolved into a standard Ada form or exiled into another package (GWindows doesn't need them).
    Something thougher is a couple of intrinsic imports (sync_add_and_fetch, sync_sub_and_fetch):
    function sync_add_and_fetch
    (Ref : access Interfaces.Unsigned_32;
    Add : Interfaces.Unsigned_32)
    return Interfaces.Unsigned_32
    with
    Import,
    Convention => Intrinsic,
    External_Name => "__sync_add_and_fetch_4";

    which seems to be specific to GCC (and actually, not even all versions of GCC...)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Randy Brukardt@21:1/5 to All on Sat Jun 17 02:18:05 2023
    "Gautier write-only address" <gautier_niouzes@hotmail.com> wrote in message news:9a893d03-ccf9-46cb-b7f0-1e46263cf8b0n@googlegroups.com...
    Something thougher is a couple of intrinsic imports (sync_add_and_fetch, sync_sub_and_fetch):
    function sync_add_and_fetch
    (Ref : access Interfaces.Unsigned_32;
    Add : Interfaces.Unsigned_32)
    return Interfaces.Unsigned_32
    with
    > Import,
    Convention => Intrinsic,
    External_Name => "__sync_add_and_fetch_4";

    which seems to be specific to GCC (and actually, not even all versions of >GCC...)

    This looks like an atomic operation. A portable Ada definition of such operations is found in C.6.1-C.6.4 of Ada 2022. Probably those could be used
    to replace the operation (of course, that would limit one to compilers supporting that part of Ada 2022; dunno if anyone is doing that yet).

    Randy.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)