From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.236.42.137 with SMTP id j9mr44816956yhb.35.1416116544922; Sat, 15 Nov 2014 21:42:24 -0800 (PST) X-Received: by 10.182.213.36 with SMTP id np4mr70641obc.4.1416116544750; Sat, 15 Nov 2014 21:42:24 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!peer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!u7no1978157qaz.1!news-out.google.com!ks2ni20433igb.0!nntp.google.com!r10no3222127igi.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sat, 15 Nov 2014 21:42:24 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=73.46.72.234; posting-account=yiWntAoAAAC1KqC_shmxJYv07B9l6LNU NNTP-Posting-Host: 73.46.72.234 References: <0d012b7c-2b08-4812-a046-a0e0bbdd7994@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: The Gnoga project goals - Ada Advocay for Businesses From: David Botton Injection-Date: Sun, 16 Nov 2014 05:42:24 +0000 Content-Type: text/plain; charset=ISO-8859-1 X-Received-Bytes: 2489 X-Received-Body-CRC: 1744753727 Xref: news.eternal-september.org comp.lang.ada:23406 Date: 2014-11-15T21:42:24-08:00 List-Id: Here is a simple and interesting example of how Gnoga is different than say writing web pages with say Ajax in AWS alone without Gnoga. Gnoga is "live" not passive and stateless. This is a task type that could be used any place in your code at all. Using Ada tasks, this will strobe the color of any HTML element on a page: task type Color_Me_Task (O : Gnoga.Gui.Element.Pointer_To_Element_Class) is entry start; entry stop; end Color_Me_Task; -- Strobe color Element O task body Color_Me_Task is type Colors is (red, green, blue, orange, black); Current_Color : Colors := Colors'First; begin accept start; loop begin if O.Valid then O.Color (Current_Color'Img); if Current_Color = Colors'Last then Current_Color := Colors'First; else Current_Color := Colors'Succ (Current_Color); end if; end if; end; select accept stop; exit; or delay 0.1; end select; end loop; end Color_Me_Task;