1. Eu/Xwindows

--Boundary_(ID_2FpIKOjQKBjXnemAgZkqXg)
Content-type: text/plain; CHARSET=US-ASCII
Content-transfer-encoding: 8bit

I have been experimenting with Euphoria and X, using a small (free) GUI library
from Australia, GraphApp. It is supposed to work on Windows, Linux, and
Macintosh. (see attached info file). I found this in the latest issue of Linux
Journal, "Graphical Toolkits for LInux Programs" by Patrick Lambert.
The toolkit can be downloaded from http://www.cs.usyd.edu.au/~loki/

The toolkit compiles to a static library, a single file (147k) which should make
distribution easy. So far, I have had little trouble wrapping the library
functions so Euphoria can use them in a sensible manner, but some of the more
complex stuff is still to come.  Example program follows:

-- Pizza

include dll.e
include machine.e
include appwrap.e

atom libw -- handle to the graphapp library
atom win, label, button -- widgets
atom pepperoni, sausage, anchovy -- controls (checkboxes)
atom coke, pepsi, beer -- controls (radio buttons)

win = new_window("Pizza Order System",{10,10,400,300},0)
label = new_label("Enter your order now",{20,20,200,30},0)
--toppings
 pepperoni = new_checkbox("Pepperoni",{10,50,100,20},0)
 sausage = new_checkbox("Sausage",{10,75,100,20},0)
 anchovy = new_checkbox("Anchovy",{10,100,100,20},0)
--beverage
 coke = new_radiobutton("Coke",{120,50,100,20},NULL)
 pepsi = new_radiobutton("Pepsi",{120,75,100,20},NULL)
 beer = new_radiobutton("Beer",{120,100,100,20},NULL)

button = new_button("OK",{10,200,80,30},0)
show(win)

Not too complex, I think, but there's still a long way to go.

Irv

--Boundary_(ID_2FpIKOjQKBjXnemAgZkqXg)
Content-type: text/html; name=about.htm

new topic     » topic index » view message » categorize

2. Re: Eu/Xwindows

Irv Mullins wrote:

> I have been experimenting with Euphoria and X,
> using a small (free) GUI library from Australia,
> GraphApp.

I've suggested to Robert that he actually include GraphApp built into
Euphoria. As you've mentioned, it's small, and supports many platforms,
including the Mac. The X11 version actually comes in two flavors: Motif, and
enhanced Athena. It's also C based, which makes it easier to wrap, and is
one of the few toolkits that includes Mac support. Perhaps the most
difficult part of using the toolkit is wrapping the callbacks, and I suspect
that will only only be tedious, not technically difficult.

Why not post what you've got to the Euphoria web page? I know it's
incomplete, but I'd love to look at it.

-- David Cuny

new topic     » goto parent     » topic index » view message » categorize

3. Re: Eu/Xwindows

David
  That GraphApp has a GNU license can it be included in a commercial
  product like Euphoria ?
Bernie

new topic     » goto parent     » topic index » view message » categorize

4. Re: Eu/Xwindows

GNU License states that you can do whatever you want with a GNU licensed
product as long as you give the propper credits to the author.

-Allen

On         Wed, 21 Jul 1999 12:27:57 -0400, Bernie Ryan wrote:

> David
>   That GraphApp has a GNU license can it be included in a commercial
>   product like Euphoria ?
> Bernie

What has the near functionality of a PDA at a tenth the cost?

...Give Up?

The Game Boy
DragonEagle's Gameboy Developement Page
http://home.earthlink.net/~asoard/gameboy




_______________________________________________________
Get your free, private email at http://mail.excite.com/

new topic     » goto parent     » topic index » view message » categorize

5. Re: Eu/Xwindows

