1. Midgard
- Posted by Travis Beaty <eucoder at travisbeaty.us> Aug 22, 2004
- 447 views
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.
2. Re: Midgard
- Posted by Martin Stachon <martin.stachon at tiscali.cz> Aug 22, 2004
- 436 views
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
3. Re: Midgard
- Posted by Travis Beaty <eucoder at travisbeaty.us> Aug 22, 2004
- 434 views
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.
4. Re: Midgard
- Posted by Bernard Ryan <xotron at bluefrog.com> Aug 22, 2004
- 436 views
- Last edited Aug 23, 2004
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
5. Re: Midgard
- Posted by David <dcuny at lanset.com> Aug 23, 2004
- 440 views
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
6. Re: Midgard
- Posted by Martin Stachon <martin.stachon at tiscali.cz> Aug 23, 2004
- 449 views
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
7. Re: Midgard
- Posted by Martin Stachon <martin.stachon at tiscali.cz> Aug 23, 2004
- 432 views
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
8. Re: Midgard
- Posted by irv mullins <irvm at ellijay.com> Aug 23, 2004
- 421 views
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
9. Re: Midgard
- Posted by Bernard Ryan <xotron at bluefrog.com> Aug 23, 2004
- 411 views
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
10. Re: Midgard
- Posted by Travis Beaty <eucoder at travisbeaty.us> Aug 23, 2004
- 409 views
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.
11. Re: Midgard
- Posted by irv mullins <irvm at ellijay.com> Aug 23, 2004
- 422 views
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
12. Re: Midgard
- Posted by Travis Beaty <eucoder at travisbeaty.us> Aug 23, 2004
- 446 views
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 ), 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.
13. Re: Midgard
- Posted by Travis Beaty <eucoder at travisbeaty.us> Aug 23, 2004
- 422 views
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.