1. Is there a good Windows or cross-platform Euphoria IDE?
- Posted by VirtualB Oct 14, 2015
- 9536 views
Hi Everyone,
First, I would like to say that I just learned that Judith Evans passed away. My condolences go out to her friends and family. She is one of the people I have really missed since leaving Eu, and I was hoping to be able to make contact with her again.
I've been away for quite some time, and I've recently wanted to get back into coding with Euphoria. However, I'm having a problem with the IDE. I'm not sure if this is an issue because it hasn't been updated in a while, or if I'm just that rusty. Is Judith's IDE still being used? I downloaded it and win32lib from links in the wiki, but I can't seem to get them to work. I also tried EuVide, but I'm having similar issues. Are there any IDE users who could point me in the right direction?
2. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by xecronix Oct 14, 2015
- 9545 views
Are there any IDE users who could point me in the right direction?
I like to use either WEE or Geany. If you decide to go the Geany route, there is a syntax file I can provide.
3. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by ghaberek (admin) Oct 14, 2015
- 9511 views
We (still) do not have an official IDE. There's a list of supported text editors on the Editors page.
-Greg
4. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by ChrisB (moderator) Oct 14, 2015
- 9481 views
Hi
An official IDE would require committing to an official toolkit......
Cross platform toolkits - wxEu and eugtk.
Chris
5. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by xecronix Oct 14, 2015
- 9442 views
Cross platform toolkits - wxEu and eugtk.
Agreed. But, This topic has plagued this community for a very long time. Honestly, this topic deserves the attention of a strike team. 3 OpenEuphoria volunteers voted in to decide:
- What toolkit to include with OpenEuphoira
- What IDE should be included with OpenEuphoria
- How to make sure that the official toolkit and IDE will work on each platform it's is installed on.
Why 3 and not all? Because years have gone by and as a community this has not been decided on yet. There will be heated debates and long conversations and finally the decision to not include anything will likely again emerge. 3 people have a better chance at making something happen. Those of us that are not part of the strike team will need to accept that not everyone can be happy about the outcome of this decision. I wish we could compare ourselves to Lazarus Project. But we need to start from where we are now.
What if we cant pick a toolkit... even if we reduce the number of people that can influence the decision?
That's a sad day for OpenEuphoria. But in the event that it can't be done, a very distant second best option might be to officially adopt a 3rd party IDE by creating plugins, syntax files, etc.
Just a thought.
Forked into: UI Committee Round 2
6. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by _tom (admin) Oct 14, 2015
- 9436 views
Why 3 and not all?
Ok, I vote for multiplatform euIUP. So if xecronix votes the same way the problem is "solved."
Find euIUP http://jeremy.cowgar.com/euiup/.
I have respect fo Jeremy Cowgar's intuition. The GUI is small (under 3MB) and fits well with Euphoria thinking. IUP does not need a IDE because you can learn to put things into boxes that resize themselves.
It is enough to get users quickly writing programs. Once hooked, they can move to larger libraries.
This will make documenting Euphoria much easier.
When Redy works on Linux we can promote it as a standard GUI.
_tom
7. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by ghaberek (admin) Oct 14, 2015
- 9414 views
Ok, I vote for multiplatform euIUP. So if xecronix votes the same way the problem is "solved."
Find euIUP http://jeremy.cowgar.com/euiup/.
I have respect fo Jeremy Cowgar's intuition. The GUI is small (under 3MB) and fits well with Euphoria thinking.
I like IUP in and of itself, but I have a few issues with Jeremy's wrapper specifically:
- Jeremy has "Euphoria-ized" the code so porting code from native IUP C to Euphoria is not one-to-one.
- IUP receives several updates every year but development on Jeremy's wrapper stalled out in 2010.
- The learning curve for IUP is completely different compared to Win32Lib and wxEuphoria.
Maybe if someone reworked the wrapper to use create() and various set/get functions, it would be easier to use.
IUP does not need a IDE because you can learn to put things into boxes that resize themselves.
Some people will always want an IDE and some of those people will want the IDE to provide a drag-and-drop GUI designer. I think that is one of the single biggest features that would draw people to Euphoria. Writing code is easy and designing a GUI should be easy as well.
It is enough to get users quickly writing programs. Once hooked, they can move to larger libraries.
IUP is designed much differently than other GUI toolkits. I have used IUP and wxWidgets in their native languages and I can attest that switching one's mindset between them is a bit of a struggle sometimes. Everything in IUP is a string and it just feels unnatural to me.
This will make documenting Euphoria much easier.
Not sure what you mean. Having one GUI toolkit makes documenting easier? Having a simpler toolkit makes documenting easier?
When Redy works on Linux we can promote it as a standard GUI.
I am still not sure if it's a good idea to use a non-native toolkit nowadays. In the Java world, Swing was all the rage through the late 90's and early 2000's but in the past decade it has been superseded mostly by JavaFX and SWT. Java has several "official" toolkits and they still have the same problem we have with choosing the "right" one for most developers.
Basically what I'm saying is, I'm not sure if we should ever choose an official toolkit and maybe just pick one we want to start with and work on it from there. As the saying goes, "if you build it he will come," so maybe if you start the project to build an IDE, other people will jump on board to help out.
-Greg
8. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by xecronix Oct 14, 2015
- 9424 views
Ok, I vote for multiplatform euIUP. So if xecronix votes the same way the problem is "solved."
Find euIUP http://jeremy.cowgar.com/euiup/.
I have respect fo Jeremy Cowgar's intuition. The GUI is small (under 3MB) and fits well with Euphoria thinking.
Correct. If the community appointed/elected you, me and one other person as arbitrator on this topic and the 2 of us decided IUP was the way to go, then yes... problem solved and IUP would be bundled with OpenEuphoria. And, BTW, I agree that IUP deserves consideration in the matter.
The truth is, all of the toolkits mentioned so far in this thread deserves consideration. As do the notions that the right solution hasn't been written yet or that there is no solution.
So if arbitrators were appointed/elected their job would be:
- Come up with a list of problems that are solved by having a toolkit and/or IDE included with OpenEuphoria. This will require community input.
- Compare the available options to see how they can help solve these problems.
- Consider what new problems the solution causes.
- Pick a solution
Basically what I'm saying is, I'm not sure if we should ever choose an official toolkit and maybe just pick one we want to start ...maybe if you start the project to build an IDE, other people will jump on board to help out.
There is a lot of merit to this approach. I'm not sure I agree with you on this matter but I'm still open to the idea. I like to think that Lazarus is a fine benchmark in which to compare OpenEuphoria. In my mind, most of the problems we would consider solved by an official toolkit/ide were solved by Lazarus. But Lazarus is *NOT* the official IDE of Freepascal. I would argue that Freepascal does not have an official IDE. Rather Freepascal is the official compiler for Lazarus. This I believe supports your opinion.
On the other hand, nearly all of OpenEuphoria counter-parts have toolkits wrapped up and included with the base distribution.
- Freepascal -GTK and Win32
- Freebasic - GTK and Win32
- Python - TK
- Perl - TK
- Ruby - TK
- Java - Swing/AWT
That is not to say other toolkits don't exist for these languages. Of course they do. But this gives us an idea of what they ship with. I believe the inclusion of a toolkit helps lower the barrier to entry for newcomers and promotes early adoption of the language for them.
Python actually ships with an "IDE" too. Though I never use idle. Euphoria ships with ed. So the idea of shipping with an IDE is not foreign to Euphoria. Though it may be time for an upgrade.
9. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by VirtualB Oct 15, 2015
- 9321 views
Thanks xecronix, I'll give those a try. I was just hoping that Eu would have a better offering at this point. In my opinion, Judith's IDE rivaled Visual Studio, and anything short of what Euphoria had to offer when I left 14 years ago seems like a great step backward to me.
10. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by VirtualB Oct 15, 2015
- 9331 views
Some people will always want an IDE and some of those people will want the IDE to provide a drag-and-drop GUI designer. I think that is one of the single biggest features that would draw people to Euphoria. Writing code is easy and designing a GUI should be easy as well.
-Greg
I completely agree with this. I am certainly one who sees a lot of value in having a tool that will allow me to quickly and easily design a GUI. I'm sure that not everyone will agree with this, but I feel that having to hand code my GUI is a waste of time and effort when a tool could do it for me. It seems to me that this type of thinking is why there are high-level languages, such as Euphoria, as well as editors with code coloring and completion.
I realize that I've been away for a long time, and I don't really know how things are done here, or even who's in charge of running openEuphoria, but it's hard for me to believe (and this isn't a dig at anyone) that things haven't progressed in this area. In my opinion, Eu is an incredible language that should be right up there with the best of them, but I have to think that you're losing many many potential users because of the degree of difficulty in getting it to work. To me, it's like marketing a car with lots of power, great mpg, and a ton of built-in features, but telling the potential buyer that he or she has to go find the wheels, the gas tank and the engine in different places, then find a way to put them together. If new users didn't have to deal with this type of thing, I think Euphoria would spread like wildfire.
11. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by ChrisB (moderator) Oct 15, 2015
- 9313 views
To me, it's like marketing a car with lots of power, great mpg, and a ton of built-in features, but telling the potential buyer that he or she has to go find the wheels, the gas tank and the engine in different places, then find a way to put them together
Great analogy.
Chris
12. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by euphoric (admin) Oct 15, 2015
- 9299 views
Ok, I vote for multiplatform euIUP. So if xecronix votes the same way the problem is "solved."
Find euIUP http://jeremy.cowgar.com/euiup/.
I have respect fo Jeremy Cowgar's intuition. The GUI is small (under 3MB) and fits well with Euphoria thinking. IUP does not need a IDE because you can learn to put things into boxes that resize themselves.
Make it so.
13. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by euphoric (admin) Oct 15, 2015
- 9289 views
I'm not sure if we should ever choose an official toolkit and maybe just pick one we want to start with and work on it from there.
I agree fully with this. It's not like we need an official toolkit. The community can develop one (or someone can engage in commercial activity and build one for sale), and then the community can support and recommend it.
14. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by xecronix Oct 15, 2015
- 9344 views
EuVide
I looked at EuVide project page. It appears that the project was written/lead by a team of 3 people. This is a funny coincidence.
I don't know what the product looks like, how good it is/isn't or any thing else about it really. It only runs on Windows (which I don't have) and there are no screen shots to show off the features.
WxIDE
Similarly, I don't know much about wxIDE because I can't find many screen shots for that IDE either. Maybe it's good? I typically have trouble with wx in general but, if there were compelling screen shots maybe I'd try harder. It seems to have been last updated 2 1/2 years ago. Is it still a viable option?
I did find one screen shot for wxIDE.
Redy
This is another Windows only solution at the moment. However, after examining the project, it looks like it would not take a lot of work to get it to run on top of GTK. About 20 functions would would need to implemented... I think. However, that is not inline with what ryanj has in mind for his project. Additionally, if the screen shots are up to date, the code editor is not as advanced as some of the other options yet.
That said, I feel like this project is a GREAT start to what could eventually be for OpenEuphoria what Lazarus is for Freepascal. Though again, not really a goal for the project.
IUP
If an IDE were started using IUP, this could also be of significant advantage to OpenEuphoria. This toolkit really has some huge advantages over some of the other options. The biggest one is it's small size. This means that a very lite weight dll could be provided with OpenEuphoria that would guarantee that "things" written using IUP would run on the target machine. Additionally, the IUP license makes it easy to do just that.
Sadly, I don't know of a single project ever written using IUP and OpenEuphoria. So, I have nothing to study to base any claims of suitability. If someone knows of any, I'd be happy to look at them.
GTK
Today, WEE + Glade offers the only cross-platform OpenEuphoria GUI, drag and drop IDE solution that I'm aware of. You can swap out WEE for your favorite text editor but, WEE does offer some OpenEuphoria features not found elsewhere.
Unfortunately, Windows users claim that it is difficult to get GTK to run. This sounds like a packaging and education problem to me but I'm not in a position that I can help out with these issues. Except to say, Dia and Geany both easily installed on Windows the last time I tried. Maybe things have changed since my Windows XP days some years ago.
I'm not sure that EuGTK actually has a hosted project repository. (like github, sourceforge, scm.openeuphoria.org, anything really). If that statement is true, I consider that a strike against GTK.
For what it's worth
That's how I see the state of these things now. Where do we go from here? Well that's up to the individuals that make up this community. Options:
- Lone Wolf - Someone could attempt to build OpenEuphoria Lazarus like project.
- Strike team - A few volunteers can work on a solution together.
- Ignore - Maybe it's not an OpenEuphoria problem at all. Rather a problem that only exists in the users space?
- Fragment - Several Lone Wolves can attempt to create a solution
- Converge - The entire community could pick one solution to converge on for a week or so. If that goes well, maybe converge on a project again sometime in the future.
Forked into: Porting Redy to linux
15. UI/IDE committee
- Posted by jimcbrown (admin) Oct 16, 2015
- 9293 views
Agreed. But, This topic has plagued this community for a very long time. Honestly, this topic deserves the attention of a strike team. 3 OpenEuphoria volunteers voted in to decide:
- What toolkit to include with OpenEuphoira
- What IDE should be included with OpenEuphoria
- How to make sure that the official toolkit and IDE will work on each platform it's is installed on.
Why 3 and not all? Because years have gone by and as a community this has not been decided on yet. There will be heated debates and long conversations and finally the decision to not include anything will likely again emerge. 3 people have a better chance at making something happen. Those of us that are not part of the strike team will need to accept that not everyone can be happy about the outcome of this decision.
I like this idea.
Here's what's going to happen. xecronix and _tom, you two will be on the committee. You will pick the third member of the committee within one week from now.
Then the committee will have 31 days from the end of that week (or 38 days from now) to come up with a solution. If you can't come to an agreement by then, then it's over.
However, once the committee picks a choice, then it'll be adopted and committed to trunk.
I don't really have the power to just 'make it so', but it's been a few days and no one has objected to this approach, so I'm comfortable with it.
If there are serious objections to this approach, then I'll take it to a community-wide vote. But if there aren't, then I think it's safe to assume that a majority of the community agrees and we should go forth with this concept.
17. Re: UI/IDE committee
- Posted by ghaberek (admin) Oct 16, 2015
- 9206 views
I like this idea.
Here's what's going to happen. xecronix and _tom, you two will be on the committee. You will pick the third member of the committee within one week from now.
Then the committee will have 31 days from the end of that week (or 38 days from now) to come up with a solution. If you can't come to an agreement by then, then it's over.
However, once the committee picks a choice, then it'll be adopted and committed to trunk.
I don't really have the power to just 'make it so', but it's been a few days and no one has objected to this approach, so I'm comfortable with it.
If there are serious objections to this approach, then I'll take it to a community-wide vote. But if there aren't, then I think it's safe to assume that a majority of the community agrees and we should go forth with this concept.
This sounds good to me and I feel I have a lot to contribute to this topic. I would like to be considered for position of third committee member.
-Greg
Forked into: The Euphoria Editor
18. Re: UI/IDE committee
- Posted by _tom (admin) Oct 16, 2015
- 9190 views
Here's what's going to happen. xecronix and _tom, you two will be on the committee.
I am willing to work on the committee. I am also willing to make room for anyone who has better technical ability.
From 17 Oct to 25 Oct I will not have internet access (it's going to be a 40 km bike ride to access a hamburger internet link.)
You will pick the third member of the committee within one week from now.
Consider this a formal request for committee members. Contact us on the forum, or use "Misc Menu|Contact Admin" to contact _tom or all administrators directly.
Then the committee will have 31 days from the end of that week (or 38 days from now) to come up with a solution. If you can't come to an agreement by then, then it's over.
Long enough to come up with a reasoned choice. Even a final coin toss would be progress in solving a decade old issue.
However, once the committee picks a choice, then it'll be adopted and committed to trunk.
Since the Euphoria language itself will not be impacted, any GUI choices now can always evolve to better choices. The important thing now is to just get started.
I don't really have the power to just 'make it so', but it's been a few days and no one has objected to this approach, so I'm comfortable with it.
If there are serious objections to this approach, then I'll take it to a community-wide vote. But if there aren't, then I think it's safe to assume that a majority of the community agrees and we should go forth with this concept.
The openEuphoria project lacks a dictator (even a benevolent one); that is one reason why it seems that progress is slow. This is also a strength because everyone's opinions do count.
_tom
19. Re: UI/IDE committee
- Posted by jimcbrown (admin) Oct 16, 2015
- 9200 views
Here's what's going to happen. xecronix and _tom, you two will be on the committee.
I am willing to work on the committee. I am also willing to make room for anyone who has better technical ability.
I think that is acceptable, assuming that you and xecronix can agree on the replacement.
You will pick the third member of the committee within one week from now.
From 17 Oct to 25 Oct I will not have internet access (it's going to be a 40 km bike ride to access a hamburger internet link.)
Ok, the two of you have two weeks to pick the committee members. The 31 days starts after the two weeks has elapsed (so if you pick early, the committee gets extra time to make a decision).
20. Re: UI/IDE committee
- Posted by xecronix Oct 16, 2015
- 9209 views
Here's what's going to happen. xecronix and _tom, you two will be on the committee.
Thank you! And I accept.
21. Re: UI/IDE committee
- Posted by _tom (admin) Oct 16, 2015
- 9208 views
I have posted news on the home page.
I started a wiki page http://openeuphoria.org/wiki/view/GuiCriteria.wc#category_GuiCriteria for ideas on how to pick the GUI.
_tom
22. Re: UI/IDE committee
- Posted by petelomax Oct 18, 2015
- 9144 views
OK, I'm on board with the idea of adopting IUP as the cross platform gui of choice.
To be honest I am very annoyed with myself for not trying it before, as it is quite short and sweet.
I got it to work on Phix, apart from 1) a bug in (my) call back handler exposed by cbtest, 2) pplot doing nowt, and 3) euchat being a non-starter for me because Phix has neither sockets nor regular expressions, but 6 other demos are running just fine.
To achieve that, I had to curb the excessive use of namespaces and gratuitous builtin overrides - while iup:open might look nice and clever to you, IMO it /*will*/ clobber some open that has been working fine for years, so it is IupOpen now [==C].
I merged the includes into a single iup.e file, as the quickest way to ensure removal of any duplicates/overrides; that can be undone later if there really is any need to do so. Combined it is still shy of 5000 lines, and I'd like to keep it that way.
I downloaded the latest iup.chm and cd.chm files, only to find that neither has an index ;-(
I have managed to unpack and rebuild them, and started the slow process of creating all the index entries.
I plan to rename all the Eu wrapper functions to match the C names, to help integration with Edita. I have also renamed all of the c_func/proc constants from hXXX to xXXX because that is another Edita/Help thing, and it should not matter anyway.
Yesterday I managed to index 94 entries and integrate them into the Edita help system (so that F1 jumps right to the docs), but there may be as many as 1100 more, so I'd have to chip away at that as time allows.
I have added error handling when the dlls cannot be opened, changed the version to "3.3.0p1", fixed a handful of free(0), as that's an error in Phix, and a couple of "probable logic errors": get_string_array/elsif sequence(classname) and iup_append/elsif sequence(child).
Unfortunately there is a bug in Phix regarding switch with fallthru, whereby it makes a mess of optimising the jump table, and may take me some time to figure out a proper fix, so for now IupGetParam (was get_param) has to do things longhand.
cdCanvasVertex (was canvas_vertex) was using hCd, not the hCdCanvas parameter (fixed)
canvas_put_image_rect_rgba was using xcdCanvasPutImageRectRGB not xcdCanvasPutImageRectRGBA (fixed)
init_bitmap is not using xcdInitBitmapMAP (still outstanding)
rgb_2_map does not use the rgb parameter (still outstanding)
I would be happy to serve on the "iup comittee", as long as it is understood my primary focus is on Phix, with getting the same stuff to run seamlessly on OpenEuphoria an important but secondary goal.
First things first though, obviously I need to fix the bugs just found, then port a few programs to iup, maybe try to cobble up a starter IDE, all before any final decision.
Pete
23. Re: UI/IDE committee
- Posted by jimcbrown (admin) Oct 18, 2015
- 9157 views
maybe try to cobble up a starter IDE
That would be very nice!
24. Re: UI/IDE committee
- Posted by jimcbrown (admin) Oct 18, 2015
- 9121 views
I would be happy to serve on the "iup comittee", as long as it is understood my primary focus is on Phix, with getting the same stuff to run seamlessly on OpenEuphoria an important but secondary goal.
The decision is not up to me, but I think it makes sense for both OE and Phix to standardize on the same GUI/API.
25. Re: UI/IDE committee
- Posted by xecronix Oct 19, 2015
- 9093 views
I would be happy to serve on the "iup comittee", as long as it is understood my primary focus is on Phix, with getting the same stuff to run seamlessly on OpenEuphoria an important but secondary goal.
The decision is not up to me, but I think it makes sense for both OE and Phix to standardize on the same GUI/API.
Hmm... there isn't an IUP committee yet but perhaps there should be. I like the idea that Phix and OE could standardize on the same GUI.
The three biggest issues that I see with IUP are all solvable. And they are:
- No one is actively maintaining IUP wrappers.
- No one has used it to create anything as of yet.
- There doesn't seem to be a Mac OS X port.
The library is available for several compilers:
- GCC and CC, in the UNIX environment
- Visual C, Borland C, Watcom C++ and GCC (Cygwin and MingW), in the Windows environment
The library is available for several operating systems:
- UNIX (SunOS, IRIX, and AIX) using Motif 2.x
- UNIX (FreeBSD and Linux) using GTK+ (since 3.0)
- Microsoft Windows XP/2003/Vista/7 using the Win32 API
26. Re: UI/IDE committee
- Posted by xecronix Oct 19, 2015
- 9098 views
The three biggest issues that I see with IUP are all solvable. And they are:
- No one is actively maintaining IUP wrappers.
Oh... Wait. Greg has just created a new IUP wrapper and a program that can help automate the process of keeping an IUP wrapper up to date. This may not be an issue anymore.
- No one has used it to create anything as of yet.
And Greg has created a WEE clone using the new IUP wrapper. And it looks great! Follow this thread for more details.
- There doesn't seem to be a Mac OS X port.
This may still be a problem though. Do we have anyone using OS X that can verify that this is or isn't a problem? I would also consider Raspberry Pi potentially problematic but I can look at setting up IUP and the Euphoria Editor Greg wrote on the Pi tonight. If I get it working I'll create a package for it. This is exciting!
27. Re: UI/IDE committee
- Posted by jimcbrown (admin) Oct 19, 2015
- 9120 views
- There doesn't seem to be a Mac OS X port.
This may still be a problem though. Do we have anyone using OS X that can verify that this is or isn't a problem?
I don't have OSX, but looking on the web it looks like it's possible with a significant caveat:
http://sourceforge.net/p/iup/mailman/message/21672382/
I would also consider Raspberry Pi potentially problematic but I can look at setting up IUP and the Euphoria Editor Greg wrote on the Pi tonight. If I get it working I'll create a package for it. This is exciting!
Looks like someone has already gotten Iup working on Raspbian.
https://www.mail-archive.com/iup-users@lists.sourceforge.net/msg01156.html
28. Re: UI/IDE committee
- Posted by ghaberek (admin) Oct 19, 2015
- 9127 views
I don't have OSX, but looking on the web it looks like it's possible with a significant caveat:
Yuk. That's not going to go over well. There is a GTK+ Download: Mac OS X page. Maybe that would help?
Looks like someone has already gotten Iup working on Raspbian.
https://www.mail-archive.com/iup-users@lists.sourceforge.net/msg01156.html
Neat! But we will need the IM and CD libraries to use the more advanced IUP controls.
-Greg
29. Re: UI/IDE committee
- Posted by PeteE Oct 19, 2015
- 9098 views
I spent some time trying to compile iup on Mac OSX yesterday. Getting the GTK libraries isn't too hard these days: MacPorts (installs to /opt/local, slow, compiling takes hours) or Homebrew (installs soft-links to /usr/local, fast, installs binaries instead of compiling in most cases)
There are two modes of GTK on OSX: one that uses X11 app and the appearance uses the default GTK theme, and one called gtk-quartz-engine and uses native widgets. The X11 code works fine, and I use it with WEE all the time. The quartz stuff is not clear what works and what is deprecated, but I'm hoping to try it out more later. It would be a lot nicer if iup could skip GTK and use native OSX widgets directly.
The iup core library could be compiled with either mode, but I hit a snag with a missing dependency on a "cd" library. Turns out to be CanvasDraw, but I didn't get a chance to try it yet.
Anyway, this is me volunteering to test the OSX side of things.
30. Re: UI/IDE committee
- Posted by xecronix Oct 19, 2015
- 9064 views
It would be a lot nicer if iup could skip GTK and use native OSX widgets directly.
Why Not Mac? The first Mac driver was developed for MacOS 9 and had several memory limitations so it was abandoned. With Mac OS X we have the opportunity to do something better. Today IUP runs on Mac OS X using X11 with Motif or GTK. We plan for the future to build a native driver, but it is not a Tecgraf priority.
The iup core library could be compiled with either mode, but I hit a snag with a missing dependency on a "cd" library. Turns out to be CanvasDraw, but I didn't get a chance to try it yet.
This may help. http://webserver2.tecgraf.puc-rio.br/iup/en/building.html Pay close attention to the directory structure and the order you need to do things.
Anyway, this is me volunteering to test the OSX side of things.
Schweet!
31. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by dr_can Oct 19, 2015
- 9030 views
Judith's IDE has been updated (by me) and a version 1.0.6 is available from the Archive. I have a couple of later versions (one which works on Eu3.1.1; the other needs at least 4.0.5), neither of which has been made public. Both work pretty well still on a newish machine and Windows 10, using one or other of the latest two issues of Win32Lib. Please contact me if you want further help.
As a designer it is still, in my view, the best, but it is very long in the tooth and not cross-platform. Quite a few of the features have been overtaken by events so rather bloat things. As far as I can gather the user base is too small to justify further significant development work.
I cannot say I am a fan of the syntax of the Win32Lib library, nor of the others which have tended to follow its style, so I am warming to the Iup lobby that is building up on this thread. Still, creating something as good as Judith's designer is still a long way off.
32. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by xecronix Oct 20, 2015
- 9003 views
A couple of days in and this where we are now.
- What toolkit to include with OpenEuphoira? TODO
- What IDE should be included with OpenEuphoria? At this point, is it fair to say that the IDE included with OpenEuphoria should be something like The Euphoria Editor or WEE?
- How to make sure that the official toolkit and IDE will work on each platform it's is installed on? TODO
- Come up with a list of problems that are solved by having a toolkit and/or IDE included with OpenEuphoria. TODO: The reason for this list of problems is so that we know when/if we have a complete solution. This list should be driven by community input.
- Compare the available options to see how they can help solve these problems. TODO
- Consider what new problems the solution causes. TODO: The most likely problems will include multi-platform deployment of the solution and maintainers for both code and packaging.
- Pick a solution. TODO: But an early front runner is IUP and The Euphoria Editor
Forked into: What problems does an Official IDE or Toolkit solve?
33. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by dcuny Oct 20, 2015
- 8999 views
I'll be up-front about this: I think OE should adopt the wxWidgets library.
It's a full-featured, cross-platform library. So not only do you get GUI controls, but you get support for stuff that other libraries leave out, like printing, graphics and audio. (Although the audio support leaves something to be desired).
I'm also voting to statically compile it. wxBasic did that, and weighed in at less than 1000K.
I know there's the whole "Euphoria should be minimal" argument. But it's stuff like that which drives me back to using other languages.
For example, for my current application, I need to render a bitmap of an FFT. It should be easy, right?
But OE only supports 256 color bitmaps. Rendering lines, fonts or shapes? They aren't there anymore. Color support? I need to write my own routine to handle the palette. Fonts? All the old libraries are tied to DOS, so they don't work anymore.
I'd also like to play back an audio file. Again, there's no native support in OE.
These things should be supported by OE. But they're not, so I'm currently writing a thin wrapper for Tk using the Tcl Wrapper, mainly because it can plug into the awesome Snack sound toolkit. Grumble.
Full disclosure: Only my stubborn insistence that OE have a library which supports native widgets (and possibly statically compile to the library) keeps EuGTK from getting my whole-hearted approval.
One "nice to have" for OE would be a better way to declare callbacks. I understand there are issues with scoping, and arguments for minimalism about using routine_id(). But it's always feels clunky. There's got to be a more elegant way to do things.
34. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by ghaberek (admin) Oct 20, 2015
- 8981 views
I'll be up-front about this: I think OE should adopt the wxWidgets library.
I agree 100%. When last we spoke you were working on an wrapper generator for wxWidgets. I'm all for that, but I've been down that road several times before and I always get lost. Conversely, I was able to write a complete wrapper generator for IUP in a few hours over a couple of days. That gave me the complete IUP library in its native API (as opposed to Jeremy's version) which allowed me to follow the documentation nearly verbatim to get The Euphoria Editor started in a few days.
One "nice to have" for OE would be a better way to declare callbacks. I understand there are issues with scoping, and arguments for minimalism about using routine_id(). But it's always feels clunky. There's got to be a more elegant way to do things.
My wrapper for IUP adds this neat little function:
public function Icallback( sequence name, atom rid = routine_id(name) ) return call_back( rid ) end function
So I can easily do things like this in my code:
function action_cb( atom self ) return IUP_DEFAULT end function IupSetCallback( button, "ACTION", Icallback("action_cb") )
Is that easy or what? I learned a while ago that when routine_id() is called as a part of a default parameter, it runs in the caller's scope, so that it returns the expected result at the point of the call.
-Greg
35. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by dcuny Oct 20, 2015
- 8930 views
I learned a while ago that when routine_id() is called as a part of a default parameter, it runs in the caller's scope, so that it returns the expected result at the point of the call.
You've got to be kidding me.
I just went round in circles with this. I wanted to write:
function create_callback(sequence routineName) integer routineId = routine_id(routineName) ... end function
But it scoped the visibility of the routines to where it was defined instead of where it was called. I ended up having to write:
function create_callback(integer routineId) ... end function
And got halfway through also writing a little rant about it before deciding not to press the post button...
Is this documented somewhere? I don't see it in the manual, and I just looked again.
- David
36. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by dcuny Oct 20, 2015
- 8911 views
This also confuses me:
public function Icallback( sequence name, atom rid = routine_id(name) ) return call_back( rid ) end function
From your example, it looks like you can not only do an assignment to a non-constant value, but you can pass one of the parameter values.
Where is this in the manual defined? The manual says:
PROCDECLARE ==: [SCOPETYPE] 'procedure' IDENTIFIER '(' [PARMLIST] ')' [STMTBLK] 'end' 'procedure' PARMLIST ==: PARAMETER [',' PARMLIST] PARAMETER ==: DATATYPE IDENTIFER
Maybe it's just that my Google-fu skills are lacking, but I can't find any mention default parameter values in the on-line manual.
There are some examples where they are used, but that's not quite the same.
- David
Forked into: routine_id scope
37. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by xecronix Oct 20, 2015
- 8944 views
I'll be up-front about this: I think OE should adopt the wxWidgets library.
It's a full-featured, cross-platform library. So not only do you get GUI controls, but you get support for stuff that other libraries leave out, like printing, graphics and audio. (Although the audio support leaves something to be desired).
I'm also voting to statically compile it. wxBasic did that, and weighed in at less than 1000K.
Statically link for all 5 supported platforms? Including osx, unix like, and ARM systems too? 32 bit and 64 bit? If so, this could make application deployment better. How would this solution affect xlate and compile?
38. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by elias_maluko Oct 20, 2015
- 8934 views
What if, instead of adopt an external API we create a backend agnostic high level euphoria GUI API? If it use IUP, WXWidgets, QT etc under the hood, it dont matter. The API will be the same, and controled by us, the euphoria guys. No need to check docs in alien languages.
An example is Bacon's Basic Converter HUG (High Level Universal Gui) - http://www.basic-converter.org/hugdoc.html and freepascal's Lazarus, but this last is too big, many man years. We could have a high level sound API too. The way it interacts with OS (via bundled libs, SDL, SFML, OPENAL etc) dont matter and is totaly transparent.
sorry my bad english ;)
39. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by ghaberek (admin) Oct 20, 2015
- 8960 views
My plan has always been to statically link the wrapper code directly against the wxWidgets shared libraries, so that the end result looked the same as the original libraries, but with the extra "shim" code stored inside.
I've built wxWidgets from source many times on Windows and Linux and I can tell you that I've rarely seen the sum of all shared libraries below 30 MB, even without debug symbols and after compressing them with UPX. I think wxWidgets 3.0 adds a lot more to the library that increases the total size (like propgrid, ribbon, stc, and webview) which, of course, we would want to wrap so we'd need to include it.
Here are the sizes of the files currently on my machine:
wxWidgets 3.0.2
Original | Compressed | Name |
---|---|---|
5,297 KB | 2,932 KB | wxbase30u_gcc_custom.dll |
2,306 KB | 1,430 KB | wxbase30u_net_gcc_custom.dll |
2,115 KB | 1,278 KB | wxbase30u_xml_gcc_custom.dll |
5,278 KB | 3,462 KB | wxmsw30u_adv_gcc_custom.dll |
2,933 KB | 1,886 KB | wxmsw30u_aui_gcc_custom.dll |
12,377 KB | 7,143 KB | wxmsw30u_core_gcc_custom.dll |
2,089 KB | 1,321 KB | wxmsw30u_gl_gcc_custom.dll |
3,591 KB | 2,319 KB | wxmsw30u_html_gcc_custom.dll |
2,152 KB | 1,341 KB | wxmsw30u_media_gcc_custom.dll |
3,635 KB | 2,371 KB | wxmsw30u_propgrid_gcc_custom.dll |
2,746 KB | 1,679 KB | wxmsw30u_ribbon_gcc_custom.dll |
4,599 KB | 2,823 KB | wxmsw30u_richtext_gcc_custom.dll |
5,093 KB | 2,700 KB | wxmsw30u_stc_gcc_custom.dll |
2,164 KB | 1,375 KB | wxmsw30u_webview_gcc_custom.dll |
5,619 KB | 3,674 KB | wxmsw30u_xrc_gcc_custom.dll |
61,992 KB | 37,742 KB | Total |
wxWidgets 2.8.12
Original | Compressed | Name |
---|---|---|
1,754 KB | 1,120 KB | wxbase28u_gcc_eu.dll |
406 KB | 258 KB | wxbase28u_net_gcc_eu.dll |
360 KB | 182 KB | wxbase28u_xml_gcc_eu.dll |
1,352 KB | 846 KB | wxmsw28u_adv_gcc_eu.dll |
741 KB | 455 KB | wxmsw28u_aui_gcc_eu.dll |
5,148 KB | 3,120 KB | wxmsw28u_core_gcc_eu.dll |
1,062 KB | 652 KB | wxmsw28u_html_gcc_eu.dll |
413 KB | 269 KB | wxmsw28u_media_gcc_eu.dll |
359 KB | 226 KB | wxmsw28u_qa_gcc_eu.dll |
1,563 KB | 838 KB | wxmsw28u_richtext_gcc_eu.dll |
952 KB | 516 KB | wxmsw28u_xrc_gcc_eu.dll |
14,114 KB | 8,488 KB | Total |
-Greg
40. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by ghaberek (admin) Oct 20, 2015
- 8921 views
What if, instead of adopt an external API we create a backend agnostic high level euphoria GUI API? If it use IUP, WXWidgets, QT etc under the hood, it dont matter. The API will be the same, and controled by us, the euphoria guys. No need to check docs in alien languages.
But isn't that what IUP, wxWidgets, and QT already provide? They're abstracting the native GUI for each platform (Win32, GTK+, Cocoa, Motif, etc.) so that the programmer only has to deal with a single cross-platform interface. Abstracting these toolkits into a single unified toolkit seems redundant to me.
-Greg
41. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by dcuny Oct 20, 2015
- 8914 views
Statically link for all 5 supported platforms? Including osx, unix like, and ARM systems too?
Hey, I'm a user. I just want to deliver solutions to my clients (all one of them) as simply as possible. Technical details are for other people to work out.
I believe I statically compiled wxBasic for Windows, Linux and OS X. It's been a while, and I've blocked the gory details of dealing with MAKE files from memory. I never had to deal with ARM systems.
For wxBasic, I ended up creating two versions - one with wxWidgets, and one without that was simply a command-line version.
If you're not willing to bifurcate the OE codebase, then you'll obviously have to use .dlls.
There's always going to be the questions of what you want to support. Will a GUI-enabled version of OE be to the exclusion of other projects? At what point do you decide that something is part of the "kitchen sink", or something is not?
It's great for users to create projects, but if OE is going to adopt a vision, I think this needs to be part of the core. The difference between using ed and WEE is night and day - it's makes the language one that I want to use, because I don't feel I have to re-invent the wheel.
42. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by dcuny Oct 20, 2015
- 8896 views
...and I can tell you that I've rarely seen the sum of all shared libraries below 30 MB
Ooops. Forgot I always used UPX.
- David
43. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by ne1uno Oct 20, 2015
- 8934 views
What if, instead of adopt an external API we create a backend agnostic high level euphoria GUI API? If it use IUP, WXWidgets, QT etc under the hood, it dont matter. The API will be the same, and controled by us, the euphoria guys. No need to check docs in alien languages.
An example is Bacon's Basic Converter HUG (High Level Universal Gui) - http://www.basic-converter.org/hugdoc.html and freepascal's Lazarus, but this last is too big, many man years. We could have a high level sound API too. The way it interacts with OS (via bundled libs, SDL, SFML, OPENAL etc) dont matter and is totaly transparent.
sorry my bad english ;)
I have always though this would be the best, though will take the most work. you do wind up with a common denominator committee API that nobody really likes. some will need to bypass the API to do things other GUI can't so the idea of write once run anywhere never really happens.
python had the AnyGui project, which worked ok but never got far beyond the proof of concept stage. ok for simple programs though.
this is not far from what Ryan is doing with Redy, there are well defined files to provide the GUI primitives from any wrapper.
44. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by elias_maluko Oct 20, 2015
- 8917 views
What if, instead of adopt an external API we create a backend agnostic high level euphoria GUI API? If it use IUP, WXWidgets, QT etc under the hood, it dont matter. The API will be the same, and controled by us, the euphoria guys. No need to check docs in alien languages.
But isn't that what IUP, wxWidgets, and QT already provide? They're abstracting the native GUI for each platform (Win32, GTK+, Cocoa, Motif, etc.) so that the programmer only has to deal with a single cross-platform interface. Abstracting these toolkits into a single unified toolkit seems redundant to me.
-Greg
Sure. But wrap giant libraries like WxWidgets or QT, provide documentation and keep it updated seems harder than create a simple High level API (look the link of HUG). Provide a 1 to 1 wrap (c/cplusplus to euphoria) and wait the euphoria programmer look for documentation in a C manual is not a wise option to me.
45. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by xecronix Oct 21, 2015
- 8904 views
An example is Bacon's Basic Converter HUG (High Level Universal Gui) - http://www.basic-converter.org/hugdoc.html
Thanks for the tip. I like the simplicity of the docs.
46. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by elias_maluko Oct 21, 2015
- 8837 views
I have always though this would be the best, though will take the most work. you do wind up with a common denominator committee API that nobody really likes. some will need to bypass the API to do things other GUI can't.
That's why its important to provide a simple primitive base component (like a canvas) that can be used to render custom components.
so the idea of write once run anywhere never really happens.
The web itself provides the biggest write once run anywhere. We use buttons, labels, write texts in forms, watch video, and nobody complain that the gui dont looks like native. The problem here is the bad looking (and half implemented) controls provided by non native guis. Look at old TCL/TK guis, Swing Gui with Metal look and feel, FLTK and Fox Toolkit. All provide that ugly dated look and very fell customization options. Thats why i said once to Ryan that he should team with a designer to provide the look and feel for Redy. Maybe we, the programmers dont see, but programmer's art (in general) is ugly ;)
python had the AnyGui project, which worked ok but never got far beyond the proof of concept stage. ok for simple programs though.
I believe that happened because that was not bundled with python. Even today the python guys prefer TK because its the default bundled GUI for python.
this is not far from what Ryan is doing with Redy, there are well defined files to provide the GUI primitives from any wrapper.
I think Ryan is drawing the components by itself, not relying on wrapped external controls.
Thanks for the tip. I like the simplicity of the docs.
Your welcome
47. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by dcuny Oct 21, 2015
- 8832 views
The web itself provides the biggest write once run anywhere. We use buttons, labels, write texts in forms, watch video, and nobody complain that the gui dont looks like native. The problem here is the bad looking (and half implemented) controls provided by non native guis. Look at old TCL/TK guis, Swing Gui with Metal look and feel, FLTK and Fox Toolkit. All provide that ugly dated look and very fell customization options. Thats why i said once to Ryan that he should team with a designer to provide the look and feel for Redy. Maybe we, the programmers dont see, but programmer's art (in general) is ugly ;)
I agree there are a lot of "ugly" GUIs out there. Most of the ones you're citing aren't intrinsically ugly though. Most of them were developed in the Win95 era, and took on the look and feel of the time. Many simply haven't been updated since then, because the developers are more focused on other matters.
But people do complain that a GUI doesn't look native. The Metal design was quite stylish. It failed because people wanted a native look and feel, which is the approach that Swing takes today.
I agree that REDY could use a makeover - the scrollbars look like they came from the Motif toolkit. But skinning widgets isn't particularly difficult. The real issue is supporting all the various functionality (mouse, keyboard shortcuts) that can differ from platform to platform.
And a GUI API needs to provide more than just a canvas that renders with pretty widgets. It also needs to provide menus, dialogs, printing, audio, and so on. On Gnome and OS X, window-based menus are going to look out of place. Applications should use the default font of the theme, and present at the correct resolution (point size and DPI).
A pure-Euphoria GUI is certainly possible, but why would you want one? It would never be as feature-complete as the ones your users currently are using (although they might not initially notice). What benefit is there in settling for less?
- David
48. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by dcuny Oct 21, 2015
- 8785 views
Provide a 1 to 1 wrap (c/cplusplus to euphoria) and wait the euphoria programmer look for documentation in a C manual is not a wise option to me.
That's where the IDE comes in. If you've got type declarations, your IDE can pop up intellisense hints.
- David
49. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by elias_maluko Oct 21, 2015
- 8802 views
But people do complain that a GUI doesn't look native. The Metal design was quite stylish. It failed because people wanted a native look and feel, which is the approach that Swing takes today.
I believe people complain when the software don't look professional. Write an app with windows 95 look in 2015 seems strange even to computer illiterates. The whole QT gui framework don't use native controls and is used to make Gui heavy apps like Maya 3D.
The real issue is supporting all the various functionality (mouse, keyboard shortcuts) that can differ from platform to platform.
This! This is the point! if your menu, edit box, window decoration(borders and min/max/close buttons) and scroll bars don't *behave* like native, the user will note and complain. In my view it should behave (even if this don't look like native). Thats why i said that Web and its Web apps are a good example of write once and run anywhere. The edit boxes and scroll bars works like native all the rest is only limited by designer's view.
To enrich the discussion, theres even a new trend in using undecorated window with a webview embedded to make the gui using web technologies (HTML and javascript). This is a known approach in mobile apps, but now for desktops too. See github's Electron (http://electron.atom.io). The good: You have access to video, audio, 2d canvas, 3d with webgl canvas... out of the box The bad: Your app will weight 100mb+
Note that my initial suggestion was just to make a simple GUI API for euphoria like HUG (http://www.basic-converter.org/hugdoc.html). We could use native or no under the hood. Why not dream? We could even use Electron under the hood ;D
50. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by ryanj Oct 22, 2015
- 8741 views
The problem here is the bad looking (and half implemented) controls provided by non native guis. Look at old TCL/TK guis, Swing Gui with Metal look and feel, FLTK and Fox Toolkit. All provide that ugly dated look and very fell customization options. Thats why i said once to Ryan that he should team with a designer to provide the look and feel for Redy. Maybe we, the programmers dont see, but programmer's art (in general) is ugly ;)
this is not far from what Ryan is doing with Redy, there are well defined files to provide the GUI primitives from any wrapper.
I think Ryan is drawing the components by itself, not relying on wrapped external controls.
The web itself provides the biggest write once run anywhere. We use buttons, labels, write texts in forms, watch video, and nobody complain that the gui dont looks like native. The problem here is the bad looking (and half implemented) controls provided by non native guis. Look at old TCL/TK guis, Swing Gui with Metal look and feel, FLTK and Fox Toolkit. All provide that ugly dated look and very fell customization options. Thats why i said once to Ryan that he should team with a designer to provide the look and feel for Redy. Maybe we, the programmers dont see, but programmer's art (in general) is ugly ;)
I agree there are a lot of "ugly" GUIs out there. Most of the ones you're citing aren't intrinsically ugly though. Most of them were developed in the Win95 era, and took on the look and feel of the time. Many simply haven't been updated since then, because the developers are more focused on other matters.
But people do complain that a GUI doesn't look native. The Metal design was quite stylish. It failed because people wanted a native look and feel, which is the approach that Swing takes today.
I agree that REDY could use a makeover - the scrollbars look like they came from the Motif toolkit. But skinning widgets isn't particularly difficult. The real issue is supporting all the various functionality (mouse, keyboard shortcuts) that can differ from platform to platform.
And a GUI API needs to provide more than just a canvas that renders with pretty widgets. It also needs to provide menus, dialogs, printing, audio, and so on. On Gnome and OS X, window-based menus are going to look out of place. Applications should use the default font of the theme, and present at the correct resolution (point size and DPI).
A pure-Euphoria GUI is certainly possible, but why would you want one? It would never be as feature-complete as the ones your users currently are using (although they might not initially notice). What benefit is there in settling for less?
I felt that it was necessary to create widgets from scratch for several reasons, which is perhaps a discussion for another time. Because i wanted to focus on finishing all the API and functionality, i had to use very basic drawing code for now. It is really easy to draw filled rectangles with lines for highlights and shadows. Besides, i like the simple boxy 3D look. Much of my gui design has been influenced by Geoworks Ensemble from the '90s, which in my opinion was an amazing design (both visual style and behavior).
I do like some of the themes i have seen on linux, with round corners, soft edges, and gradients. I plan to add a theme engine to try different styles, but i need a much better graphics library first.
I do find it quite annoying when programs used half-baked gui libraries that don't behave as expected, like when you hit tab and it doesn't go to the next textbox. My intention is for Redy to follow basic standards, while allowing room to innovate new ideas. I fully intend for Redy to have features that a professional gui is expected to have:
- Obey regional settings and user preferences (font and dpi settings, date/time format, color schemes, unicode, ltr or rtl languages, etc.)
- Look and feel that is close enough to native to not annoy people
- Full keyboard navigation and control (tab focus, alt/ctrl key combos, function keys, etc.)
- Layout that works well on any resolution
- User-customize-able layout for toolbars and panels
- Complete set of tool button icons
- Full multi-monitor support
- Drag-and-drop, clipboard support, and undo
51. Re: UI/IDE committee
- Posted by jimcbrown (admin) Dec 02, 2015
- 8008 views
Ok, the two of you have two weeks to pick the committee members. The 31 days starts after the two weeks has elapsed (so if you pick early, the committee gets extra time to make a decision).
Ok, the deadline has been passed.
When will the committee be able to make a public announcement about the proposed solution? Or is http://openeuphoria.org/forum/m/129097.wc it?
52. Re: UI/IDE committee
- Posted by _tom (admin) Dec 03, 2015
- 7949 views
Ok, the two of you have two weeks to pick the committee members. The 31 days starts after the two weeks has elapsed (so if you pick early, the committee gets extra time to make a decision).
Ok, the deadline has been passed.
When will the committee be able to make a public announcement about the proposed solution? Or is http://openeuphoria.org/forum/m/129097.wc it?
I say we go with "Iup for Euphoria." It is multi-platform and available today.
When someone shows me a more elegant solution I will endorse it.
_tom
53. Re: UI/IDE committee
- Posted by jmduro Dec 03, 2015
- 7961 views
I say we go with "Iup for Euphoria." It is multi-platform and available today.
When someone shows me a more elegant solution I will endorse it.
_tom
Sure it is nice, but when you have to deal with pointers as with IupGetParams (http://openeuphoria.org/forum/m/129119.wc), it is a bit complicated for beginners compared to the EuIup version (https://bitbucket.org/jcowgar/euiup/src then demos/getparams.ex).
On the other side, I could not get EuIup to work on Windows. It works for me only on Linux.
Jean-Marc
54. Re: UI/IDE committee
- Posted by _tom (admin) Dec 03, 2015
- 7935 views
horse + donkey = mule
It follows that
Microsoft + Linux + OS X = ?
You can not please anyone with a multi-platform gui it seems.
Is IUP simpler than wxWidgets? An opinion from the wxWidget maintainers would help. Can "IUP for Euphoria" be wrapped to look more like EuIUP? (Note that EuIUP is no longer being maintained.)
My learning curve for IUP so far is steep. I have simple things working but not the fancy stuff. "Iup for Euphoria" is a valuable addition to Euphoria worthy of promotion even if it doesn't become the "official" toolkit.
_tom
55. Re: UI/IDE committee
- Posted by ghaberek (admin) Dec 03, 2015
- 7963 views
Sure it is nice, but when you have to deal with pointers as with IupGetParams (http://openeuphoria.org/forum/m/129119.wc), it is a bit complicated for beginners compared to the EuIup version (https://bitbucket.org/jcowgar/euiup/src then demos/getparams.ex).
I am aware of this and I plan to address it. At the same time, we can't always avoid calling memory directly when we're working with third-party libraries. When in Rome, as they say.
On the other side, I could not get EuIup to work on Windows. It works for me only on Linux.
I don't think it works with the latest libraries. Or maybe it's trying to use STDCALL and the library expects CDECL.
-Greg
56. Re: UI/IDE committee
- Posted by jmduro Dec 03, 2015
- 7961 views
I am aware of this and I plan to address it. At the same time, we can't always avoid calling memory directly when we're working with third-party libraries. When in Rome, as they say.
I made a proposal for IupGetParam here: http://openeuphoria.org/forum/m/129127.wc
Jean-Marc
57. Re: UI/IDE committee
- Posted by andi49 Dec 07, 2015
- 7792 views
horse + donkey = mule
It follows that
Microsoft + Linux + OS X = ?
You can not please anyone with a multi-platform gui it seems.
Is IUP simpler than wxWidgets? An opinion from the wxWidget maintainers would help. Can "IUP for Euphoria" be wrapped to look more like EuIUP? (Note that EuIUP is no longer being maintained.)
My learning curve for IUP so far is steep. I have simple things working but not the fancy stuff. "Iup for Euphoria" is a valuable addition to Euphoria worthy of promotion even if it doesn't become the "official" toolkit.
_tom
To make it short, the UI/IDE committee was not able to make a decision?
Andreas
58. Re: UI/IDE committee
- Posted by ghaberek (admin) Dec 07, 2015
- 7907 views
I completely missed Tom's post from the other day. Probably because I had responded to Jean-Marc at the nearly same time. So here are my responses.
You can not please anyone with a multi-platform gui it seems.
I would agree that one cannot have great multi-platform GUI toolkit. You can have something that's good enough or something that is native to that platform. wxWidgets sure gets close but even then there are some things that are out of place because they are non-native implementations.
Is IUP simpler than wxWidgets? An opinion from the wxWidget maintainers would help.
IUP is a great deal simpler than wxWidgets. There is a decent comparison for this on the IUP page here: http://webserver2.tecgraf.puc-rio.br/iup/en/toolkits.html
The primary difference is that IUP is simply a GUI toolkit, whereas wxWidgets is more like a development platform similar to Microsoft .NET. wxWidgets has additional libraries and classes for other functions like networking, document/view framework, console applications, etc. IUP is just a means to add a GUI to your application.
The number one thing I like about IUP over wxWidgets is that IUP is written in C and can be interfaced directly with Euphoria. Since wxWidgets is written in C++, we need the "shim" library that wxEuphoria provides.
Can "IUP for Euphoria" be wrapped to look more like EuIUP? (Note that EuIUP is no longer being maintained.)
I do not know if there is much value to be added with converting the entire API for IUP into EuIUP style. I think the existing API is already quite Euphoria-like and not all that different from Win32Lib or wxEuphoria. The only difference is that there's no central create() routine and instead there are separate routines to create each type of control separately. Almost everything else is handled through the IupGet/SetAttribute() functions.
My learning curve for IUP so far is steep. I have simple things working but not the fancy stuff. "Iup for Euphoria" is a valuable addition to Euphoria worthy of promotion even if it doesn't become the "official" toolkit.
After playing with IUP for a few months now, I can say that I do not think the learning curve for it is all that steep. I think that once you "get it" and start to think in terms of how IUP works, it becomes a snap to throw a quick GUI together without much effort. You can get a lot done just by consulting the documentation and sample files provided by the IUP project. This is why I have been insisting on keeping the API as-is: it makes the learning curve much easier for the user.
The main idea to keep in mind is that there isn't a lot of "fancy stuff" to get working. IUP is very, very simple. It doesn't even have a ListView control!
http://lists.luaforge.net/pipermail/iup-mail/2007-October/000070.html
Antonio Scuri scuri at tecgraf.puc-rio.br Thu Oct 4 11:59:28 GMT+3 2007 Hi, We do not have ListView control yet. We are working on version 3.0 with several new and probably in 3.1 there will be a native ListView. But we have IupMatrix that can do what you need, except to show an image in the cell. To do that you have to use the DRAW_CB callback and draw the image using the CD library. Best Regards, Antonio Scuri > -----Original Message----- > From: Jeremy Cowgar [mailto:jeremy at cowgar.com] > Sent: quinta-feira, 4 de outubro de 2007 03:02 > To: iup at tecgraf.puc-rio.br > Subject: ListView Control? > > Is there a list view control for Iup? I've played with it now > for a few hours and I think it's just what I am looking for, > except, I cannot find a ListView control. I see the ListBox > and the Grid controls, but what I am speaking of is something > like a multicolumn listbox. For instance, the list view on an > email client that shows the message date, title, from, status, etc... > > Thanks for any input! > > Jeremy >
Version 3.17 came out last week and there's still no ListView control to speak of. But they did fix my tab-closing issue in GTK!
To make it short, the UI/IDE committee was not able to make a decision?
Andreas
If I have to call it now, I will put it this way:
IUP is the supported GUI toolkit for Euphoria†. It will not be included as part of Euphoria but it will be provided as a separate download in the same package formats (exe, deb, etc.). Install Euphoria. Install IUP. Get started making GUI applications right away. No building, no linking, no source control, no third-party dependencies. Demos and documentation will be provided in the download. Support is available via the forum. †OS X support will not be provided until we have someone with OS X expertise and hardware on the development team. Using IUP on OS X requires a separate installation of GTK for OS X. |
This is all, of course, a work in progress. We have a lot of converted samples and a primary flagship application to demonstrate the usage of IUP in Euphoria. I need to work on the documentation as well. Not sure if we can automate that without relying too heavily on the source code. The include headers do not provide any documentation. It's all provided in the source code and then pulled out with Doxygen. I may take a similar approach to wxEuphoria but that will require rewriting my automated wrapper, but that probably needs to get done anyway.
-Greg
59. Re: UI/IDE committee
- Posted by andi49 Dec 07, 2015
- 7797 views
Ho,ho,ho
simple question (I repeat myself)
I just want to know (i do not care if it is IUP or GTK or WXWIDGETS or WIN32 or whatever...)
To make it short, the UI/IDE committee was not able to make a decision?
Andreas
60. Re: UI/IDE committee
- Posted by ghaberek (admin) Dec 07, 2015
- 7762 views
Ho,ho,ho
simple question (I repeat myself)
I just want to know (i do not care if it is IUP or GTK or WXWIDGETS or WIN32 or whatever...)
To make it short, the UI/IDE committee was not able to make a decision?
Andreas
Well I guess one of us actually has to actually say one way or the other, don't we?
That being said, the work to provide IUP for Euphoria is not complete but continues to make progress.
-Greg
61. Re: UI/IDE committee
- Posted by andi49 Dec 08, 2015
- 7757 views
Well I guess one of us actually has to actually say one way or the other, don't we?
That being said, the work to provide IUP for Euphoria is not complete but continues to make progress.
-Greg
Hi
Thank you, now it is clear, IUP is THE toolkit for Euphoria. Maybe, it should also appear on the OpenEuphoria Homepage.
So, i think (or hope) there should be a link to download the wrapper and the shared libs (eg. .so and .dll).
On a prominent place (maybe I'am wrong...).
What i like to say is, the now 'supported GUI toolkit for Euphoria' is not even on this page http://openeuphoria.org/wiki/view/Starting%20Euphoria%20Gui%20Programming.wc
Who should test it? If it is not easy to download or even to find?
Who should know there is a supported toolkit if it is not even mentioned on the Homepage?
Who should help to improve it?
Or is it a secret, only for 'internal' use? Or even a pet-project for the 'UI/IDE committee'?
Andreas
Forked into: GUIs FOR EUPHORIA
62. Re: UI/IDE committee
- Posted by xecronix Dec 09, 2015
- 7752 views
Andreas, these are very good questions. But first let me preface the rest of this response by saying thanks to Greg who has worked very hard to provide an excellent wrapper and GUI programming option to OE. In addition to providing a wrapper the IDE he's been working on is coming along nicely. These should be exciting times for OE in the near future.
In my opinion, the committee has failed though. While an official GUI was stated earlier this week, there has been no discussions on how to integrate the project with OE. In fact, what was accomplished is the creation of another dll/wrapper that exists in the community user space. While this by it's self isn't a bad thing, my hopes were that we would have discussed at least some of the obvious concerns such as distribution and keeping true to some of the other OE goals. Since I've mentioned this in e-mail and publicly on these forums I'll only briefly mention high level discussion that should happen between the committee members if the project is going to succeed beyond the success of the already existing similar projects such as Wx and GTK.
- Cross platform distribution of the IUP solution (dll & wrapper)
- Integration of the above with the OE build and packaging processes
- Cross platform distribution of OE user's programs
- Complied vs Interpreted usage of OE user's programs. (Closely related to the above)
- DLL/Wrapper sync (ie what happens when a customer upgrades IUP)
- DLL location
So, i think (or hope) there should be a link to download the wrapper and the shared libs (eg. .so and .dll).
On a prominent place...
If the above concerns are discussed and addressed you would not need to worry about these things and you could just focus on building your program. This path of downloading wrappers and DLLs from the archive or other places has proven to not be a very effective long term solution to this problem in the past. Proof of that is the fact that we are having this conversation now.
Who should test it? If it is not easy to download or even to find? Who should help to improve it?
This is an open source project and is currently being worked on in a very public way. In fact, the project is housed at a defacto community repository. Greg has been soliciting help from testers since the beginning. Given that we have a small community, everyone should probably help support the project either by forking the code and working on it, or testing the code and creating bug reports, or finding ways to help with documentation. Bitbucket easily supports all of these avenues.
https://bitbucket.org/ghaberek/editor
Who should know there is a supported toolkit if it is not even mentioned on the Homepage?
Sure, I agree. Maybe some news about the project on the homepage is warranted. But, I would expect an Official GUI to have a section in the Official Documentation. Clearly we're not there yet.
Or is it a secret, only for 'internal' use? Or even a pet-project for the 'UI/IDE committee'?
I wouldn't call Greg's IUP efforts a pet-project but more of a proof of concept. He has a program that is generating the wrapper from the C header files. If this concept works long term, this is a big win for OE. Again, not a secret though. He's mentioned it in the forums and on the project bitbucket homepage. https://bitbucket.org/ghaberek/editor
I hope I've provided a realistic state of things for the community.
63. Re: UI/IDE committee
- Posted by ChrisB (moderator) Dec 10, 2015
- 7666 views
In my opinion, the committee has failed though.
Hi
Disagree totally.
I've been using Eu in it's various guises since 2001 (ish) and this last month or two (apart from the change from 3.xx to 4.xx) has been the biggest leap I have seen in Eu.
You and the other committee have put in some great effort, please keep it up.
I agree with all the aims of the conmittee, and while you may not be able to achieve all of them straight away, you are only a very short hop from them. Perhaps make stages / signposts - eg get a windows version working, then move to also getting a Linux version working, then getting cross platform smoothness.
Exciting times indeed. Many many thanks to all the UI/IDE committee.
Cheers
Chris Burch
64. Re: UI/IDE committee
- Posted by jimcbrown (admin) Dec 10, 2015
- 7652 views
In my opinion, the committee has failed though.
Thank you for being brave enough to say that.
While an official GUI was stated earlier this week, there has been no discussions on how to integrate the project with OE.
I didn't realize it at the time, but the deadline for the committee was between two major US holidays (US Thanksgiving and the Winter Solstice holidays like Yule and Hannaka). Furthermore, we had a third holiday in the middle of the commitee's work as well (Halloween). As all three committee members are from or are in the US, this may have been a factor in what happened.
Disagree totally.
I've been using Eu in it's various guises since 2001 (ish) and this last month or two (apart from the change from 3.xx to 4.xx) has been the biggest leap I have seen in Eu.
You and the other committee have put in some great effort, please keep it up.
I agree with all the aims of the conmittee, and while you may not be able to achieve all of them straight away, you are only a very short hop from them.
Interesting point. If the committee approach worked out in general, but just ran out of time before it could finish everything, then I think it certainly makes sense to extend the deadline (and perhaps, now that a more realistic view of how long everything will take is known, several goal posts to mark intermediate stages).
65. Re: UI/IDE committee
- Posted by _tom (admin) Dec 10, 2015
- 7725 views
Tom's rambling on choosing a GUI for Euphoria.
We need a GUI today, so IUP is the supported GUI toolkit for OpenEuphoria. If someone makes a convincing argument for a better toolkit we will adapt. What remains is documentation and examples, a slick installation method, and ultimately bundling with the Euphoria distribution. A lot of practical details remain before you get a "click and run" download of IUP; it is a bit early for a grand announcement about IUP. You can preview Iup for Euphoria at: https://bitbucket.org/ghaberek/editor/overview IUP will be a great addition to Euphoria.
GUI of the day is IUP (Interface User Portable)
- multi-platform
- wrapper by G. Haberek
- interface by Tecgraf
- looks like it has a maintainable future
- lacks documentation, examples, tutorial
- first impression: a practical way to add a GUI to a small program
- could use: more Euphoric feel
- Progress report: 70,000 words of documentation grabbed from IUP and 30 examples working.
- Iup is used with: Euphoria, Bacon, Chicken, Lua, Python, and others
Multi-platform GUI options
GTK
- great on Linux
- works on Windows, but install requires a large set of dependencies
wxWidgets
- multi-platform
- has documentation, examples, editor, designer
- should be the dominant GUI
- I am not clear about who is maintaining the wrapper
- I am not clear about an effortless installation
- could use: more Euphoric feel
- debatable: is IUP or wxWidgets "easier" to use?
Note: Can't define "Euphoric feel" but we do have opinions about it.
Survey of languages and GUI options
Class | Promoter | Language | GUI | Notes |
---|---|---|---|---|
Corporate | ||||
Microsoft | Net | Windows | all integrated | |
Apple | Swift | OS X | all integrated | |
Go | ||||
Mozilla | Rust | |||
Oracle | Java | AWT | ||
Tekgraf | Lua | IUP | ||
Academic | ||||
Python | ||||
Pascal | ||||
Lisp | ||||
Unix | ||||
C | ||||
Perl | ||||
Tk/Tcl | ||||
Independent | ||||
OpenEuphoria |
Other than Microsoft and Apple, everyone is scrambling to get a GUI working. No obvious winners here. The ideal GUI package remains elusive for everyone.
Language success needs:
- corporation or benefactor
- money
- open-source
- a nice name
- hoola-hoop factor
The Euphoria family--OpenEuphoria, Phix, Euphoria--is the only Friendly, Flexible, and Fast programming available. It's just too good to ignore.
How to get a GUI working
(1) Program OS directly.
Euphoria --> GUI
Suitable only for the determined.
(2) Use a toolkit.
Euphoria --> toolkit --> GUI
Suitable for one operating system: win32lib, tinEWG, euGTK
(3) Add an interface for multi-platform use
Euphoria --> toolkit --> interface --> GUI
Suitable for many uses: wxWidgets, IUP, euGTK
(4) Piggyback another language.
Euphoria --> toolkit --> ( language + interface ) --> GUI
Workable with a large install: AWT from Java, Net from Mono (example is JAPI wrapper Euphoria to Java)
Installations increase in size as you go from (1) to (4). Ease of distributing programs goes down as you go from (1) to (4).
Some creative thinking:
REDY
- works only on Windows so far
wxBasic
- D. Cuny integrated wxWidgets into his own language
Bach
- K. Boechert integrated IUP into a custom build of RDS2.4 Euphoria
Agar
- multi-platform and opensource
- feature is that modern graphics cards are exploited
The UI/IDE committee?
- We have failed to produce the ultimate GUI solution that other programming languages will copy from us.
- We have a supported GUI that will be useful to many Euphoria programmers.
- The committee idea resulted in a burst of progress.
- Euphoria is better than when we started.
Thanks to Greg and xecronix
_tom
66. Re: UI/IDE committee
- Posted by jimcbrown (admin) Jan 27, 2016
- 7091 views
Interesting point. If the committee approach worked out in general, but just ran out of time before it could finish everything, then I think it certainly makes sense to extend the deadline (and perhaps, now that a more realistic view of how long everything will take is known, several goal posts to mark intermediate stages).
On the other hand, it's been a month and a half since I wrote this, and no new overall deadline or dates for accomplishing goal posts have been marked by the committee.
The last post thus far: http://openeuphoria.org/forum/m/129181.wc
I find this state of affairs very discouraging.
67. Re: UI/IDE committee
- Posted by jmduro Jan 27, 2016
- 7079 views
Agar
- multi-platform and opensource
- feature is that modern graphics cards are exploited
I thought Agar could be a winner candidate but I was not able to get it run even in C so that was a bad point to start with.
Current version 1.4.1 has also not been update since 2011.
Jean-Marc
68. Re: UI/IDE committee
- Posted by ghaberek (admin) Jan 27, 2016
- 7033 views
On the other hand, it's been a month and a half since I wrote this, and no new overall deadline or dates for accomplishing goal posts have been marked by the committee.
The last post thus far: http://openeuphoria.org/forum/m/129181.wc
I'll admit, I've been doing almost zero development since November. I just haven't had the time. The holiday season hit me really hard this year.
Productivity will return as my schedule allows. I started my IUP/Editor project on a particularly free weekend last October where I could power through it quickly.
I find this state of affairs very discouraging.
What's disappointing to me is the reality that we just don't have enough manpower to really see these things through.
Ron laid out several roles in that post you linked to, and asked for people to "please get involved" but no one has stepped forward to contribute.
I'm preaching to the choir on this, but without more volunteers I don't think we can get much done in a timely manner.
-Greg
69. Re: UI/IDE committee
- Posted by dr_can Jan 27, 2016
- 7011 views
I have been plodding away working at "converting" the examples in the "C" folder on the Iup site and the changes to the existing version of the library that would make it easier to use.
If you want helpers count me in. I would be happy to help with documentation as well as the above, but someone needs to direct the effort if our (limited?) resources are to be best used.
70. Re: UI/IDE committee
- Posted by _tom (admin) Jan 27, 2016
- 6993 views
I have been plodding away working at "converting" the examples in the "C" folder on the Iup site and the changes to the existing version of the library that would make it easier to use.
If you want helpers count me in. I would be happy to help with documentation as well as the above, but someone needs to direct the effort if our (limited?) resources are to be best used.
Thankyou, help is desperately needed.
Greg will be able to set you up so can upload example programs (an area where I have been having problems).
The first round of documentation has been uploaded.
- the "reference manual" this requires grunt work at the moment that is not easily delegated
- I have started translating some of the tutorials -- a good place to help (I will get these uploaded so they can be examined)
Library changes that I have noticed (with the understanding that the wrapper is automated and not be be faulted...)
- needs defaults
- constants with "IUPconstantname" are not being used
- changes to make it more "Euphoric" would be welcome
Any kind of tutorial would be valuable. I can help with formatting in the Creole markup style so don't worry about the details.
_tom
71. Re: UI/IDE committee
- Posted by _tom (admin) Jan 27, 2016
- 6989 views
I find this state of affairs very discouraging.
But not hopeless. I have learned that a "drop in" multi-platform GUI is asking for a lot. You can find opinions on the web that this (multi-platform idea...) is an unreasonable objective.
_tom
72. Re: UI/IDE committee
- Posted by ChrisB (moderator) Jan 28, 2016
- 6987 views
Hi
It's a shame, but I think I agree to a point that the the UI/IDE comitte has run out of steam, through no fault of their own. I suspect that it's a combo of these two factors
- Real world commitments (ie life)
- Too lofty a target - ie cross platform invisible compatibility
It might be worthwhile, as I said before to limit the project to Windows only, since, I believe, that this is the most popular operating system, first,
What can I do to help?
Cheers
Chris
73. Re: UI/IDE committee
- Posted by ghaberek (admin) Jan 28, 2016
- 7003 views
I have been plodding away working at "converting" the examples in the "C" folder on the Iup site and the changes to the existing version of the library that would make it easier to use.
If you want helpers count me in. I would be happy to help with documentation as well as the above, but someone needs to direct the effort if our (limited?) resources are to be best used.
Thankyou, help is desperately needed.
Greg will be able to set you up so can upload example programs (an area where I have been having problems).
Please send me an e-mail so I have your e-mail address, then I will send you an invite via Bitbucket to join the repository.
The first round of documentation has been uploaded.
- the "reference manual" this requires grunt work at the moment that is not easily delegated
- I have started translating some of the tutorials -- a good place to help (I will get these uploaded so they can be examined)
Thank you for your continued efforts on this. Can we rename "documentation" to just "docs?" The word "documentation" seems too verbose.
I'm also wondering how we can provide online documentation via the Wiki.
Library changes that I have noticed (with the understanding that the wrapper is automated and not be be faulted...)
- needs defaults
- constants with "IUPconstantname" are not being used
- changes to make it more "Euphoric" would be welcome
I'm considering re-writing the wrapper so that it can be smart about ignoring changes, or only wrapping things it hasn't wrapped before.
Feel free to create some issues to address these tasks (list them as either enhancement or proposal).
We need to narrow in on what "more Euphoric" really means. I'm open to this; I'm just not sure what others are looking for.
Any kind of tutorial would be valuable. I can help with formatting in the Creole markup style so don't worry about the details.
Agreed. We can add these to the Wiki.
-Greg
74. Re: UI/IDE committee
- Posted by ghaberek (admin) Jan 28, 2016
- 6977 views
It might be worthwhile, as I said before to limit the project to Windows only, since, I believe, that this is the most popular operating system, first,
Most of the work for cross-platform compatibility has already been done. Both IUP (Tecgraf) and Euphoria provide the appropriate pre-built binaries for Windows and Linux. I've yet to have much difficulty supporting both Windows and Linux with IUP. We just need some additional effort towards testing and packaging.
What can I do to help?
Ron laid out a lot of the requirements here: http://openeuphoria.org/forum/m/129181.wc
Anything you can do to fill in the gaps there would be helpful. Even just testing and opening issues would be helpful.
If you need access to the repository, please send me an e-mail so I have your e-mail address, then I will send you an invite via Bitbucket to join.
-Greg
75. Re: UI/IDE committee
- Posted by xecronix Jan 28, 2016
- 6939 views
There has been recent discussions about project direction and organization, lofty goals, volunteers, time commitments, and limited scope. These are all valid concerns but they are also very manageable.
Chris's idea in particular about limiting the scope of the project is a good one. But honestly, I disagree with the limitation decision being based solely on OS. Instead, I would like to see the limitations further expanded based on interpreted vs compiled user programs. In particular, I'd like to consider a interpreted solution before a compiled one simultaneously released for Windows 10 64 bit, some other Windows 32 bit, latest Ubuntu 32/64 bit and latest Fedora 64 bit. This is very achievable with IUP from where we are today.
Once the above is solved for process, conventions, automation (packaging and testing), tools, documentation, and tutorials, my opinion is that we should extend the interpreted only solution to the other supported platforms. Afterwards, we can repeat the process for compiled programs.
I can start by providing architecture for the solution at higher level. Then create a road map and milestones for the project. All of which would be supported by tangible tickets. If there are volunteers to work the tickets, I can provide organizational skills needed to see this thing to completion.
76. Re: UI/IDE committee
- Posted by ghaberek (admin) Jan 28, 2016
- 6926 views
Instead, I would like to see the limitations further expanded based on interpreted vs compiled user programs. In particular, I'd like to consider a interpreted solution before a compiled one simultaneously released for Windows 10 64 bit, some other Windows 32 bit, latest Ubuntu 32/64 bit and latest Fedora 64 bit. This is very achievable with IUP from where we are today.
I'm not sure I understand the problem here. What constitutes an "interpreted solution?" Can you elaborate?
-Greg
77. Re: UI/IDE committee
- Posted by xecronix Jan 28, 2016
- 6913 views
Instead, I would like to see the limitations further expanded based on interpreted vs compiled user programs. In particular, I'd like to consider a interpreted solution before a compiled one simultaneously released for Windows 10 64 bit, some other Windows 32 bit, latest Ubuntu 32/64 bit and latest Fedora 64 bit. This is very achievable with IUP from where we are today.
I'm not sure I understand the problem here. What constitutes an "interpreted solution?" Can you elaborate?
-Greg
- Programmer - Someone hacking away at Open Euphoria or directly responsible for building/packaging OE.
- User - Someone that uses OE to write programs
- Customer - Someone that executes programs the User writes.
Sure. When a Euphoria user writes a cross platform program (s)he'll want to have some assurance that the program will run unmodified on each supported platform even if the user doesn't have access to each platform. Euphoria enjoys an interpreted execution as well as compiled execution. So, if a customer does nothing more than install Euphoria a user can be assured that his program will run interpreted on the customers box.
$> eui IUPApp.ex
So there really isn't a huge technical problem here but there should be a road map with mile stones and package maintainers working with Euphoria programmers to ensure this can happen.
78. Re: UI/IDE committee
- Posted by _tom (admin) Jan 28, 2016
- 6941 views
Feel free to create some issues to address these tasks (list them as either enhancement or proposal).
I have added some "trivial proposals" to iup4eu repository. Just some ideas that may make iup4eu nicer to use.
_tom
79. Re: UI/IDE committee
- Posted by petelomax Jan 28, 2016
- 6904 views
I have added some "trivial proposals" to iup4eu repository. Just some ideas that may make iup4eu nicer to use.
The automated process (wrapper and eudoc) creates constants like "IUP_MAX," but the argument in a function is "MAX." The prefix "IUP_" does not get used and creates noise in the docs. Can the IUP_ prefix be avoided?
I think it would cause problems, in the long term, if there was a blanket replacement along the lines of
public constant IUP_RUN = "RUN"
with
public constant RUN = "RUN"
However the source says:
/* Avoid using these definitions. Use the strings instead. */
and I'd be ok with just removing them all (as per "Define __IUPDEF_H to avoid the inclusion of this header"). In that case there should be a note for anyone translating from C to replace IUP_RUN etc with the string literal "RUN".
Then again, just leaving them in as-is and not bothering to mention them (much) in the docs should be fine.
Lowercase Arguments
A line like
IupSetAttribute(txt, "MULTILINE", "YES" )
would be nicer as
IupSetAttribute( txt, "multiline", "yes" )
Just to make typing a bit simpler.
The IUP docs do state that attribute names must be in upper case, but values are case insensitive (just saying).
Just before reading your note I added some "if name!=upper(name) then ?9/0 end if"s but have no real objection to "name = upper(name)".
Pete
80. Re: UI/IDE committee
- Posted by _tom (admin) Jan 28, 2016
- 6902 views
Trivial Proposals
The idea is to explore some options before the syntax of iup4eu gets locked into place.
This is an invitation to everyone to invent their own trivial proposals.
About the IUP_ prefix
There is a bunch of constants that get created (by the automated wrapper) that don't do anything--they just clog up the support docs. They are used as arguments to routines so do not properly invade the namespace of programs.
I guess I can make a list and just erase them from the docs. But, why have them clog up the wrapper?
Lazy Lowercase
Thinking like a lazy typist I prefer "multiline=yes" to "MULTILINE=YES". Note that IUP already tolerates "MULTILINE=yes".
We don't really have to follow the standards set by IUP.
IUPname vs IUP:name
We now have:
include iup.e IupOpen()
In the other wrapper, euIUP, names are not prefixed but you need namespace control:
include iup.e as IUP IUP:open()
Thinking like a lazy typist some functions will work without any prefix, a few will need an identifier like g:open(). This saves typing caps and one or two characters!
I understand Greg prefers the prefixes.
Support Docs
Support is now: docs, wiki, forum, and helpful Euphoria members.
This is "New Speak" so we don't use "documentation" which has too many syllables and a unwanted Latinate suffix.
Good idea from ghaberek.
_tom
81. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by johnrpm Jan 28, 2016
- 6879 views
As a user of euphoria since it was paid for, and still the worlds worst coder who needs the helping hand of an IDE, (still using Judiths, wasn't she brilliant), just want to say thanks to the developers for addressing this need, I think the lack of a good IDE is one of the main reasons Euphoria has not had the take-up seen by other languages.
Thanks, looking forward to it.
82. Re: UI/IDE committee
- Posted by petelomax Jan 28, 2016
- 6850 views
One less step when translating C to Eu.
It is also the case that I can add an F1 lookup to IUP_MAX but cannot so easily do that for "MAX".
83. Re: UI/IDE committee
- Posted by ghaberek (admin) Jan 29, 2016
- 6890 views
The IUP API is what it is and I have no intention of changing it to fit Euphoria. It's a third-party library developed by Tecgraf, and I think they've done a pretty good job of making it simple and easy to use. If we try to whittle it down even further to make it "fit" Euphoria, I think that would be a disservice to IUP, Tecgraf, and Euphoria users everywhere. It's especially concerning if someone comes to Euphoria from C with experience using IUP (or vise-versa), but then suddenly the IUP API is completely foreign because of our changes.
I certainly don't agree with stripping the IUP_ prefix from constant names. Constants should denote what they're for and where they come from. That's just good API design: How to Design a Good API and Why it Matters (PDF, 566 KB).
- Names Should Be Largely Self-Explanatory (emphasis mine)
- Avoid cryptic abbreviations
- Be consistent - same word means same thing
- Throughout API, (Across APIs on the platform)
- Be regular–strive for symmetry
- Code should read like prose
Regardless, the use of those constants, as Pete pointed out, is deprecated in IUP. A compromise I will make is that iupdef.e will no longer be included by default. Those wishing to use the deprecated constants will have to include iupdef.e manually. We should still include iupkey.e, however, because its constants and functions are required for handling keypress events.
And don't get me wrong, I've got no problem with exapanding on IUP for Euphoria's purpose, especially when we can utilize some features in the process. Default parameter values is a great example of this. And jmduro's expanded version of IupGetParam is another example.
I'm on the fence about "helping" the user convert attribute names to uppercase. On one hand, this isn't something that IUP does natively. But on the other, it is required for attributes to work correctly, but is not enforced by the library itself, which seems contradictory. I say we put it to a vote. Those interested in converting attribute names to uppercase within the IUP wrapper should mark a vote on the issue that Tom created: #5 - Lowercase Arguments (there is a "Vote for this issue" link to the right). If there are several votes by the time I get to working on that issue (at least a few weeks from now), then I will make the change.
-Greg
84. Re: UI/IDE committee
- Posted by _tom (admin) Jan 29, 2016
- 6818 views
Hi
...
What can I do to help?
Cheers
Chris
... If you want helpers count me in. I would be happy to help with documentation as well as the above, ...
I will work on documenting the signatures and constants for the wrapper. This is messy so I don't wish this work on anyone.
Anyone can help with:
- converting c examples to OE
- converting tutorial (c or lua) example code to OE
What I have so far is now uploaded to the iup4eu repository:
- /support/tutorial-Donovan
- /support/tutorial-LyrioScuri
These have been taken from the IUP documentation. So far, only a few bits have been converted to OE.
Take a look at:
https://bitbucket.org/ghaberek/iup4eu
thanks
_tom
85. Re: UI/IDE committee
- Posted by jimcbrown (admin) Jan 29, 2016
- 6848 views
I'm on the fence about "helping" the user convert attribute names to uppercase. On one hand, this isn't something that IUP does natively. But on the other, it is required for attributes to work correctly, but is not enforced by the library itself, which seems contradictory. I say we put it to a vote. Those interested in converting attribute names to uppercase within the IUP wrapper should mark a vote on the issue that Tom created: #5 - Lowercase Arguments (there is a "Vote for this issue" link to the right). If there are several votes by the time I get to working on that issue (at least a few weeks from now), then I will make the change.
I can't vote on that page for some reason (maybe because I dddon't have a bitbucket account), but please count my vote in favor of this change here.
86. Re: UI/IDE committee
- Posted by ghaberek (admin) Jan 29, 2016
- 6800 views
I can't vote on that page for some reason (maybe because I dddon't have a bitbucket account), but please count my vote in favor of this change here.
Yeah, you need to log in with a Bitbucket account. That prevents rogue anonymous contributions to things like wiki and voting. I will remember that you voted.
-Greg
87. Re: UI/IDE committee
- Posted by jmduro Feb 06, 2016
- 6565 views
Agar
- multi-platform and opensource
- feature is that modern graphics cards are exploited
I thought Agar could be a winner candidate but I was not able to get it run even in C so that was a bad point to start with.
Current version 1.4.1 has also not been update since 2011.
Jean-Marc
I was able to compile and run the latest Agar development version (http://libagar.org) from the SVN trunk on Debian 8.3 AMD64.
I will try to build an euphoria wrapper for it.
Jean-Marc
88. Re: UI/IDE committee
- Posted by andi49 Feb 07, 2016
- 6576 views
Agar
- multi-platform and opensource
- feature is that modern graphics cards are exploited
I thought Agar could be a winner candidate but I was not able to get it run even in C so that was a bad point to start with.
Current version 1.4.1 has also not been update since 2011.
Jean-Marc
I was able to compile and run the latest Agar development version http://libagar.org from the SVN trunk on Debian 8.3 AMD64.
I will try to build an euphoria wrapper for it.
Jean-Marc
Link does not work, removed the brackets.
Andreas
89. Re: UI/IDE committee
- Posted by jmduro Feb 08, 2016
- 6533 views
Thank you Andreas,
You can even forget the link: I tried to get it work with the wrapper but I got segmentation faults and even worse, the window manager did not react as previously until I rebooted. I don't know if it behaves so on 64-bit only or not, but I think it is not worth continuing with this library wrapper: I give up.
Jean-Marc
90. Re: UI/IDE committee
- Posted by petelomax Feb 17, 2016
- 6244 views
I just realised and I don't think this was mentioned,
IupSetAttribute(ih,"multiline","yes")
could easily be supported by a simple upper() on p2, however
IupSetAttributes(ih,"title=Window")
would be much messier, a simple upper() would obviously set the title to "WINDOW" instead of "Window".
Pete
91. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by AndyDrummond Feb 19, 2016
- 6183 views
Hi Everyone,
First, I would like to say that I just learned that Judith Evans passed away. My condolences go out to her friends and family. She is one of the people I have really missed since leaving Eu, and I was hoping to be able to make contact with her again.
I've been away for quite some time, and I've recently wanted to get back into coding with Euphoria. However, I'm having a problem with the IDE. I'm not sure if this is an issue because it hasn't been updated in a while, or if I'm just that rusty. Is Judith's IDE still being used? I downloaded it and win32lib from links in the wiki, but I can't seem to get them to work. I also tried EuVide, but I'm having similar issues. Are there any IDE users who could point me in the right direction?
As a user of Euphoria 3 since it was paid for, and of Judith's (rip) IDE since then, I feel I need to point out one or six points:
- Win32Lib was produced to simplify the interface to Windows
- The IDE was started as an IDE for Win32Lib, so the IDE is essentially a Windows application.
- Judith worked on this tirelessly for years - 12-14 hours a day according to her husband.
- Several features were added as IDE-generated controls rather than simply Windows API entries.
- She worked on this till just before IDE 4 was released originally, but her slowly worsening dementia made it hard and harder for her to achieve the solid codebase she wanted. Hence the number of operational bugs in the later features.
- If anyone else is really, truly, thinking of writing an IDE, especially along similar lines, they should be aware that it is a major, major undertaking. With no "done that, what's next" time; it would last forever. Especially if the base interpreter is changed on a daily/weekly/monthly basis.
I use it frequently, but then I still use Eu3, and I do struggle with the odd little bugs in EuVIDE. But I find a way round them, so I use coloured buttons and tables regularly. For simple programs, it just works and works and works. I have a vast respect for what she achieved, and as others have said, I am greatly saddened at her passing. If it could be used as a basis for a multi-platform replacement, I would cheer. Sadly, I am a user not a developer. But I can see so many operational and visual differences between, primarily, Windows & Linux. that I can't see anyone or any group really taking it on as a hobby(!) project. There's been lots and lots of talk and little action, IMHO. That's not a criticism.
As far as the original query goes, I can't help with Eu4, but if Mr VirtualB (I'm a real B!) is using Eu3 I could maybe help...but then I guess I would get called a dinosaur! I'm not often on this forum, so an email would get a quicker response - andy hat kestreltelecom with a dot put in at the obvious place!
Andy
92. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by jmduro Feb 26, 2016
- 5934 views
I was wondering if a wrapper on a Javascript UI framework, through a web browser, would fit the need.
I took a look at many of those and one of them seems to be more in the Euphoria style: Qooxdoo.
Jean-Marc
93. Re: Is there a good Windows or cross-platform Euphoria IDE?
- Posted by xecronix Feb 29, 2016
- 5826 views
I was wondering if a wrapper on a Javascript UI framework, through a web browser, would fit the need.
I took a look at many of those and one of them seems to be more in the Euphoria style: Qooxdoo.
Jean-Marc
I had a similar idea of using a web browser as a container for a GUI. My idea was to create a localhost web server that would have significantly less /hardware restrictions than a typical web server. (configurable of course) Then you could simply write typical client/server "web" applications and take advantage of all Web 2.0 has to offer.
94. Re: UI/IDE committee
- Posted by jimcbrown (admin) Mar 06, 2016
- 5605 views
What's disappointing to me is the reality that we just don't have enough manpower to really see these things through.
Ron laid out several roles in that post you linked to, and asked for people to "please get involved" but no one has stepped forward to contribute.
I'm preaching to the choir on this, but without more volunteers I don't think we can get much done in a timely manner.
-Greg
Agreed. It sounds like the committee was indeed successful in solving most of the technical problems, identifying the steps needed to finish it, and pointing out the roadmap and identifying new tasks and new roles to accomplish this.
It sounds like, given enough time or enough manpower (or both), that this will eventually reach the finishing point, but unfortunately we need a lot of the former given that that's no forseeable increase in the latter.
The committee therefore has not actually failed, but it can not give us a realistic new deadline to actually reach the final goal.
There has been recent discussions about project direction and organization, lofty goals, volunteers, time commitments, and limited scope. These are all valid concerns but they are also very manageable.
Chris's idea in particular about limiting the scope of the project is a good one. But honestly, I disagree with the limitation decision being based solely on OS. Instead, I would like to see the limitations further expanded based on interpreted vs compiled user programs. In particular, I'd like to consider a interpreted solution before a compiled one simultaneously released for Windows 10 64 bit, some other Windows 32 bit, latest Ubuntu 32/64 bit and latest Fedora 64 bit. This is very achievable with IUP from where we are today.
Once the above is solved for process, conventions, automation (packaging and testing), tools, documentation, and tutorials, my opinion is that we should extend the interpreted only solution to the other supported platforms. Afterwards, we can repeat the process for compiled programs.
I can start by providing architecture for the solution at higher level. Then create a road map and milestones for the project. All of which would be supported by tangible tickets. If there are volunteers to work the tickets, I can provide organizational skills needed to see this thing to completion.
I took a quick look at the wiki https://bitbucket.org/ghaberek/iup4eu/wiki/Home and the tickets page https://bitbucket.org/ghaberek/iup4eu/issues but did not see this.
That said, I might have just missed it. And even if it's really not there, adding it probably won't help - the real issue is we need more volunteers.
Even without them though, the group will probably get this done. Eventually. It will just take a lot of time. That said, I don't feel that we should impose the decision of the committee on the community unless we can accomplish this task within a reasonable period of time.
This is why, if there are no new developments by the end of March 31st 2016 (in the last time zone, GMT-12), I would like to hold a vote on this subject to establish a proper mandate.
95. Re: UI/IDE committee
- Posted by _tom (admin) Mar 10, 2016
- 5303 views
This is why, if there are no new developments by the end of March 31st 2016 (in the last time zone, GMT-12), I would like to hold a vote on this subject to establish a proper mandate.
Progress may look slow. Actual progress is fast if you subtract time spent on other pressing things. Ok, net result is that progress is slow.
The good news is that we are gaining more help. C Newbould has uploaded his improvements--thanks for your help. Pete Lomax has found alternative documentation. Others are showing interest. The iup4eu project is alive.
Maybe not for March 31, but when OE4.1 is released we will have something valuable.
_tom
Forked into: Committee for the 4.1.0 Release Candidate
96. Re: UI/IDE committee
- Posted by jimcbrown (admin) Apr 01, 2016
- 4669 views
This is why, if there are no new developments by the end of March 31st 2016 (in the last time zone, GMT-12), I would like to hold a vote on this subject to establish a proper mandate.
It has been decided - the way forward will now be to support and ship LazGUI ( http://openeuphoria.org/forum/129400.wc#129400 ) as the official OpenEuphoria GUI.
Judith's IDE will also be ported to use and support LazGUI, instead of w32lib. This will become the official IDE of OpenEuphoria and it will also ship with the next OpenEuphoria release.
Jeremy Cowgar will officially head both efforts. We expect this to be finished in time for the OpenEuphoria 6.0.0 RC1 release.
97. Re: UI/IDE committee
- Posted by andi49 Apr 01, 2016
- 4641 views
This is why, if there are no new developments by the end of March 31st 2016 (in the last time zone, GMT-12), I would like to hold a vote on this subject to establish a proper mandate.
It has been decided - the way forward will now be to support and ship LazGUI ( http://openeuphoria.org/forum/129400.wc#129400 ) as the official OpenEuphoria GUI.
Judith's IDE will also be ported to use and support LazGUI, instead of w32lib. This will become the official IDE of OpenEuphoria and it will also ship with the next OpenEuphoria release.
Jeremy Cowgar will officially head both efforts. We expect this to be finished in time for the OpenEuphoria 6.0.0 RC1 release.
Hallo,
the real funny thing is: Your 1.April joke is more realistic to be happen than any other 'official OpenEuphoria GUI'
Andreas
Happy 1.April
98. Re: UI/IDE committee
- Posted by jimcbrown (admin) Apr 01, 2016
- 4614 views
Hallo,
the real funny thing is: Your 1.April joke is more realistic to be happen than any other 'official OpenEuphoria GUI'
Andreas
Happy 1.April
Perhaps the joke was on me after all.
99. Re: UI/IDE committee
- Posted by andi49 Apr 01, 2016
- 4632 views
Hallo,
the real funny thing is: Your 1.April joke is more realistic to be happen than any other 'official OpenEuphoria GUI'
Andreas
Happy 1.April
Perhaps the joke was on me after all.
sure
i missed this
Andreas
100. Re: UI/IDE committee
- Posted by ryanj Apr 01, 2016
- 4639 views
This is why, if there are no new developments by the end of March 31st 2016 (in the last time zone, GMT-12), I would like to hold a vote on this subject to establish a proper mandate.
It has been decided - the way forward will now be to support and ship LazGUI ( http://openeuphoria.org/forum/129400.wc#129400 ) as the official OpenEuphoria GUI.
Judith's IDE will also be ported to use and support LazGUI, instead of w32lib. This will become the official IDE of OpenEuphoria and it will also ship with the next OpenEuphoria release.
Jeremy Cowgar will officially head both efforts. We expect this to be finished in time for the OpenEuphoria 6.0.0 RC1 release.
Hallo,
the real funny thing is: Your 1.April joke is more realistic to be happen than any other 'official OpenEuphoria GUI'
Andreas
Happy 1.April
Good one!
101. Re: UI/IDE committee
- Posted by unsteady Apr 06, 2016
- 4466 views
All said and done, it would be better to integrate wxEuphoria completely AND remove some of the old file and other Key words and use the corresponding facilities that are in wxEuphoria/wxWidgets. Call it Euphoria version 4.2 or version 5.1