Announcing wxDevIDE, Dev-C++ in C++

If you are using wxDev-C++ for your wxWidgets design, please ask your questions here instead of in IDE Related.
datatab1
Earned a small fee
Earned a small fee
Posts: 13
Joined: Mon Mar 20, 2006 6:37 am
Contact:

Announcing wxDevIDE, Dev-C++ in C++

Post by datatab1 »


I'd like to announce the initial development for a new IDE/RAD called wxDevIDE. The purpose of the project is to port Dev-C++ from Delphi to C++, making it cross platform using the wxWidgets toolkit. Our primary goal is to maintain the same look and feel of Dev-C++/wxDev-C++, but with a completely re-designed architecture "under-the-hood".

I started the project space a few years ago on Sourceforge, but didn't get too far at the time because, shortly after starting the project, my free time disappeared. Last September I proposed to the wxDev-C++ team that we focus our work on the C++ project. We had talked about doing something like that in the past since the Delphi 6-based Dev-C+/wxDev-C++ was getting more difficult to maintain and improve.

We decided to finish the current work on wxDev-C++, release version 7.0, and then switch development to wxDevIDE. One of the biggest changes in 7.0 was the separation of the form designer from the ide using the new plugin system. Should it be necessary later on this would also allow for updates in the form designer to keep up with wxWidgets while we are working on wxDevIDE. There is still a lot of work to be done and a working version is quite a ways off, so those of you who use wxDev-C++ or Dev-C++ should continue to do so.

The goals of the wxDevIDE project are:
Porting Dev-C++ and the form designer to C++ and include the added functionalities that have been introduced into the wxDev-C++ version of the ide.
Some of these are a plugin system, dockable windows, multiple compiler support.
Improve on some of the original short comings of the original ide (particularly in the case of portability to Linux)
the new ide is going to be built in a modular architecture: the "frame" so-to-speak will be the plugin system. The GUI will be its own module, as will the compiler, debugger, and editor. Each module will work as independently and the plugin system will be the means by which they communicate.

We decided to make a modular system so that, if there was a need to change in the future, it would not be a painful process. We will be using Scintilla (wxScintilla) as the editor component. However, with a modular approach, we can theoretically abstract to any editor out there.

An improved code completion is one of the improvements being planned.

Other functionalities of the current ide can be put into plugins as well. The CVS version control interface built into the ide for example, project importing and formatted source exporting.

An improved version of the package manager has also been started. It will work with regular Dev type packages and some extensions are being worked on that will make it a little better. One of those is a database that keeps track of dependencies for each package. The current project is called "packman2extended".

Also, the current form designer is going to be ported as a plugin. A small front end app will be created to use the form designer as a stand alone later on, so other ide users can use it without the bloat of the whole ide if they are not going to be using it. The internals will be altered with the designer as well. Instead of needing to link in each new component, XML templates will be used. This way updating the components will be much easier and faster. It will be easier to support multiple versions of wxWidgets and other toolkits could be supported as well. The main advantage of using wxWidgets to create the form designer in this case is that it will be a true what-you-see-is-what-you-get form designer. The form designer is just as important a part of the project as the ide. Instead of the wxform (Delphi form code) file format, XML is going to be used. Hopefully something similar to XRC format so it can be imported into other XRC supporting form designers. Other information that XRC does not support will naturally need to be included to make it all work.

All of us are currently marked as project admins on the project space to keep the development efforts flowing well. Everyone has a strong grasp of different aspects of the project and it makes sense to do that. I started the project and am kind of the primary admin. We welcome any help on the new project. Alpha testers, developers, whatever, if you want to help just email one of us or the mailing list and we can get you set up. Sof.t did some porting of the GUI and some of the other parts of Dev-C++. The code that he worked on has been committed to SVN on the wxDevIDE project space. We are using Trac to develop documentation and api's for the project. One goal is to keep strong documentation for the sources so that others can contribute more easily and future difficulties of not having good documentation does not catch up to the project.

Although the code is going to be different and it is going to work differently inside. wxDevIDE is going to be as comfortable and familiar to a Dev-C++/wxDev-C++ user as possible. There are some things that wont be identical, like some of the editor options in the editor dialog because we are not using Synedit, but using it will be just about the same as the Delphi version. We are trying to make a new IDE, but rather trying to expand the capabilities of an old friend.

Just a note to those who ask, "What about Code::Blocks, [your ide here]?". C::B is a great IDE, and there are many other great IDEs available. Use whatever works best for you. Yes, we are reinventing the wheel, but that's what we choose to do in our free time. Please do not bother us with complaints. We do not spam your developers, please give us the same courtesy.

Nuklear Zelph
Dark Alchemist
Super wx Problem Solver
Super wx Problem Solver
Posts: 347
Joined: Wed Nov 02, 2005 10:33 am

Post by Dark Alchemist »

Thank God and three cheers for this.
Jorg
Moderator
Moderator
Posts: 3971
Joined: Fri Aug 27, 2004 9:38 pm
Location: Delft, Netherlands
Contact:

Post by Jorg »

Good effort! It always struck me as odd to have a C++ development IDE, written in Delphi ;-) Although I have been developing Delphi for 5 years in the past and I know the ease of use greatly extended the existing C++ development IDE's at the time, I can understand why that decision had been made then.

But, if you play this right it might be (together with Code::Blocks) one of the Core IDE's for wxWidgets. If one of those two fine IDE's is tailored towards wxWidgets development for ease of use, like Delphi once was to Pascal development I think integrating wxWidgets more as a platform in an IDE, might bring the same flexibility as other toolkits have, so that the user can start developing with wxWidgets out of the box but downloading a friendly IDE to do that with.

Once more, good job and I hope the port goes succesful!

With regards,
- Jorgen
Forensic Software Engineer
Netherlands Forensic Insitute
http://english.forensischinstituut.nl/
-------------------------------------
Jorg's WasteBucket
http://www.xs4all.nl/~jorgb/wb
Dark Alchemist
Super wx Problem Solver
Super wx Problem Solver
Posts: 347
Joined: Wed Nov 02, 2005 10:33 am

Post by Dark Alchemist »

Jorg wrote:Good effort! It always struck me as odd to have a C++ development IDE, written in Delphi ;-) Although I have been developing Delphi for 5 years in the past and I know the ease of use greatly extended the existing C++ development IDE's at the time, I can understand why that decision had been made then.

But, if you play this right it might be (together with Code::Blocks) one of the Core IDE's for wxWidgets. If one of those two fine IDE's is tailored towards wxWidgets development for ease of use, like Delphi once was to Pascal development I think integrating wxWidgets more as a platform in an IDE, might bring the same flexibility as other toolkits have, so that the user can start developing with wxWidgets out of the box but downloading a friendly IDE to do that with.

Once more, good job and I hope the port goes succesful!

With regards,
- Jorgen
Agree with you there Jorg and around the net the biggest negative people throw into the face of wxdevcpp is that it was written in Delphi trying to emulate C++. Bad stuff there but, even after my horrid ordeal that I finally fixed with WxDevcpp), this is the only RAD that I like or would even use and I have tried every single one of the others out there from the free to the paid and they just don't do it for me like this does.

I only hope that when they port it over and rewrite the sections into C++ that these horrid "whip your butt until you are stuck in a corner in the fetal position" bugs will disappear. #1 issue that causes a lot of the problem will disappear when it gets ported over and that is Synedit goes buh-bye.
tbreina
Moderator
Moderator
Posts: 1289
Joined: Thu Nov 25, 2004 7:38 pm
Location: Coronado, CA

Post by tbreina »

Yes, our hope is that many of the bugs will go away; however, there's always new bugs to introduce :lol: ...

As I see it there were two major problems we were facing with Delphi. A stale language and a paucity of programmers.

First, the free version we were using (Delphi 6 PE) was over a decade old and things like Vista were probably not even thought of at that time. We used many 3rd party libraries, but of them only JVCL/JCL were actually being maintained and updated. I have no doubt that at least some of the bugs were really just inherent Delphi problems that had been fixed in version 7 and beyond (which we couldn't use).

Second, we constantly heard the phrase, "I would help if I knew Delphi". wxDev-C++ started with a single person (Guru) taking the reigns from Colin and the rest of the Dev-C++ crew. I think we've had about 8 developers total with no more than 3 developers working at any one time (usually just one or two at a time that are actively fixing bugs or developing new code). It was a nice hobby like fixing up old cars, but there's a high rate of burn out (especially when there are so few people to do the work). Our hope is that with the move to wxWidgets/C++ that we'll have many more developers rolling up their sleeves to fix the bugs that they discover or add the functionality that they desire.

-Tony

p.s. Although we are focusing on wxScintilla as the editor and wxWidgets as the language for the RAD generation, we hope that the project code will be modular enough that developers can easily "plug" in other editor modules or RAD modules as they like. The idea is that we'll have all of these self-contained modules (compiler, editor, RAD, debugger). If you don't like the editor we have, then you can use our API to build your own editor module and plug it in to our IDE. The only constant will be that the program looks like you are using wxDev-C++ (same buttons, same menus, same programming feel).
Everybody's got something to hide except for me and my monkey.
Minexew
Earned a small fee
Earned a small fee
Posts: 23
Joined: Tue Aug 11, 2009 10:26 am
Location: Prague, Czech Rep.

Post by Minexew »

Oh my god! For me, this is definitely the message of the month :)

It sounds fantastic and I hope I'll be also able to help (checked out the source a bit, and there are really nice things like hard-coding GPL in the source and adding it line-by-line :D; I think I should be able to fix such little uglinesses ;))

But, for such a great project, I just can't stand the logo on project's homepage... I understand that the web is temporary and everything...but still, I tried to create a little nicer logo, at least for the time :P (see the attachment now)
I've used Adobe Fireworks CS4 and kept the dimensions of the original logo.png. Use it or throw it away, I don't really mind. (as it was already fun to create it :) ) But if you ever need any graphics, I'll be always ready and happy to help!
Attachments
logo.png
logo.png
wxDevIDE-final_render.png (20.71 KiB) Viewed 8755 times
Dark Alchemist
Super wx Problem Solver
Super wx Problem Solver
Posts: 347
Joined: Wed Nov 02, 2005 10:33 am

Post by Dark Alchemist »

Minexew wrote:...But, for such a great project, I just can't stand the logo on project's homepage... I understand that the web is temporary and everything...but still, I tried to create a little nicer logo, at least for the time :P ...
You hate squares, right? :lol:
tbreina
Moderator
Moderator
Posts: 1289
Joined: Thu Nov 25, 2004 7:38 pm
Location: Coronado, CA

Post by tbreina »

Minexew wrote: I've used Adobe Fireworks CS4 and kept the dimensions of the original logo.png. Use it or throw it away, I don't really mind. (as it was already fun to create it :) ) But if you ever need any graphics, I'll be always ready and happy to help!
Thanks. Actually, graphics and documentation are always a great help to us. They are usually the things that we devote the least amount of time to in development, but they make the greatest impact to the end-user.

-Tony
Everybody's got something to hide except for me and my monkey.
Mojo
Super wx Problem Solver
Super wx Problem Solver
Posts: 401
Joined: Wed Sep 21, 2005 8:17 am
Location: Rostov-on-Don, Southern Russia

Post by Mojo »

Ohh... I love Dev-C++, I messed Dev-C++ and at last I will see Dev-C++ again. When? Where can I download wxDevIDE? I am potential user of wxDevIDE.
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
aaaaaaaaatchoum!
Knows some wx things
Knows some wx things
Posts: 40
Joined: Fri Aug 10, 2007 10:37 pm

Re: Announcing wxDevIDE, Dev-C++ in C++

Post by aaaaaaaaatchoum! »

datatab1 wrote:
I'd like to announce the initial development for a new IDE/RAD called wxDevIDE. The purpose of the project is to port Dev-C++ from Delphi to C++, making it cross platform using the wxWidgets toolkit. Our primary goal is to maintain the same look and feel of Dev-C++/wxDev-C++, but with a completely re-designed architecture "under-the-hood".
Congrat, this has to be done: wxWidgets is more the future than Delphi. Moreover wxWidgets is free, Delphi not.
starra
Earned a small fee
Earned a small fee
Posts: 19
Joined: Wed Jun 06, 2007 12:32 pm

Post by starra »

GREAT NEWS!!
jccddd
Earned a small fee
Earned a small fee
Posts: 13
Joined: Sat Dec 12, 2009 12:25 pm

Post by jccddd »

Sounds like a good news.But if port to Lazarus would be easier and make more sense.CodeBlocks is developed with wxWidgets and performs excellent.
tbreina
Moderator
Moderator
Posts: 1289
Joined: Thu Nov 25, 2004 7:38 pm
Location: Coronado, CA

Post by tbreina »

jccddd wrote:Sounds like a good news.But if port to Lazarus would be easier and make more sense.CodeBlocks is developed with wxWidgets and performs excellent.
I initially attempted this several years ago, but came to the conclusions that

(a) it was harder than it seemed and no one was willing to help

(b) the source code was so convoluted at this point that it might be better to start from scratch.

(c) the form designer only mimicked the wxWidgets components so that strictly speaking the RAD wasn't WYSIWYG.

However, if you think you can manage this, then please give it a try. I'd love to be proven wrong.

-Tony
Everybody's got something to hide except for me and my monkey.
jccddd
Earned a small fee
Earned a small fee
Posts: 13
Joined: Sat Dec 12, 2009 12:25 pm

Post by jccddd »

tbreina wrote:I initially attempted this several years ago, but came to the conclusions that

(a) it was harder than it seemed and no one was willing to help
For sure it's not easy!But I think it's easier to start with the same language than using another language.
tbreina wrote: (b) the source code was so convoluted at this point that it might be better to start from scratch.
The best way is certainly to get start from scratch,but a lot of delphi code can be good references and the original code bugs will be discovered through new developing process.If so the wxDevCPP software would have got the new lease of life truely .
tbreina wrote: (c) the form designer only mimicked the wxWidgets components so that strictly speaking the RAD wasn't WYSIWYG.
All the RAD tools so far are mimics to the live form,absolute WYSIWYG does not make sense any more.
tbreina wrote: However, if you think you can manage this, then please give it a try. I'd love to be proven wrong.
-Tony
I don't think you are in the wrong way,what I'm thinking about is to support the pascal language and its open source IDE "Lazarus".
I'm a trier of every kind of open source tools ,and I like the open source tools such like "wxDevCpp","Lazarus",and "Codebolcks".
User avatar
evstevemd
Part Of The Furniture
Part Of The Furniture
Posts: 2409
Joined: Wed Jan 28, 2009 11:57 am
Location: United Republic of Tanzania

Post by evstevemd »

was the initiatives a failure?
Chief Justice: We have trouble dear citizens!
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
Post Reply