On Wed, 21 Jul 1999, you wrote:
> Irv Mullins wrote:
>
> > I have been experimenting with Euphoria and X,
> > using a small (free) GUI library from Australia,
> > GraphApp.
>
> I've suggested to Robert that he actually include GraphApp built into
> Euphoria. As you've mentioned, it's small, and supports many platforms,
> including the Mac. The X11 version actually comes in two flavors: Motif, and
> enhanced Athena. It's also C based, which makes it easier to wrap, and is
> one of the few toolkits that includes Mac support. Perhaps the most
> difficult part of using the toolkit is wrapping the callbacks, and I suspect
> that will only only be tedious, not technically difficult.
>
> Why not post what you've got to the Euphoria web page? I know it's
> incomplete, but I'd love to look at it.
>
I'll post it to my web site, until it's complete enough to be useful. That way,
I can update frequently without bothering Rob.
Being C based doesn't help me much, since I've carefully avoided stepping in --
I mean, learning, C.  Nevertheless, there is enough demo code for me to be
able to understand what's going on (mostly) and just copy it.
I got the Athena version, its looks are acceptable. Will the Motif version
work with Lesstif?

Irv

new topic     » goto parent     » topic index » view message » categorize

6. Re: Eu/Xwindows

On Wed, 21 Jul 1999, you wrote:
> GNU License states that you can do whatever you want with a GNU licensed
> product as long as you give the propper credits to the author.
>
> -Allen

GraphApp is covered by the GNU Library Public License.
It appears that if Euphoria calls routines in the compiled object code,
there's no need to do anything at all, other than giving credit where credit is
due:

5. A program that contains no derivative of any
portion of the Library, but is designed to work with the Library by being
compiled or linked with it, is called a "work that uses the Library".  Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.

As far as I know, Euphoria (even when "bound") cannot incorporate c code from
other libraries, so this next paragraph would seem to not apply:

However, linking a "work that uses the Library" with the Library creates an
executable that is a derivative of the Library (because it contains portions of
the Library), rather than a "work that uses the library".  The executable is
therefore covered by this License. Section 6 states terms for distribution of
such executables.

I am not a lawyer (I say that with a great deal of pride) but this looks like it
can be used without hassles.

Irv

new topic     » goto parent     » topic index » view message » categorize

7. Re: Eu/Xwindows

Bernie wrote:

> That GraphApp has a GNU license can it be included
> in a commercial product like Euphoria?

I'm not a lawyer, and reading licenses gives me headaches. For example,
despite multiple readings of the SciTech MGL license, I never could make out
what it said.

As far as I can make out, the GNU licence at the GraphApp site says
basically:

 - Since this library was free to you, this same library must be free to
your users as well.
 - This requirement doesn't apply to derived works.

Various methods of how the library can be made available are outlined in
detail, such as including the source with your distribution, or having the
library on your web site for the next three years, or just pointing to a
distribution.

Again, I can't guarantee this is a proper reading.

-- David Cuny

new topic     » goto parent     » topic index » view message » categorize

8. Re: Eu/Xwindows

Irv Mullins wrote:

> I'll post it to my web site, until it's complete enough to be useful.

Ok.

> I got the Athena version, its looks are acceptable. Will
> the Motif version work with Lesstif?

My impression was (1) GraphApp doesn't really do anything clever, and (2)
LessTiff is fairly complete, so I'm under the impression that it should
work. How's that for a hedge?

-- David Cuny

new topic     » goto parent     » topic index » view message » categorize

9. Re: Eu/Xwindows

On Wed, 21 Jul 1999, you wrote:
> Irv Mullins wrote:
>
> > I got the Athena version, its looks are acceptable. Will
> > the Motif version work with Lesstif?
>
> My impression was (1) GraphApp doesn't really do anything clever, and (2)
> LessTiff is fairly complete, so I'm under the impression that it should
> work. How's that for a hedge?
>
> -- David Cuny

Not good enough for politics. You let an unqualified statement slip thru.
Need to add: "of course, it all depends on your definition of 'clever'"

Irv

new topic     » goto parent     » topic index » view message » categorize

10. Re: Eu/Xwindows

Work continues on a Euphoria wrapper for GraphApp.
Several short demo files, converted from the suite of test programs for
GraphApp, have been added to my web page. These demonstrate ways to
use menus and buttons.

So far, the only thing resembling a "bug" I have found is this:
it you use puts() or printf() inside a function called by a
GraphApp control, the xterm gets reset to a strange mode which doesn't
understand line feeds.  This can be cleared by typing "reset", but it is an
annoyance.
Strangely, if puts() or printf() is called within the main body of the program
even after GraphApp has opened an xwindow, there is no problem.

Irv - http://www.mindspring.com/~mountains

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu