1. Midgard

Hello everyone!=09

Just wanted to let you know I've been working on a project, and I've got my=
=20
website updated to reflect that:

http://www.travisbeaty.us/eu/midgard/

As stated on the website:
"The Midgard Project is a GUI toolkit for use with the Euphoria programming=
=20
language, under the Linux operating system. A GUI toolkit is a special=20
library which allows the programmer to write software which implements=20
=E2=80=9Cwindows=E2=80=9D and various other widgets using the X Window syst=
em. It allows the=20
user to create these widgets by providing the necessary Euphoria include=
=20
files, as well as a shared library file which assists in interfacing betwee=
n=20
your Euphoria code and the object-oriented, but highly fashionable and slic=
k,=20
Qt toolkit ... created by those nutty Norwegians at Trolltech. This is the=
=20
same toolkit upon which the successful KDE Window Manager is based."

Keep in mind that this release barely works ... its really there just to=
=20
demonstrate what I have in mind.  I've called this a hemorrhaging-edge=20
release.  But feel free to have a look at it or peruse the documentation=
=20
links, and make suggestions.  Also, I've got *most* of the documentation do=
ne=20
for what's there, at least code-wise.

I'll try to get this in the archives, but it has been so long since I=20
submitted something ... I've never dealt with this new, automated system.=
=20=20
I'll get 'er, though.

Enjoy!

Travis.

new topic     » topic index » view message » categorize

2. Re: Midgard

Travis Beaty wrote:

>Hello everyone!=09
>
>Just wanted to let you know I've been working on a project, and I've got my=
>=20
>website updated to reflect that:
>
>http://www.travisbeaty.us/eu/midgard/
>
>As stated on the website:
>"The Midgard Project is a GUI toolkit for use with the Euphoria programming=
>=20
>language, under the Linux operating system. A GUI toolkit is a special=20
>library which allows the programmer to write software which implements=20
>=E2=80=9Cwindows=E2=80=9D and various other widgets using the X Window syst=
>em. It allows the=20
>user to create these widgets by providing the necessary Euphoria include=
>=20
>files, as well as a shared library file which assists in interfacing betwee=
>n=20
>your Euphoria code and the object-oriented, but highly fashionable and slic=
>k,=20
>Qt toolkit ... created by those nutty Norwegians at Trolltech. This is the=
>=20
>same toolkit upon which the successful KDE Window Manager is based."
>
>Keep in mind that this release barely works ... its really there just to=
>=20
>demonstrate what I have in mind.  I've called this a hemorrhaging-edge=20
>release.  But feel free to have a look at it or peruse the documentation=
>=20
>links, and make suggestions.  Also, I've got *most* of the documentation do=
>ne=20
>for what's there, at least code-wise.
>
>I'll try to get this in the archives, but it has been so long since I=20
>submitted something ... I've never dealt with this new, automated system.=
>=20=20
>I'll get 'er, though.
>
>Enjoy!
>
>Travis
>

Hello Travis,
will this work also under Windows? Qt applications seem to behave better 
under Windows than GTK ones.

    Martin

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

3. Re: Midgard

On Sunday 22 August 2004 01:08 pm, Martin Stachon wrote:

> Hello Travis,
> will this work also under Windows? Qt applications seem to behave better
> under Windows than GTK ones.
>
>     Martin

Hello Mr. Stachon!

As I indicated in the documentation, at this time I have no plans to 
consciously make Midgard cross-platform.  If I have a lot of people request 
that I do so, I could be persuaded to do my best not to write any 
platform-specific code.  As far as reasoning for this is concerned, again, 
I've outlined that in the documentation, but to summarize:

I haven't coded anything for Windows in quite a long while, and the only 
reason I even have Windows on my machine is for the sake of my scanner.  (I 
bought it cheap, and it has to have Windows ... got to be a correlation 
there.)  Other than that, I don't use Windows, and if turned on and left to 
its own devices, the computer defaults to booting into Linux.  I share many 
of Mr. Mullins' opinions concerning Windows, but I won't expound on them 
here, as I recently donated my asbestos underwear to the volunteer fire 
department.

