comp.lang.ada
 help / color / mirror / Atom feed
* Ann: GWindows release, 29-May-2023
@ 2023-05-29 16:19 Gautier write-only address
  2023-05-29 19:55 ` DrPi
  0 siblings, 1 reply; 6+ messages in thread
From: Gautier write-only address @ 2023-05-29 16:19 UTC (permalink / raw)


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 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ann: GWindows release, 29-May-2023
  2023-05-29 16:19 Ann: GWindows release, 29-May-2023 Gautier write-only address
@ 2023-05-29 19:55 ` DrPi
  2023-05-29 23:59   ` Gautier write-only address
  0 siblings, 1 reply; 6+ messages in thread
From: DrPi @ 2023-05-29 19:55 UTC (permalink / raw)


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" ?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ann: GWindows release, 29-May-2023
  2023-05-29 19:55 ` DrPi
@ 2023-05-29 23:59   ` Gautier write-only address
  2023-05-30  7:56     ` Jeffrey R.Carter
  0 siblings, 1 reply; 6+ messages in thread
From: Gautier write-only address @ 2023-05-29 23:59 UTC (permalink / raw)


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.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ann: GWindows release, 29-May-2023
  2023-05-29 23:59   ` Gautier write-only address
@ 2023-05-30  7:56     ` Jeffrey R.Carter
  2023-06-04  6:09       ` Gautier write-only address
  0 siblings, 1 reply; 6+ messages in thread
From: Jeffrey R.Carter @ 2023-05-30  7:56 UTC (permalink / raw)


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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ann: GWindows release, 29-May-2023
  2023-05-30  7:56     ` Jeffrey R.Carter
@ 2023-06-04  6:09       ` Gautier write-only address
  2023-06-17  7:18         ` Randy Brukardt
  0 siblings, 1 reply; 6+ messages in thread
From: Gautier write-only address @ 2023-06-04  6:09 UTC (permalink / raw)


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...)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ann: GWindows release, 29-May-2023
  2023-06-04  6:09       ` Gautier write-only address
@ 2023-06-17  7:18         ` Randy Brukardt
  0 siblings, 0 replies; 6+ messages in thread
From: Randy Brukardt @ 2023-06-17  7:18 UTC (permalink / raw)



"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.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-06-17  7:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-29 16:19 Ann: GWindows release, 29-May-2023 Gautier write-only address
2023-05-29 19:55 ` DrPi
2023-05-29 23:59   ` Gautier write-only address
2023-05-30  7:56     ` Jeffrey R.Carter
2023-06-04  6:09       ` Gautier write-only address
2023-06-17  7:18         ` Randy Brukardt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox