comp.lang.ada
 help / color / mirror / Atom feed
* GNAT and cross-platform GUI
@ 2003-01-27 20:36 root
  2003-01-27 22:56 ` achrist
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: root @ 2003-01-27 20:36 UTC (permalink / raw)


Is there any consensus on the best (quickest?) way to write GUI programs 
in Ada?  I'm looking the links to the (free) packages I'd need. The plan 
is to write the programs under Linux, but (unfortunately) a MSWindows 
version will also be required.

I don't have much experience with GTK yet -- guess that is about to change.

Me




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

* Re: GNAT and cross-platform GUI
  2003-01-27 20:36 root
@ 2003-01-27 22:56 ` achrist
  2003-01-27 22:57 ` achrist
  2003-01-28 23:23 ` R. Srinivasan
  2 siblings, 0 replies; 11+ messages in thread
From: achrist @ 2003-01-27 22:56 UTC (permalink / raw)


Here's another candidate:  



root wrote:
> 
> Is there any consensus on the best (quickest?) way to write GUI programs
> in Ada?  I'm looking the links to the (free) packages I'd need. The plan
> is to write the programs under Linux, but (unfortunately) a MSWindows
> version will also be required.
> 
> I don't have much experience with GTK yet -- guess that is about to change.
> 
> Me



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

* Re: GNAT and cross-platform GUI
  2003-01-27 20:36 root
  2003-01-27 22:56 ` achrist
@ 2003-01-27 22:57 ` achrist
  2003-01-28  2:36   ` David Marceau
  2003-01-28 23:23 ` R. Srinivasan
  2 siblings, 1 reply; 11+ messages in thread
From: achrist @ 2003-01-27 22:57 UTC (permalink / raw)


Here's another candidate:

http://www.japi.de/

I just noticed this looking at the GUI toolkit page the other day.
It says that it has an Ada binding.  It provides an interface from
a subset of the java GUI toolkit to other langues, including Ada.

Haven't tried it.


Al


root wrote:
> 
> Is there any consensus on the best (quickest?) way to write GUI programs
> in Ada?  I'm looking the links to the (free) packages I'd need. The plan
> is to write the programs under Linux, but (unfortunately) a MSWindows
> version will also be required.
> 
> I don't have much experience with GTK yet -- guess that is about to change.
> 
> Me



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

* Re: GNAT and cross-platform GUI
  2003-01-27 22:57 ` achrist
@ 2003-01-28  2:36   ` David Marceau
  2003-01-28 14:48     ` root
  2003-01-28 14:51     ` root
  0 siblings, 2 replies; 11+ messages in thread
From: David Marceau @ 2003-01-28  2:36 UTC (permalink / raw)


achrist@easystreet.com wrote:
> 
> Here's another candidate:
> 
> http://www.japi.de/
> 
> I just noticed this looking at the GUI toolkit page the other day.
> It says that it has an Ada binding.  It provides an interface from
> a subset of the java GUI toolkit to other langues, including Ada.
> 
> Haven't tried it.
> 
> Al
> 
> root wrote:
> >
> > Is there any consensus on the best (quickest?) way to write GUI programs
> > in Ada?  I'm looking the links to the (free) packages I'd need. The plan
> > is to write the programs under Linux, but (unfortunately) a MSWindows
> > version will also be required.
> >
> > I don't have much experience with GTK yet -- guess that is about to change.
> >
> > Me

Hi there,

I took a look at JAPI you mentioned above. 

