ENIGMA Forums

General fluff => General ENIGMA => Topic started by: antidote on August 18, 2009, 01:27:17 pm

Title: Enigma IDE (written in C++ using the Qt Framework)
Post by: antidote on August 18, 2009, 01:27:17 pm
Well not yet, I've been thinking about writing this little beauty for a while now, I believe that if we were able to actually get a decent Editor going specifically for Enigma that this would help boon support for the project.

Currently all I have is a simple PNG file which is meant to be edited with ideas for features.
Feel free add your ideas

Dev's would be nice, especially Linux dev's, since I'm still learning C++ I certainly can't pull of a project like this by myself yet. As well as a good hosting site with decent SVN support and bugtracking.


Also I'm only going to work out the specifics of the main editor for now, Object Editor and the Script editor will be handled later I want to get an idea of what people want in an IDE for enigma.
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: Game_boy on August 18, 2009, 02:05:20 pm
How is LateralGM deficient, in your opinion?
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: antidote on August 18, 2009, 02:46:25 pm
It isn't, It's just that i'd just like to take a crack at making an IDE. Sorry if I offended.

EDIT:
Well I guess I can't say that, LGM just feels a little tacked on atm
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: IsmAvatar on August 18, 2009, 11:54:24 pm
Actually LGM isn't "tacked on". We're both essentially the same project, an "alternative GM". However, we figured it would be most efficient if we split up into 2 teams - one to develop an IDE, and the other to develop the compiler. Originally the project was going to be entirely in Java, but then Josh offered to make it in C, and he was making very rapid progress, so I gave it to him.

Since the IDE and the compiler are completely separate, you're welcome to develop your own IDE. I'd love to help, but I don't know C++; only C. I exclusively use Linux, and wrote most of the Linux UI code for Enigma (in C - I think Josh has upgraded it to C++ since then).
For SVN hosting, I'd recommend sourceforge or google. LateralGM uses opensvn.csie.org (since it was one of the first to offer Trac), but they have a lot of downtime, and sourceforge has since added the ability to use trac.

Having 2 IDEs is a good thing because then it gives the user choice, and there's no monopoly on the IDE.
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: Josh @ Dreamland on August 20, 2009, 07:52:38 am
I can see it feeling that way because everything that goes on between LGM and ENIGMA is basically a hack.
We tried making ENIMGA a DLL for LGM to load, but that didn't go so well.
You and I probably need to try that again, Ism.

It also doesn't help that Java performs differently on every computer I've tried it on.
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: score_under on August 20, 2009, 09:14:47 am
ENIMGA
By the way Antidote, did you index that 2-colour PNG?
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: Josh @ Dreamland on August 21, 2009, 07:35:52 pm
I was honestly bound to make that typo at some point.

Also, I don't see a problem with LGM, but I'm all for an official IDE. The hard part will be the room and path editors, I imagine.
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: RetroX on August 21, 2009, 07:48:51 pm
GTK+ is how I would expect it to go, since it's a great cross-platform toolkit for interfaces and such.  And the alternate would be coding a different interface for each OS, which would be a pain.
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: Rusky on August 22, 2009, 01:15:09 pm
wxWidgets or XUL might also be possibilities, although XUL is a little bloated as it is now.
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: Josh @ Dreamland on August 24, 2009, 09:23:41 pm
If I had to choose one, it'd be wxWidgets, I imagine. I've used wxWidgets applications without ever knowing they were cross platform. That's more than I can say for so much as one GTK application. I mean, aside from the obvious GIMP, whose main toolbar... WINDOW... is so inconvenient and tedious to find that it isn't worth using it at all (until recently, as it now floats on top, but still kinda wreaks), who everyone knows is GTK, even the ones who don't know what GTK is. Let's look at Pidgin.

One fine day, I'm on Pidgin, as I need to speak to Ism on LGM matters. My contact list isn't enormous, but it's convenient to just type the first few letters of the name you're looking for and hit enter. I do that for all my Windows applications.

So I get as far as the first letter, when the box that pops up freezes. Won't accept input. But it had selected her name.

So I press Enter. Nothing happens.
So I press Escape. Nothing happens.

Each time I forgot in any GTK app, I'd be stuck waiting for five seconds for the damn box to go away. That includes GIMP's file selector.


Oh, and in my getting mad about the little things, I didn't even mention that GTK has a 17 or so MB runtime, that basically every program that uses it comes with an updated version of. The compiler's big enough; MinGW is roughly 10MB zipped. ENIGMA adds another couple to that. Can't really say I want a 19 MB runner if it can be avoided.


However. Despite it all, GTK is relatively clean, and ENIGMA could use an interface that can be natively compiled without incident, or breaking GPL rules. So no matter what runtime/API anyone uses, I'd be happy to see an interface.

Though as the above suggests, I'm partial to wx. I started making a UI one day before I realized what a task it'd be. Did I mention Code::Blocks has a built-in wxWidgets WYSI(basically)WYG editor?
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: RetroX on August 24, 2009, 10:15:51 pm
I would like GTK.  Josh, I've never had those problems.  Must be just you. :/

You could also use Qt instead if you need another option.
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: Josh @ Dreamland on August 24, 2009, 10:34:31 pm
You're a Linux user. The Developers care what their stuff looks like on Linux, and Linux endorses GTK, so your pidgin download isn't 20MB.
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: score_under on August 25, 2009, 04:22:17 pm
I wish that GTK search box was better documented.
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: luiscubal on August 28, 2009, 04:30:58 pm
GTK+ for Windows is a nightmare. I have to agree with Josh on this one.
The simple concept of installable "runtime" is ugly enough. Specially since far fewer people have GTK+ compared to the number of people with Java or .NET installed.
wxWidgets is not perfect, but it is better than GTK+.
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: RetroX on August 28, 2009, 09:41:25 pm
You're a Linux user. The Developers care what their stuff looks like on Linux, and Linux endorses GTK, so your pidgin download isn't 20MB.
I was a Windows user as well until Win7 stopped working and I've neglected to reinstall it

I suppose we shall go with wxWidgets.  Either that or Qt.  Those are the only three things you should consider at all, and Qt is #3.