While Qt in Linux is distributed under the GPL (actually, it is dual-licensed 
and is available under the Q Public License as well), Qt for Windows is not.  
In order to legally develop using Qt in Windows, the purchase of a license is 
required.  The cheapest license that I found for Qt while looking through 
their website was $1,500 US.  Given I don't ordinarily code for Windows, and 
have no plans to, I simply can't justify the expense.  Therefore, even if I 
did try to make Midgard cross-platform, I would have no way to test it on my 
own machine.

The best that I could do, again, would be to make sure there is no 
platform-specific code, and if there is, place it in a if platform() = ... 
then  block.

That having been said, considering the cross-platform capabilities of both Qt 
and Euphoria, it should, in theory, be trivial to port Midgard.  There is 
only one function in the Euphoria code that would have porting issues, and 
that would be a simple matter to fix.  As far as the shared library code 
(written in C++ with exposed functions declared with extern "C"), I can think 
of no issues off the top of my head.  I can't see why MinGW wouldn't be able 
to build the shared library code into a .dll with a little tweaking of the 
makefile ... assuming, of course, that the both the developer and target 
machines have the Windows versions of the Qt Development tools to link 
against.

At this point, to build the shared library, the only items you would need to 
have are the Qt shared libraries, the header files, and the moc meta-object 
compiler.  Oh yeah, and a $1,500 license.

Remember too that Midgard is also licensed under the GPL.  It is under that 
license no matter what operating system it resides on.  This means that if 
you happen to have a license for Qt for Windows, and you want to port it, 
have at 'er.  If that is the case, it might be best to wait until I have 
released a beta as opposed to "previews" ... Midgard is extremely unstable at 
the moment, and the code could violently change between releases until I get 
the thing pinned down.

I hope this answers your question.  Have a wonderful day!


Travis.

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

4. Re: Midgard

Travis:
    Linux version of Euphoria uses gm mouse
    and curses. so how are you going to do
    graphics ? 

Bernie

My files in archive:
http://www.rapideuphoria.com/w32engin.zip
http://www.rapideuphoria.com/mixedlib.zip
http://www.rapideuphoria.com/eu_engin.zip
http://www.rapideuphoria.com/win32eru.zip

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

5. Re: Midgard

Travis Beaty wrote:

> While Qt in Linux is distributed under the GPL (actually, it is
> dual-licensed and is available under the Q Public License as well), Qt for
> Windows is not.

There was/is an effort to port the GPL version of Qt to Win32. Basically, they 
are taking the X11 stuff out of the GPL port and replacing it with Win32 
calls. See:

   http://kde-cygwin.sourceforge.net/qt3-win32/

-- David Cuny

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

6. Re: Midgard

Bernard Ryan wrote:
> posted by: Bernard Ryan <xotron at bluefrog.com>
> 
> Travis:
>     Linux version of Euphoria uses gm mouse
>     and curses. so how are you going to do
>     graphics ? 

Linux is not only the console ;)
http://www.kde.org/screenshots/

	Martin

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

7. Re: Midgard

Travis Beaty wrote:
> 
> Hello Mr. Stachon!
> 
> As I indicated in the documentation, at this time I have no plans to 
> consciously make Midgard cross-platform.  If I have a lot of people request 
> that I do so, I could be persuaded to do my best not to write any 
> platform-specific code.  As far as reasoning for this is concerned, again, 
> I've outlined that in the documentation, but to summarize:
> 
> I haven't coded anything for Windows in quite a long while, and the only 
> reason I even have Windows on my machine is for the sake of my scanner.  (I 
> bought it cheap, and it has to have Windows ... got to be a correlation 
> there.)  Other than that, I don't use Windows, and if turned on and left to 
> its own devices, the computer defaults to booting into Linux.  I share many 
> of Mr. Mullins' opinions concerning Windows, but I won't expound on them 
> here, as I recently donated my asbestos underwear to the volunteer fire 
> department.

You surely have much more knowledge about Qt than me (I always prefered
GTK/Gnome applications for Linux) But from what I read on trolltech's website,
it should be easy to write cross-platform code with Qt as it handles also
file operation, threading, networking, etc.

> While Qt in Linux is distributed under the GPL (actually, it is dual-licensed 
> and is available under the Q Public License as well), Qt for Windows is not.  
> In order to legally develop using Qt in Windows, the purchase of a license is 
> required.  The cheapest license that I found for Qt while looking through 
> their website was $1,500 US.  Given I don't ordinarily code for Windows, and 
> have no plans to, I simply can't justify the expense.  Therefore, even if I 
> did try to make Midgard cross-platform, I would have no way to test it on my 
> own machine.