IMHO:
-most of the JDK api is missing i.e. AWT/SWING/JOBJECT services
-as a result Runnable Objects and Thread Objects may not be
instantiated.  This is important if you want any multi-task multi-thread
gui going on.
-the creation of the gui elements do have a flaw that japi team may have
regarded as a strength.  
JAPI GridLayout example creates a frame, creates four buttons, packs the
frame and then shows the frame.  
Where I would suggest more work into japi is to separate the concerns 
of creating the button instance from associating it with the frame as
done by default in just one step.   There should be many steps and for
good reason. 
i.e. step 1)create step 2)add ...
Why?  
In the japi context when you create the button, your layout order is the
same as the gui object creation order.
There may be cases where this might not be possible 
and especially if we're talking a multi-threaded gui which is
dynamically 
adding/removing runnable-gui-objects on the fly 
from a thread pool after the runnable has terminated. 
i.e. button1-4 could be associated to runnables.
-In this context you're going to need more information of
layout/ordering-gui-elements for on-the-fly packing/repacking. japi
doesn't have this.
-then there are the steps involved concerning removing listeners
on-the-fly and adding listeners on-the-fly. japi doesn't have this
either.  Please correct me if I am wrong.
-last but not least GridBagLayout is the most powerful layout manager
and should be supported.  japi doesn't have this.  Please correct me if
I am wrong.  I did see GridLayout but not GridBagLayout which is a whole
different ball-o-wax.

I don't want to be harsh on japi but I do want to highlight that when
there might be smoke and mirrors involved I prefer lifting up the fog to
put it on an even-level with the other GUI API's out there for ADA. 
Another way to measure bang per SDK would be LOCS if you have access to
source :)

IMHO Here are your alternatives for multi-platform GUI with Ada:
-Ada with Proprietary Microsoft COM.  Bristol Technologies sell a COM
implementation for Unix but only runs on certain unix os'es.
-Ada with OpenSource GNU AdaGTK runs on any UNIX/LINUX/Windows
-Double your gui effort and do it win32/Ada/COM route then do it in
Ada/X-Window
-do it with Ada to Java and maybe end up using it on anything that has a
jvm and an ada compiler i.e. J2ME/JAVACARD/JAVA bytecode
Goto the adapower site for ada-to-java solutions.
http://www.adapower.com
among them if I recall there is jgnat, cafe1815, adajni.  Now japi :)
There are others.
-Ada/TCL/TK/TASH
-Ada and straight to graphic hardware from Win32/UNIX without X.
-Ada straight to hardware both graphic and everything else.  No X no
Win32, so I gather this alternative is not for you :)

I hope this helps a bit. Good luck since there is a much work just to
decide which one will fit your needs best:)

Cheers,
David Marceau



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

