1. The Euphoria Editor
- Posted by ghaberek (admin) Oct 18, 2015
- 4302 views
- Last edited Dec 24, 2015
Forked from Re: UI/IDE committee
I just got done "lone wolfing" an initial release of what I am simply calling The Euphoria Editor. Latest release is 0.1b and this is still a BETA release.
I'd been keeping my work on this to myself, in case I never made any actual progress. But now I've got something to share so I'm posting it with the hope that we can keep my momentum going. Over the past couple weeks in my spare time, I've been working on writing an automated wrapper for IUP. Jeremy's wrapper was too out of date and too "Euphorian" for my taste. My wrapper program automatically converts the header files into Euphoria files and maintains a one-to-one syntax.
Having that wrapper relatively stable now, I powered through many many hours of coding and several cans of my favorite caffeinated beverages over this weekend to complete the basic layout of what is, basically, Pete's WEE re-written in IUP. I was pleasantly surprised about how little code there is here, currently under 1,000 lines (excluding IUP, of course). So try it out and let's keep the feedback loop going. This needs work. A lot of work. But it's a good start.
Moved IUP to its own repository
- The Euphoria Editor
https://bitbucket.org/ghaberek/editor
- IUP for Euphoria
https://bitbucket.org/ghaberek/iup4eu
Released v0.1b (BETA)
Released v0.1a (ALPHA)
Get it here, complete with IUP libraries and my new wrapper: https://bitbucket.org/ghaberek/editor/downloads
-Greg
2. Re: The Euphoria Editor
- Posted by elias_maluko Oct 18, 2015
- 4237 views
Nice work! I played with IUP in the past and its a very good and light UI library. My only problem with this is that i never found a way (in their documentation) to use windows 7 look and feel in this, just this dated win 95/98 look...
3. Re: The Euphoria Editor
- Posted by ne1uno Oct 18, 2015
- 4200 views
I had to copy src/eu.cfg to the /bin directory for some reason. not sure why it didn't work as is.
does the help/dialog layout come free with IUP? that seems quite useful for debugging and general properties setting, needs an export euphoria?
can't go too far wrong with Scintilla. looks like it doesn't get all the eu4 string & comment syntax right yet.
4. Re: The Euphoria Editor
- Posted by ghaberek (admin) Oct 19, 2015
- 4194 views
Nice work! I played with IUP in the past and its a very good and light UI library. My only problem with this is that i never found a way (in their documentation) to use windows 7 look and feel in this, just this dated win 95/98 look...
Thanks. I do need to look into that. I did the initial development on Linux and have not had a lot of time to test on Windows. Hopefully that is something we can work out. Otherwise I think it might turn people off from using IUP for their GUI development.
I had to copy src/eu.cfg to the /bin directory for some reason. not sure why it didn't work as is.
I will check out the eu.cfg issue. Probably just a typo in my packaging script. That file is required because I am launching eui from the bin directory so that the shared libraries are "local" to the execution point.
does the help/dialog layout come free with IUP? that seems quite useful for debugging and general properties setting, needs an export euphoria?
Yes! I was surprised to discover this feature built into IUP. I just had to add a menu entry to launch it. I left it in for development and debugging purposes. I will probably exclude it from future "release" builds.
can't go too far wrong with Scintilla. looks like it doesn't get all the eu4 string & comment syntax right yet.
I cheated and used the Lua lexer for now. I need to get a custom Euphoria lexer built. Unfortunately the one in the Archive is outdated and I think that is the same one Pete uses in WEE. The folks at SciTE changed the API for lexers a bit so I have to make some changes for it to compile correctly.
-Greg
5. Re: The Euphoria Editor
- Posted by xecronix Oct 19, 2015
- 4210 views
I just got done "lone wolfing" an initial release of what I am simply calling The Euphoria Editor. Initial release is 0.1a and this is very much an alpha release.
Nice work! I'll try to get it working on the Raspberry Pi and submit a package if I can get it working.
6. Re: The Euphoria Editor
- Posted by ghaberek (admin) Oct 19, 2015
- 4155 views
Nice work! I played with IUP in the past and its a very good and light UI library. My only problem with this is that i never found a way (in their documentation) to use windows 7 look and feel in this, just this dated win 95/98 look...
Thanks. I do need to look into that. I did the initial development on Linux and have not had a lot of time to test on Windows. Hopefully that is something we can work out. Otherwise I think it might turn people off from using IUP for their GUI development.
It turns out that the lack of visual styles is caused by the use of owner-drawning that IUP uses to add the close button to each tab. Disabling the "SHOWCLOSE" option restores the proper visual styles in Windows 7. So right now, "close button" and "visual styles" seem to be mutually exclusive. If you think about it, Notepad++ has the same problem, but they mask the lack of visual styles with some additional drawing to customize the look of the tab more uniquely. I think adding an icon to the tab will help the owner-drawn tabs look better, so I will try that soon. I still need to get the icons updated because the ones that come with IUP for Windows look horrible.
-Greg
7. Re: The Euphoria Editor
- Posted by xecronix Oct 19, 2015
- 4105 views
- Last edited Oct 21, 2015
Nice work! I'll try to get it working on the Raspberry Pi and submit a package if I can get it working.
Well... I got IUP to work on the Raspberry Pi
Install pre-req libs
sudo apt-get install libreadline-dev \ g++ \ libgl1-mesa-dev \ libglu1-mesa-dev \ libx11-dev \ libxpm-dev \ libxmu-dev \ libxft-dev \ libwebkitgtk-3.0-dev
Set up build env
mkdir ~/dev cd ~/dev mkdir iup cd iup
Download the source: (current as of 10/19/2015)
wget http://sourceforge.net/projects/luabinaries/files/5.3/Docs and Sources/lua-5.3_Sources.tar.gz/download && mv download lua.tgz wget http://sourceforge.net/projects/imtoolkit/files/3.10/Docs%20and%20Sources/im-3.10_Sources.tar.gz/download && mv download im.tgz wget http://sourceforge.net/projects/canvasdraw/files/5.9/Docs%20and%20Sources/cd-5.9_Sources.tar.gz/download && mv download cd.tgz wget http://sourceforge.net/projects/iup/files/3.16/Docs%20and%20Sources/iup-3.16_Sources.tar.gz/download && mv download iup.tgzBuild lua
tar -xzvf *.tgz cd lua53 make -j 4 linux sudo make install
Build everything else... in this order
cd im/src make -j 4 cd ../.. cd cd/src make -j 4 cd ../.. cd iup make -j 4 cd srcimglib make -j 4 cd ../ cd srcscintilla make -j 4 cd ../..
Install libs
sudo cp cd/lib/Linux41_arm/lib* /usr/lib/ sudo cp im/lib/Linux41_arm/lib* /usr/lib sudo cp iup/lib/Linux41_arm/lib* /usr/lib
Install dev aka header files
sudo mkdir -p /usr/include/im sudo cp -fR im/include/*.h /usr/include/im sudo mkdir -p /usr/include/cd sudo cp -f cd/include/*.h /usr/include/cd sudo mkdir -p /usr/include/iup sudo cp -f iup/include/*.h /usr/include/iup
create helloworld.c for testing:
mkdir ~/dev/myc/iuptesting && cd ~/dev/myc/iuptesting
#include <stdlib.h> #include <iup.h> /* * to compile * gcc -I/usr/include/iup -liup -o helloworld helloworld.c * * */ int main(int argc, char **argv) { IupOpen(&argc, &argv); IupMessage("Hello World 1", "Hello world from IUP."); IupClose(); return EXIT_SUCCESS; }
9. Re: The Euphoria Editor
- Posted by ghaberek (admin) Oct 20, 2015
- 4050 views
Is Iup, 4.0 or 4.1?
My automated wrapper should work just fine with 4.0.
One of the only 4.1 features I use is sizeof() which, for IUP, I've added manually using an ifdef.
ifdef EU4_0 then public function sizeof( atom ctype ) return and_bits( ctype, #FF ) end function end ifdef
-Greg
10. Re: The Euphoria Editor
- Posted by xecronix Oct 21, 2015
- 4043 views
I modified my build instructions for IUP on the Raspberry PI to include iupimage and iupscintilla. Once those two additional dlls were built, nothing else needed to happen to start The Euphoria Editor on the ARM platform. So, IOW, build IUP and clone the bitbucket project and it just works.
11. Re: The Euphoria Editor
- Posted by ghaberek (admin) Oct 21, 2015
- 4040 views
I modified my build instructions for IUP on the Raspberry PI to include iupimage and iupscintilla. Once those two additional dlls were built, nothing else needed to happen to start The Euphoria Editor on the ARM platform. So, IOW, build IUP and clone the bitbucket project and it just works.
Perfect! That's a big help. Can you create a Building on ARM page on the wiki for the project? I can dig out my Raspberry Pi (an original Model A!) to verify the steps and provide download packages. Although, I'm wondering if we can cross-compile from x86. That would be helpful as well, since I'd like to automate the build of the distribution packs for all platforms.
-Greg
12. Re: The Euphoria Editor
- Posted by ghaberek (admin) Oct 23, 2015
- 3927 views
I am preparing to release version 0.1b (BETA) at the end of this weekend. Any thoughts so far? Has anyone even used it yet?
-Greg
13. Re: The Euphoria Editor
- Posted by fizzpopsoft Oct 24, 2015
- 3897 views
Hi Greg,
the choice of editor a user uses, seems much like a religion, whatever you have is correct, the others are wrong and there needs to be a compelling reason to change editors ;) Personally I use the commercial UltraEdit, it has Euphoria syntax support via a wordfile, and it has UltraCompare which saves me an enormous of time when comparing source versions. Just that has saved me more than the cost of the software, a few times over.
Good luck,
Alan
14. Re: The Euphoria Editor
- Posted by SDPringle Oct 24, 2015
- 3866 views
If I can type in 'change_directory' and see a red underline because it should have had been typed as 'chdir' or and yet not show a red underline if there is actually something in scope with that name, or if I can type in filesys:<TAB> and see a list of possible symbols in that namespace but no others; I would change my editor, my religion and even my diet.
Basically, if you write an editor for a language the editor ought to know that language.
Shawn Pringle
15. Re: The Euphoria Editor
- Posted by ghaberek (admin) Oct 24, 2015
- 3874 views
Basically, if you write an editor for a language the editor ought to know that language.
I whole-heartedly agree and that is my primary focus here. I want and editor that knows the language and can say, "that symbol doesn't exist, dummy" or "hey guy, I think you missed an include statement somewhere."
I just created an "autocomplete" branch for exactly this purpose. The default branch contains the basic editor and will continue to receive minor tweaks and bug fixes while I work on the longer effort of writing a appropriate Euphoria code parser that can play well with the Scintilla autocomplete features.
-Greg
16. Re: The Euphoria Editor
- Posted by fizzpopsoft Oct 24, 2015
- 3898 views
That would be a excellent feature yes
17. Re: The Euphoria Editor
- Posted by SDPringle Oct 24, 2015
- 3898 views
The editor should continue working while the parser is not ready. I would have liked to give you a link to a podcast episode where they talked about Typescript's parser. It is no longer on the page because the episode is old. The editor must be responsive. The editor must not wait for a parser to finish but rather the parser needs to be running in the background while waiting for the user to interact with it.
SD Pringle
18. Re: The Euphoria Editor
- Posted by ghaberek (admin) Oct 25, 2015
- 3809 views
Bump. Release 0.1b today.
-Greg
19. Re: The Euphoria Editor
- Posted by dcuny Nov 21, 2015
- 3563 views
Took a quick look at it (Win 64bit), noticed that no icons are being rendered.
Nice work.
David
20. Re: The Euphoria Editor
- Posted by SDPringle Nov 21, 2015
- 3566 views
Both Wee and this editor crash too often for my tastes.
21. Re: The Euphoria Editor
- Posted by ghaberek (admin) Nov 24, 2015
- 3438 views
Both Wee and this editor crash too often for my tastes.
Really? I mean, yeah Wee crashes a lot for me too. Are you running the latest download or did you pull from source? I've added a few stability fixes to the default branch since the last release. I am hoping to get another release out soon since I should have some extra time with the holiday weekend.
-Greg
22. Re: The Euphoria Editor
- Posted by SDPringle Nov 28, 2015
- 3335 views
I installed this more than once. There are two ways to do it. I am not sure whether I left a bleeding edge or a release version on the system. Both crashed quickly. I left issues on its github issue tracker.
SD Pringle
23. Re: The Euphoria Editor
- Posted by ghaberek (admin) Nov 28, 2015
- 3344 views
I installed this more than once. There are two ways to do it. I am not sure whether I left a bleeding edge or a release version on the system. Both crashed quickly. I left issues on its github issue tracker.
So we're talking about Wee. What about The Euphoria Editor? Please open an issue on Bitbucket if you can reproduce the problem.
-Greg
24. Re: The Euphoria Editor
- Posted by ghaberek (admin) Dec 24, 2015
- 3098 views
Bump. I've moved IUP to its own repository.
https://bitbucket.org/ghaberek/editor
https://bitbucket.org/ghaberek/iup4eu
I need to get another release out soon.
Hoping to make a couple more changes before then.
-Greg