Does Firefox use XUL?  I thought it did.
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: Rusky on August 29, 2009, 06:00:41 pm
Firefox does use XUL. The problem with XUL is that xulrunner isn't really very mature and Mozilla makes it with the attitude that you'll have the XUL runtime and then write XUL apps, similar to GTK on windows (at least that's how I see it).

Using Qt seems like a big mess to me as well. They have some kind of C++ preprocessor that's specific to Qt, just for fancy features not everybody will use.

wxWidgets is pretty big, but it looks better than GTK, Qt or XUL. It doesn't need a runtime on windows (although it does need the dlls or statically linked libraries in the exe), it's plain C++ with a pretty good architecture and its target audience seems to include us.
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: Josh @ Dreamland on September 01, 2009, 08:17:35 pm
^ That

Retro --
I have to say though, don't use "we" in this stuff. I like to use we so I don't feel all alone with this code, but this one's antidote's undertaking, it should seem. If he wants to write an IDE, he'll use what he's comfortable with. And although I'd like to present wx as a seemingly better alternative to GTK, it's ultimately up to whoever takes it upon themselves to code it.

(That's why I refrain from screaming over every Java headache)
Title: Re: Enigma IDE (written in C++ using GTK+)
Post by: antidote on September 12, 2009, 06:20:29 pm
Sorry i haven't posted in a while, but almost as soon as I posted this It got put on the back burner due to more important things (like preparing to leave job corps. and losing my Dev machine in the process)

Also @score_under: Don't complain at least it isn't a Bitmap but i don't think i did.

Edit:
On a different note I've decided to use wxWidgets instead(it supports GTK+ and is better documented) Once i get home (Sep. 25!) and set my Dev machine back up (In the laundry room no less -_-) i'll get to work on this and see what peoples opinions are once they have something tangible.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: notachair on September 12, 2009, 08:43:55 pm
I'll say something now.

I absolutely hate GTK's file browsing on Windows.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: RetroX on September 12, 2009, 09:26:08 pm
I'll say something now.

I absolutely hate GTK's file browsing on Windows.
It's exactly as it is in GNOME.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: Josh @ Dreamland on September 12, 2009, 09:26:22 pm
Sounds good, antidote. R4 should be out before then.
a2h-- Why just on Windows?

<_< Retro stole my thunder
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: RetroX on September 12, 2009, 09:30:02 pm
Nautilus is wonderful.  It's better than Windows Explorer.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: Josh @ Dreamland on September 12, 2009, 09:45:42 pm
That's not saying much.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: RetroX on September 12, 2009, 10:30:53 pm
That's not saying much.
I laughed, but seriously.  Would you rather have Dolphin (KDE's file manager, not the emulator)?

Thunar is pretty cool.  Erm... Mac?  Browser/whatever it is?

That's just about most of them.  I mean, 7-zip is technically a file manager too.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: notachair on September 12, 2009, 10:44:22 pm
Sounds good, antidote. R4 should be out before then.
a2h-- Why just on Windows?

<_< Retro stole my thunder
Because inconsistencies in such things (i.e. with the standard open/save dialogs) annoy me to no end.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: antidote on September 13, 2009, 07:54:30 pm
I lol'd, you do realise that you can simply make your own dialogs right? <.<

@josh: Mwuahahahah *rubs hands together greedily*
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: RetroX on September 14, 2009, 07:33:22 pm
I lol'd, you do realise that you can simply make your own dialogs right? <.<
You can for WinAPI and Qt too, but does anyone ever bother?
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: antidote on September 15, 2009, 02:06:26 pm
You bring up a valid point <.<
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: Josh @ Dreamland on September 19, 2009, 08:11:58 am
I gave the championship title for worst save/load dialog that will ever exist to Blender.
As long as it doesn't look like that, I'll greet whatever it is with a smile.

Mild inconvenience is one thing, but Blender's type-the-filename-yourself-and-don't-expect-to-be-in-the-same-directory-next-time-you-see-this-dialog interface kills me. And there's no navigation at all. It starts you in C:\Program Files\Blender\1000\different\folders\location of exe\ and then expects you to navigate to the folder you want from there. I resorted to copying and pasting the path to the folder I wanted in its open box.

Only then did I find out it stores a history for the dangerously observant.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: RetroX on September 19, 2009, 10:38:31 am
I have no clue what API Blender was made in. :/

It's essentially the default X dialogs, pretty much.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: score_under on September 19, 2009, 11:46:39 am
Also @score_under: Don't complain at least it isn't a Bitmap but i don't think i did.
In this case, the monochrome indexed PNG is ~7.7% the size of the original. Meaning that if the original takes a minute to load, the monochrome indexed PNG will take 4.7 seconds to load. :P

This is why I love indexed PNGs.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: RetroX on September 19, 2009, 09:55:35 pm
The PNG is an awesome file format.  I wish alpha transparency could be used on indexed images, though (with alpha as part of the palette).
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: IsmAvatar on September 19, 2009, 11:50:55 pm
Quote
It's essentially the default X dialogs
X has dialogs? When I was programming the X code for Enigma, I certainly don't remember seeing any of that.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: score_under on September 20, 2009, 05:06:39 am
Quote
It's essentially the default X dialogs
X has dialogs? When I was programming the X code for Enigma, I certainly don't remember seeing any of that.
He probably meant default Qt or GTK dialogs.... (X does not have any preset dialogs, although you can certainly make your own).

Also, why do we from the UK still talk about "colour" yet when we're talking about a dialog box, we don't call it a "dialogue box"? There's one for you to think about for a few seconds then throw an answer that should have been obvious to me in the first place. :P
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: Game_boy on September 20, 2009, 07:43:43 am
Also, why do we from the UK still talk about "colour" yet when we're talking about a dialog box, we don't call it a "dialogue box"?

I do...
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: RetroX on September 20, 2009, 09:46:23 am
]He probably meant default Qt or GTK dialogs.... (X does not have any preset dialogs, although you can certainly make your own).
I thought X had dialogs, too?  :/
I know it has simple things like right-click context menus and the like, and I thought it had message boxes as well.

I've been messing with all the various desktops lately (GNOME, KDE, Xfce, LXDE, JWM, X by itself) in my arch install (which I've reinstalled many times) and I could have sworn that a lot of default X applications had certain dialogs that were the same.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: Josh @ Dreamland on September 20, 2009, 08:53:44 pm
X has nothing but a basic window, with flags if I recall correctly.

...It also had some terrible-ass keyboard event handling code. Ism did the windows, and looking at her code, it was a bitch. I did the keyboard, and lemme tell you. WAS. NOT. FUN.

Also if I recall correctly, Blender uses only the code necessary to make a window and a GL context, and the rest of their UI is custom-drawn. Probably took them a couple 9001 years.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: brandnew on September 20, 2009, 10:05:08 pm
Hi everyone,
I was writing an IDE like the one you describe (C++ and WxWidgets) back in 2007, it could open .gm6 files and show you the project tree with icons, and show you some sprites on Sprite Editor. That was about it.
If you are interested, check out http://sourceforge.net/projects/opengm/develop, and browse the CVS Repository. The project is under /ide folder, and you can find some precompiled binaries under /binaries folder. You also need to download the folder "resources" with all of its contents in the same folder as the binary.
Since its Opensource, you can use the code freely, if you are interested, or i can give you full write access to the repository. Otherwise , you can still use my code for inspiration, in case you need it XD
What i am interested is in seeing this project go on :P i'm very interested, i love GM and i love C++ so this is like my ideal application XP. Also this is a formal request for Josh to let me join the team and help with the development of ENIGMA. Please, let me know your thougts.
Thanks in advance.
Yours,
  Brandnew, Admin from ComunidadGM.org, GM Lover and C++ intermediate-skills programmer.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: antidote on September 21, 2009, 03:22:57 pm
@brandnew: looks interesting, You answered some of my problems for reading in a GM project (I was going to need to write a reader/writer from scratch <.<)
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: Josh @ Dreamland on September 22, 2009, 05:43:17 pm
brandnew:

I could certainly use an additional team member. Heh, you're the first to put in a formal request to be one. But sure, I could use all the help I can get.

Right now I'm up to my eyeballs in homework. I have an essay to be writing for English that I've been putting off to work on ENIGMA. Hopefully my grade doesn't suffer for it. I should be working on that now.

I... have no formal process for adding someone to the team. I will certainly give your interface a look as soon as this essay is out of my face. (I'll want time to distract myself so I can proofread it after).

I should probably have edited this with my thoughts before you read it. In case not, though, letting you know I'll look at it ASAP.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: antidote on September 26, 2009, 06:09:41 pm
Well, I'm at home getting ready to start developing ENIGMA-IDE however I'm in the process of installing Ubuntu
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: brandnew on September 26, 2009, 07:21:34 pm
Awesome :D so, im at your orders whenever you want me to get started. I can help with functions perhaps?
Quote from: antidote
@brandnew: looks interesting, You answered some of my problems for reading in a GM project (I was going to need to write a reader/writer from scratch <.<)
I'm glad the code gets to be actually seen by someone xD

Cheers
~Brandnew.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: Josh @ Dreamland on October 01, 2009, 07:51:47 pm
Heh, I downloaded the source before I left for school a couple days ago, but it had dependencies you only pre-built for Windows, so I had to go before I could compile it. Haven't had enough time to partition off to doing so since (Am presently working on parser and biology homework, mostly the latter), but I'll have it compiled at some point. >_<"
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: antidote on October 02, 2009, 11:56:28 pm
Well I haven't gotten much done yet, however I have created a Source Forge page for it (nothing in the SVN yet)

https://sourceforge.net/projects/enigma-ide/
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: notachair on October 03, 2009, 06:24:56 am
Well I haven't gotten much done yet, however I have created a Source Forge page for it (nothing in the SVN yet)

https://sourceforge.net/projects/enigma-ide/
It's not official, so I'd say you should add a note about that.
Title: Re: Enigma IDE (written in C++ using wxWidgets)
Post by: antidote on October 03, 2009, 12:11:39 pm
It's not official, so I'd say you should add a note about that.
good point, although I felt that it was implied.


EDIT:

Well, I've finally started to actually work on this.
Currently I'm working on the code editor so that I can figure out what needs to be done about the Syntax hi-lighter (Scintilla?)
Not much is really done atm just a basic window and a multiline textbox. I also haven't figured out how to handle multiple instances of the code editor, I was thinking about using a tabbing system to organize them but that seems like it would bug alot of people when they need to view several at once.

Also works beautifully on Linux ;)

Edit2:

if you look at the SVN you'll notice that i have added the beginnings of a Code editor (which is VERY sloppy ATM) but please disregard the rev # it's actually revision 1 <.< I was having trouble with svn (never did over teh webz it before)
Title: Re: Enigma IDE (written in C++ using the Qt Framework)
Post by: antidote on January 30, 2010, 10:02:24 pm
Well, i thought I'd say I'm back to programming Enigma-IDE, however I'm now using Qt because it's less bloated AND is better documented.