* Re: GNAT and cross-platform GUI
  2003-01-28  2:36   ` David Marceau
@ 2003-01-28 14:48     ` root
  2003-01-28 14:51     ` root
  1 sibling, 0 replies; 11+ messages in thread
From: root @ 2003-01-28 14:48 UTC (permalink / raw)


Thanks for the ideas.

 >Good luck since there is a much work just to
decide which one will fit your needs best:

I noticed that! At least I can drop the 'Ada straight to graphic 
hardware' choice. It doesn't seem likely that this project will
ever run on a machine that isn't XWindow/MSWindoze/or QNX/Photon.

Me



David Marceau wrote:
> achrist@easystreet.com wrote:
> 
>>Here's another candidate:
>>
>>http://www.japi.de/
>>
>>I just noticed this looking at the GUI toolkit page the other day.
>>It says that it has an Ada binding.  It provides an interface from
>>a subset of the java GUI toolkit to other langues, including Ada.
>>
>>Haven't tried it.
>>
>>Al
>>
>>root wrote:
>>
>>>Is there any consensus on the best (quickest?) way to write GUI programs
>>>in Ada?  I'm looking the links to the (free) packages I'd need. The plan
>>>is to write the programs under Linux, but (unfortunately) a MSWindows
>>>version will also be required.
>>>
>>>I don't have much experience with GTK yet -- guess that is about to change.
>>>
>>>Me
>>
> 
> Hi there,
> 
> I took a look at JAPI you mentioned above. 
> 
> IMHO:
> -most of the JDK api is missing i.e. AWT/SWING/JOBJECT services
> -as a result Runnable Objects and Thread Objects may not be
> instantiated.  This is important if you want any multi-task multi-thread
> gui going on.
> -the creation of the gui elements do have a flaw that japi team may have
> regarded as a strength.  
> JAPI GridLayout example creates a frame, creates four buttons, packs the
> frame and then shows the frame.  
> Where I would suggest more work into japi is to separate the concerns 
> of creating the button instance from associating it with the frame as
> done by default in just one step.   There should be many steps and for
> good reason. 
> i.e. step 1)create step 2)add ...
> Why?  
> In the japi context when you create the button, your layout order is the
> same as the gui object creation order.
> There may be cases where this might not be possible 
> and especially if we're talking a multi-threaded gui which is
> dynamically 
> adding/removing runnable-gui-objects on the fly 
> from a thread pool after the runnable has terminated. 
> i.e. button1-4 could be associated to runnables.
> -In this context you're going to need more information of
> layout/ordering-gui-elements for on-the-fly packing/repacking. japi
> doesn't have this.
> -then there are the steps involved concerning removing listeners
> on-the-fly and adding listeners on-the-fly. japi doesn't have this
> either.  Please correct me if I am wrong.
> -last but not least GridBagLayout is the most powerful layout manager
> and should be supported.  japi doesn't have this.  Please correct me if
> I am wrong.  I did see GridLayout but not GridBagLayout which is a whole
> different ball-o-wax.
> 
> I don't want to be harsh on japi but I do want to highlight that when
> there might be smoke and mirrors involved I prefer lifting up the fog to
> put it on an even-level with the other GUI API's out there for ADA. 
> Another way to measure bang per SDK would be LOCS if you have access to
> source :)
> 
> IMHO Here are your alternatives for multi-platform GUI with Ada:
> -Ada with Proprietary Microsoft COM.  Bristol Technologies sell a COM
> implementation for Unix but only runs on certain unix os'es.
> -Ada with OpenSource GNU AdaGTK runs on any UNIX/LINUX/Windows
> -Double your gui effort and do it win32/Ada/COM route then do it in
> Ada/X-Window
> -do it with Ada to Java and maybe end up using it on anything that has a
> jvm and an ada compiler i.e. J2ME/JAVACARD/JAVA bytecode
> Goto the adapower site for ada-to-java solutions.
> http://www.adapower.com
> among them if I recall there is jgnat, cafe1815, adajni.  Now japi :)
> There are others.
> -Ada/TCL/TK/TASH
> -Ada and straight to graphic hardware from Win32/UNIX without X.
> -Ada straight to hardware both graphic and everything else.  No X no
> Win32, so I gather this alternative is not for you :)
> 
> I hope this helps a bit. Good luck since there is a much work just to
> decide which one will fit your needs best:)
> 
> Cheers,
> David Marceau





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

* Re: GNAT and cross-platform GUI
  2003-01-28  2:36   ` David Marceau
  2003-01-28 14:48     ` root
@ 2003-01-28 14:51     ` root
  1 sibling, 0 replies; 11+ messages in thread
From: root @ 2003-01-28 14:51 UTC (permalink / raw)


Thanks for the ideas.

 >Good luck since there is a much work just to
decide which one will fit your needs best:

I noticed that! At least I can drop the 'Ada straight to graphic 
hardware' choice. It doesn't seem likely that this project will
ever run on a machine that isn't XWindow/MSWindoze/or QNX/Photon.

Me