This is the real problem. I love linux, but not everybody does so, so I'd like
my applications to be cross-platform. So I'll probably stick to GTK.

But I saw some opensource projects running with Qt/Windows, for example the Psi
Jabber client (http://psi.affinix.com/) Did they buy the license?

> The best that I could do, again, would be to make sure there is no 
> platform-specific code, and if there is, place it in a if platform() = ... 
> then  block.
> 
> That having been said, considering the cross-platform capabilities of both Qt 
> and Euphoria, it should, in theory, be trivial to port Midgard.  There is 
> only one function in the Euphoria code that would have porting issues, and 
> that would be a simple matter to fix.  As far as the shared library code 
> (written in C++ with exposed functions declared with extern "C"), I can think 
> of no issues off the top of my head.  I can't see why MinGW wouldn't be able 
> to build the shared library code into a .dll with a little tweaking of the 
> makefile ... assuming, of course, that the both the developer and target 
> machines have the Windows versions of the Qt Development tools to link 
> against.
> 
> At this point, to build the shared library, the only items you would need to 
> have are the Qt shared libraries, the header files, and the moc meta-object 
> compiler.  Oh yeah, and a $1,500 license.
> 
> Remember too that Midgard is also licensed under the GPL.  It is under that 
> license no matter what operating system it resides on.  This means that if 
> you happen to have a license for Qt for Windows, and you want to port it, 
> have at 'er.  If that is the case, it might be best to wait until I have 
> released a beta as opposed to "previews" ... Midgard is extremely unstable at 
> the moment, and the code could violently change between releases until I get 
> the thing pinned down.
> 
> I hope this answers your question.  Have a wonderful day!

Thanks for the information.
Have a nice day too!

	Martin

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

8. Re: Midgard

Bernard Ryan wrote:
> 
> Travis:
>     Linux version of Euphoria uses gm mouse
>     and curses. so how are you going to do
>     graphics ? 

Erm.. Euphoria *can* use curses and the gm mouse, but my guess is 
that hardly anyone bothers with console mode anymore. KDE (and Gnome) 
are way more cooperative than Windows, and it's actually easier to write 
Euphoria programs with a nice GUI than it is to hassle with text mode. 
Even simple one-off filters and file conversion routines I write now 
get a GUI. because it takes less time.

Regards,
Irv

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

9. Re: Midgard

irv mullins wrote:
 
> that hardly anyone bothers with console mode anymore. KDE (and Gnome) 
> are way more cooperative than Windows, and it's actually easier to write 
> Euphoria programs with a nice GUI than it is to hassle with text mode. 
> Even simple one-off filters and file conversion routines I write now 
> get a GUI. because it takes less time.

Irv:
   Then why is the interpeter still using curses ?
   

Bernie

My files in archive:
http://www.rapideuphoria.com/w32engin.zip
http://www.rapideuphoria.com/mixedlib.zip
http://www.rapideuphoria.com/eu_engin.zip
http://www.rapideuphoria.com/win32eru.zip

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

10. Re: Midgard

Hello Mr. Ryan!

On Sunday 22 August 2004 06:10 pm, Bernard Ryan wrote:
> Travis:
>     Linux version of Euphoria uses gm mouse
>     and curses. so how are you going to do
>     graphics ?
>
> Bernie

Well, graphics will be supported via Qt, so the fact that Euphoria uses curses 
shouldn't be an issue -- that's the going theory, anyway.  Midgard will only 
handle GUI issues, so graphics would be performed in a window.  For that, Qt 
has a "QCanvas" family of classes that do quite well.  And for the 
particularly adventurous, there is support for OpenGL 3D graphics in Qt as 
well, which will be included in Midgard at some point.

Hope this helps,

Travis.

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

11. Re: Midgard

Bernard Ryan wrote:
> 
> irv mullins wrote:
>  
> > that hardly anyone bothers with console mode anymore. KDE (and Gnome) 
> > are way more cooperative than Windows, and it's actually easier to write 
> > Euphoria programs with a nice GUI than it is to hassle with text mode. 
> > Even simple one-off filters and file conversion routines I write now 
> > get a GUI. because it takes less time.
> 
> Irv:
>    Then why is the interpeter still using curses ?

I don't know. Ask Rob. 
I guess he thought people would like to have pretty colors on their 
screens.

Irv

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

12. Re: Midgard

On Monday 23 August 2004 04:51 am, Martin Stachon wrote:
> You surely have much more knowledge about Qt than me (I always prefered
> GTK/Gnome applications for Linux) But from what I read on trolltech's
> website, it should be easy to write cross-platform code with Qt as it
> handles also file operation, threading, networking, etc.

Well, I do have more knowledge of Qt than I do of GTK, but I wouldn't call 
myself a guru by any means.  The threading and networking potentials are 
definitely something I want to tap into with Midgard.  However, on issues 
like file operation, we run into a "recreate the wheel" issue.  Euphoria, as 
it stands, is already fairly cross-platform in that area, and it would be 
simpler just to call open() as opposed to wrapping duplicate functionality.  
That having been said, I could see writing some routines based on the QDir 
object, in order to access file system information, and other information 
that a call to dir() in Linux Euphoria code could not readily retrieve.

> > While Qt in Linux is distributed under the GPL (actually, it is
> > dual-licensed and is available under the Q Public License as well), Qt
> > for Windows is not. In order to legally develop using Qt in Windows, the
> > purchase of a license is required.  The cheapest license that I found for
> > Qt while looking through their website was $1,500 US.  Given I don't
> > ordinarily code for Windows, and have no plans to, I simply can't justify
> > the expense.  Therefore, even if I did try to make Midgard
> > cross-platform, I would have no way to test it on my own machine.
>
> This is the real problem. I love linux, but not everybody does so, so I'd
> like my applications to be cross-platform. So I'll probably stick to GTK.

Cross platform code certainly has its place.  If I were to slip on my tinfoil 
hat, or better, Sarmac's turban blink), I can see a point in the scheme of 
things were Linux and Windows will be running neck to neck for a while in 
terms of raw numbers of users.  At that point, most software would be 
produced in "Windows Version" and "Linux Version," in which case GUI toolkits 
like Qt, GTK, wxWindows, and perhaps even Java's Swing toolkit would be "all 
the rage" in geekdom.

As far as sticking to GTK, it boils down to "the right tool for the right 
job."  euGTK is an excellent toolkit, and if it is easier to write 
cross-platform code using it, go for it!  (Yes, I tried to be a salesman 
once, and failed horribly.)  Each toolkit has its own strengths and 
weaknesses, but they all offer choice, and have their own niche here.

The Windows "open source" community is often overlooked, unfortunately, even 
though there are a lot of such projects.  Perhaps one day Qt will stop 
turning a blind eye to those folks, and distribute the Windows version under 
a license more conducive to such communities and individuals.  The price tag 
is just a real show-stopper for me ... I'd seriously consider buying a 
license if they had, say, a license for $100 which stated that you could only 
release non-commercial or GPL'ed projects.

> But I saw some opensource projects running with Qt/Windows, for example the
> Psi Jabber client (http://psi.affinix.com/) Did they buy the license?

More than likely it was bought *for* them.  Open source is often sponsored by 
large corporations, such as IBM, Red Hat, etc.  The Windows version of 
Doxywizard uses the Windows version of Qt.

Have a great day!

Travis.

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

13. Re: Midgard

On Monday 23 August 2004 02:32 am, David Cuny wrote:
> There was/is an effort to port the GPL version of Qt to Win32. Basically,
> they are taking the X11 stuff out of the GPL port and replacing it with
> Win32 calls. See:
>
>    http://kde-cygwin.sourceforge.net/qt3-win32/
>
> -- David Cuny

I took a look at the site.  Very interesting.   However, they state the 
following requirements:

"To run cygwin-qt you need the cygwin posix emulation layer from 
www.cygwin.com and an xserver, like xfree86 from xfree.cygwin.com or any 
other commercial xserver. "

That would be a lot of extra stuff to install just to use Midgard.  I don't 
mean to shoot my own project in the ass, but it seems that it would be 
simpler just to use the native win32lib, or even Mr. Mullins' euGTK, which 
wouldn't have these porting issues.

That is, of course, unless you have the "real" Qt port to Windows.

Thanks for the information, though!!


Travis.

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

Search



Quick Links

User menu

Not signed in.

Misc Menu