David Marceau wrote:
> achrist@easystreet.com wrote:
> 
>>Here's another candidate:
>>
>>http://www.japi.de/
>>
>>I just noticed this looking at the GUI toolkit page the other day.
>>It says that it has an Ada binding.  It provides an interface from
>>a subset of the java GUI toolkit to other langues, including Ada.
>>
>>Haven't tried it.
>>
>>Al
>>
>>root wrote:
>>
>>>Is there any consensus on the best (quickest?) way to write GUI programs
>>>in Ada?  I'm looking the links to the (free) packages I'd need. The plan
>>>is to write the programs under Linux, but (unfortunately) a MSWindows
>>>version will also be required.
>>>
>>>I don't have much experience with GTK yet -- guess that is about to change.
>>>
>>>Me
>>
> 
> Hi there,
> 
> I took a look at JAPI you mentioned above. 
> 
> IMHO:
> -most of the JDK api is missing i.e. AWT/SWING/JOBJECT services
> -as a result Runnable Objects and Thread Objects may not be
> instantiated.  This is important if you want any multi-task multi-thread
> gui going on.
> -the creation of the gui elements do have a flaw that japi team may have
> regarded as a strength.  
> JAPI GridLayout example creates a frame, creates four buttons, packs the
> frame and then shows the frame.  
> Where I would suggest more work into japi is to separate the concerns 
> of creating the button instance from associating it with the frame as
> done by default in just one step.   There should be many steps and for
> good reason. 
> i.e. step 1)create step 2)add ...
> Why?  
> In the japi context when you create the button, your layout order is the
> same as the gui object creation order.
> There may be cases where this might not be possible 
> and especially if we're talking a multi-threaded gui which is
> dynamically 
> adding/removing runnable-gui-objects on the fly 
> from a thread pool after the runnable has terminated. 
> i.e. button1-4 could be associated to runnables.
> -In this context you're going to need more information of
> layout/ordering-gui-elements for on-the-fly packing/repacking. japi
> doesn't have this.
> -then there are the steps involved concerning removing listeners
> on-the-fly and adding listeners on-the-fly. japi doesn't have this
> either.  Please correct me if I am wrong.
> -last but not least GridBagLayout is the most powerful layout manager
> and should be supported.  japi doesn't have this.  Please correct me if
> I am wrong.  I did see GridLayout but not GridBagLayout which is a whole
> different ball-o-wax.
> 
> I don't want to be harsh on japi but I do want to highlight that when
> there might be smoke and mirrors involved I prefer lifting up the fog to
> put it on an even-level with the other GUI API's out there for ADA. 
> Another way to measure bang per SDK would be LOCS if you have access to
> source :)
> 
> IMHO Here are your alternatives for multi-platform GUI with Ada:
> -Ada with Proprietary Microsoft COM.  Bristol Technologies sell a COM
> implementation for Unix but only runs on certain unix os'es.
> -Ada with OpenSource GNU AdaGTK runs on any UNIX/LINUX/Windows
> -Double your gui effort and do it win32/Ada/COM route then do it in
> Ada/X-Window
> -do it with Ada to Java and maybe end up using it on anything that has a
> jvm and an ada compiler i.e. J2ME/JAVACARD/JAVA bytecode
> Goto the adapower site for ada-to-java solutions.
> http://www.adapower.com
> among them if I recall there is jgnat, cafe1815, adajni.  Now japi :)
> There are others.
> -Ada/TCL/TK/TASH
> -Ada and straight to graphic hardware from Win32/UNIX without X.
> -Ada straight to hardware both graphic and everything else.  No X no
> Win32, so I gather this alternative is not for you :)
> 
> I hope this helps a bit. Good luck since there is a much work just to
> decide which one will fit your needs best:)
> 
> Cheers,
> David Marceau





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

* Re: GNAT and cross-platform GUI
  2003-01-27 20:36 root
  2003-01-27 22:56 ` achrist
  2003-01-27 22:57 ` achrist
@ 2003-01-28 23:23 ` R. Srinivasan
  2003-01-29 12:27   ` Marc A. Criley
  2 siblings, 1 reply; 11+ messages in thread
From: R. Srinivasan @ 2003-01-28 23:23 UTC (permalink / raw)


there was a "jgnat" -- gnat generating code directly for JVM along with
complete bindings to AWT and so on. etc. Havent heard much about that
recently tho.

"root" <""root\"@(none)> wrote in message
news:v3b683s13n2325@corp.supernews.com...
> Is there any consensus on the best (quickest?) way to write GUI programs
> in Ada?  I'm looking the links to the (free) packages I'd need. The plan
> is to write the programs under Linux, but (unfortunately) a MSWindows
> version will also be required.
>
> I don't have much experience with GTK yet -- guess that is about to
change.
>
> Me
>





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

* Re: GNAT and cross-platform GUI
  2003-01-28 23:23 ` R. Srinivasan
@ 2003-01-29 12:27   ` Marc A. Criley
  2003-01-29 17:15     ` Jano
  0 siblings, 1 reply; 11+ messages in thread
From: Marc A. Criley @ 2003-01-29 12:27 UTC (permalink / raw)


R. Srinivasan wrote:
> there was a "jgnat" -- gnat generating code directly for JVM along with
> complete bindings to AWT and so on. etc. Havent heard much about that
> recently tho.

JGNAT is unfortunately no longer supported by ACT, there just wasn't the 
market for it.

It's still available, and the public version was IMHO almost production 
quality (I was using it quite heavily for awhile.)

JGNAT did serve as the foundation for the development of A#, the Ada 
compiler targed to .Net.

Marc A. Criley
Quadrus Corporation
www.quadruscorp.com




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

* Re: GNAT and cross-platform GUI
  2003-01-29 12:27   ` Marc A. Criley
@ 2003-01-29 17:15     ` Jano
  2003-01-29 18:48       ` I. Marks
  0 siblings, 1 reply; 11+ messages in thread
From: Jano @ 2003-01-29 17:15 UTC (permalink / raw)


En el mensaje <3E37C949.5040908@earthlink.net>, mcq95@earthlink.net 
dice...

> JGNAT did serve as the foundation for the development of A#, the Ada 
> compiler targed to .Net.

Exists some public version of that A#? Or purchasable version, for that 
matter? Or is WIP?

-- 
-------------------------
Jano
402450[at]cepsz.unizar.es
-------------------------



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

* Re: GNAT and cross-platform GUI
@ 2003-01-29 17:56 David C. Hoos
  0 siblings, 0 replies; 11+ messages in thread
From: David C. Hoos @ 2003-01-29 17:56 UTC (permalink / raw)
  To: comp.lang.ada mail to news gateway


----- Original Message -----
From: "Jano" <402450@cepsz.unizar.es>
Newsgroups: comp.lang.ada
To: <comp.lang.ada@ada.eu.org>
Sent: Wednesday, January 29, 2003 11:15 AM
Subject: Re: GNAT and cross-platform GUI


> En el mensaje <3E37C949.5040908@earthlink.net>, mcq95@earthlink.net
> dice...
>
> > JGNAT did serve as the foundation for the development of A#, the Ada
> > compiler targed to .Net.
>
> Exists some public version of that A#? Or purchasable version, for that
> matter? Or is WIP?
It is WIP but there is a public version available at
http://www.usafa.af.mil/dfcs/bios/mcc_html/a_sharp.html

there is also a European "mirror" for the downloads at
ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/ftp.usafa.af.mil/pub/dfcs
/carlisle/asharp/

(Note that the above link may be "line-wrapped" by your news/mail client)

David
>
> --
> -------------------------
> Jano
> 402450[at]cepsz.unizar.es
> -------------------------
> _______________________________________________
> comp.lang.ada mailing list
> comp.lang.ada@ada.eu.org
> http://ada.eu.org/mailman/listinfo/comp.lang.ada
>




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

* Re: GNAT and cross-platform GUI
  2003-01-29 17:15     ` Jano
@ 2003-01-29 18:48       ` I. Marks
  0 siblings, 0 replies; 11+ messages in thread
From: I. Marks @ 2003-01-29 18:48 UTC (permalink / raw)


Jano wrote:

> Exists some public version of that A#? Or purchasable version, for that
> matter? Or is WIP?

You find a GPL version here:

http://www.usafa.af.mil/dfcs/bios/mcc_html/a_sharp.html




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

end of thread, other threads:[~2003-01-29 18:48 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-29 17:56 GNAT and cross-platform GUI David C. Hoos
  -- strict thread matches above, loose matches on Subject: below --
2003-01-27 20:36 root
2003-01-27 22:56 ` achrist
2003-01-27 22:57 ` achrist
2003-01-28  2:36   ` David Marceau
2003-01-28 14:48     ` root
2003-01-28 14:51     ` root
2003-01-28 23:23 ` R. Srinivasan
2003-01-29 12:27   ` Marc A. Criley
2003-01-29 17:15     ` Jano
2003-01-29 18:48       ` I. Marks

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