Author Topic: RAD TOOL developers wanted  (Read 72619 times)

upCASE

  • Guest
RAD TOOL developers wanted
« Reply #15 on: May 12, 2005, 10:07:18 am »
Hi everybody!
I just joind the forum, but some may allready know me from the wxWidgets forum.

I stumbled accross this thread while reviewing Code::Blocks and I do have to say that this is really some impressive work! Of all Editors I reviewed I have to say that Code::Blocks looks very promising to be THE Project manager for wxWidgets as it is available on Windows and Linux (a Mac port would be nice, too).

True, what it's missing (as with all other editors, except wxDev-C++) is a GUI editor. Now this could be a point where I could jump in...
I started development on such a beast some time ago. My original plan was to create a GUI editor that would have code editing features similar to VB. Now, parts of the GUI editor itself do work, but I started thinking that implementing code editing features would be a hell lot of work and since there already is a decent code editor (namely Code::Blocks) it would be like reinventing the wheel. I didn't have a close look at the plugin API, but I think that rewriting parts of my work could implement it as a Code::Blocks plugin.

My major problem for the time being is: I lack the time to develop the GUI editor much further... Sad but true: The job is more important.
At first I didn't want to publish my work in progress, but seeing that it wouldn't get any further without external help, I guess it would be that best choice if I team up with others who'd like to help in developing it.

The editor is a standalone MDI app at the moment, but I guess ut can be turned into something more fitting for a plugin. Some standard widgets have been implemented, as well as sizers. You can save XRC files and they work, loading makes some trouble, but that can be fixed.

I'll post a screenshot of my work in progress. Please comment on the following questions:
1. Do you think that it looks promising?
2. Do you think that implementing it as a Code::Blocks plugin would be a good idea / possible?
3. Is there somebody working on something similar?
4. Who would like to team up and develop this beast?

Here's the screen shot:


I'd really like to see my work prosper. I fear that if I keep it to myself it will never be finished and all the work I put into it will be lost and a waste of time...
Having Code::Blocks as THE editor would be a real blast! Keep up the good work and please contact me if you think that my work and my person could be of use here.

Regards,
   upCASE

Offline David Perfors

  • Developer
  • Lives here!
  • *****
  • Posts: 560
RAD TOOL developers wanted
« Reply #16 on: May 12, 2005, 11:34:09 am »
Hi upCase, this looks very promising, and although I am not an official code block developer, I think that it is usefull to make a plugin of it. I am willing to help, but I also run out of time, till the summer holliday I hope.
OS: winXP
Compiler: mingw
IDE: Code::Blocks SVN WX: 2.8.4 Wish list: faster code completion, easier debugging, refactoring

Offline mandrav

  • Project Leader
  • Administrator
  • Lives here!
  • *****
  • Posts: 4315
    • Code::Blocks IDE
RAD TOOL developers wanted
« Reply #17 on: May 12, 2005, 01:56:23 pm »
Hi upCase,

this looks really promising. I must say that I 'm impressed :)

Quote
1. Do you think that it looks promising?

Already said that ;)

Quote
2. Do you think that implementing it as a Code::Blocks plugin would be a good idea / possible?

Very good idea and certainly possible. Whatever implementation detail is needed, will be added. The C::B API has not stabilized yet, so no big-deal if we break it while adding your editor as a plugin.

Quote
3. Is there somebody working on something similar?

AFAIK, no, nothing serious at least. I haven't seen any kind of WIP...

Quote
4. Who would like to team up and develop this beast?

I could try, initially, to "embed" it in C::B as a plugin. After that, someone might have to step in but that would be the easy part, methinks  :lol: .
I 'm sure that Rick would like to maintain it. Or it could be anyone else...

Yiannis.
Be patient!
This bug will be fixed soon...

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
RAD TOOL developers wanted
« Reply #18 on: May 12, 2005, 03:01:00 pm »
WOW!! This editor r0xx0rz!!!!1 <--- teenager leet talk :lol:

Seriously, this appears to be *just* what I had been searching for. upCASE: Please share the code! :D

Oh, yeah I forgot. There IS somebody working on something similar, BUT he's not part of the Code::Blocks team. His name's JA Hurtado, and he's more or less a visitor here. His project is called wxFormBuilder, located at sourceforge.
http://sourceforge.net/projects/wxformbuilder/

However, no work has been done to integrate it with codeblocks. So my vote is for adapting your code for codeblocks. You're welcome to talk to him, however, in case you want to share with his editor, too. Who knows, maybe there could be a merger or something. You'd have to analyse.

Can your editor be implemented as a plugin?

Yes, we've been working on some structural changes on the SDK (and will work on more! MUAHAHAHAHA :twisted: ).
The first important change was to define a custom editor window. Such editor window could be your dialog designer.
Second, I'm planning on simplifying the API so you won't have to recompile plugins after each minor change, but I need to discuss it with Yiannis (Mandrav) first.

As a side note, what inspired me to join this project was, ironically, wxDevCpp (a customized version of dev-cpp that had an integrated dialog designer). Because it was written in Delphi, I wanted to make a devcpp clone in C++ so we could work on a dialog designer add-on. What was my surprise to see one of the authors of devcpp do even more (not just a clone, but an IDE planned to work with MANY compilers, and be extensible with plugins!).

Anyway, back to the topic, the CodeBlocks IDE is about 60% SDK, 35% plugins and 5% the main code. (I want to take out the plugin initialization from the main code and put it into the SDK where it belongs, but that's minor details). I'm quite confident that your editor can be implemented as a plugin.

So... welcome to the community,and hopefully, to the team ;-)

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
RAD TOOL developers wanted
« Reply #19 on: May 12, 2005, 03:02:23 pm »
P.S. Mind telling us where your Code::Blocks review is? ;-)

upCASE

  • Guest
RAD TOOL developers wanted
« Reply #20 on: May 12, 2005, 03:53:54 pm »
Hi!
First of all: Thanks for the big bouquet of flowers :D
Glad to hear tha you like it and don't just say: "Bah, go away" :D

Quote from: rickg22
So... welcome to the community,and hopefully, to the team

Glad I found some open ears, eyes and minds :D
The question: How?
I mean, I do want to share the code (I suppose I get some credit for that  :lol: ), but how can/should we do it? What's your normal procedure? Sourceforge, or just a shared zip?
Currently I'm working with VC++ 7.1 on it. I want to get some stuff working (like loading a project) before I put the code somewhere. I hope this doesn't take too long. Then, some more widgets could be added. I'd be willing to do that and maintain the main code base, as I started it and the code sometimes is very "hackerish" (I guess this is normal for such a project, but anyway). Implementing it as a plugin is something I would love to give into trusting hands, as learning about the SDK and changing the code should be done by someone who knows what he's doing. I'm willing to have a look at it, but I guess I won't be much help. Maybe it's possible to have it in two versions: One as a plugin and one as a standalone...
Anyway, tell me what you think would be best. Reach me via mail if needed or if this is going off-topic.

Quote from: rickg22
P.S. Mind telling us where your Code::Blocks review is? ;-)

Well, I meant I reviewed it for personal purpose. I read about it some time ago and tried it out. But as I'm mainly working with VC++ on the job, I had no chance to run it to its full extend. Maybe I'll try and use it with the VC compiler here one day, but currently we're on a project and my coworkers wouldn't like skipping the IDE :D

Offline AkiraDev

  • Multiple posting newcomer
  • *
  • Posts: 71
RAD TOOL developers wanted
« Reply #21 on: May 12, 2005, 04:06:12 pm »
Hi upCASE!

Glad to see your RADtool is growing just fine! I hope you guys can reach an agreement that speeds up both the plugin interface and the frame editor development - maybe making upCASE's code also available in this site would help to gather volunteers?

Hope to meet ya again any time soon! Maybe in the wxForum? ;)

Greets

Offline David Perfors

  • Developer
  • Lives here!
  • *****
  • Posts: 560
RAD TOOL developers wanted
« Reply #22 on: May 12, 2005, 07:27:19 pm »
Quote from: upCASE
Implementing it as a plugin is something I would love to give into trusting hands, as learning about the SDK and changing the code should be done by someone who knows what he's doing.
hmm. that is not including me  :cry: I think I just have to try :lol:
OS: winXP
Compiler: mingw
IDE: Code::Blocks SVN WX: 2.8.4 Wish list: faster code completion, easier debugging, refactoring

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
RAD TOOL developers wanted
« Reply #23 on: May 12, 2005, 08:47:37 pm »
Well, an idea is to send us the zip file or publishing it in a webpage so we can d/l it - or you could host it at sourceforge, that's not a bad idea either :)
However you please. Just make the code available. Later we'll deal how to re-distribute it.

Offline mandrav

  • Project Leader
  • Administrator
  • Lives here!
  • *****
  • Posts: 4315
    • Code::Blocks IDE
RAD TOOL developers wanted
« Reply #24 on: May 12, 2005, 09:24:09 pm »
Quote
I mean, I do want to share the code (I suppose I get some credit for that), but how can/should we do it? What's your normal procedure? Sourceforge, or just a shared zip?

We can put it in the upcoming "contrib" folder, to signify that it's a work-in-progress.

Quote
I'd be willing to do that and maintain the main code base, as I started it and the code sometimes is very "hackerish" (I guess this is normal for such a project, but anyway)

That's what I want to hear :). I agree that you should be the maintainer. You know it better than any other ;).

Quote
Implementing it as a plugin is something I would love to give into trusting hands, as learning about the SDK and changing the code should be done by someone who knows what he's doing

I think it would be better to make it a custom editor, registered for XRC files (for example). I haven't looked at your code, but to implement a custom editor in C::B, you just inherit from EditorBase (which inherits from wxMDIChildFrame and when we ditch MDI it will inherit from wxPanel). Unless you are doing magic stuff in your initialization code, I believe it should be pretty easy to embed you editor in C::B :D

Quote
I want to get some stuff working (like loading a project) before I put the code somewhere.

We can add the code in CVS and you can work from there. This way more people might want to join you :D
And don't forget the motto of open source: release-early, release-often ;)

Yiannis.
Be patient!
This bug will be fixed soon...

upCASE

  • Guest
RAD TOOL developers wanted
« Reply #25 on: May 13, 2005, 08:42:49 am »
Hi!
Quote from: mandrav

I think it would be better to make it a custom editor, registered for XRC files (for example). I haven't looked at your code, but to implement a custom editor in C::B, you just inherit from EditorBase (which inherits from wxMDIChildFrame and when we ditch MDI it will inherit from wxPanel). Unless you are doing magic stuff in your initialization code, I believe it should be pretty easy to embed you editor in C::B :D

I'm not quite sure I got that, maybe due to my fair knowledge of how C::B was implemented and how the SDK works. Currently the editor is a MDI Frame, too. So you mean I should implement it so that it gets "embedded" into C::B on start? Like adding a toolbar, menu etc. to the main editor?I just played with the plugin generator plugin and saw that it has options for that currently disabled.

Quote from: mandrav

We can add the code in CVS and you can work from there. This way more people might want to join you :D
And don't forget the motto of open source: release-early, release-often ;)
.

Good idea. I'll straighten things out in the code to get loading and saving to work properly and maybe add some more widgets. Then I'll be happy to upload. In some parts the code is a real mess  :D Extreme programming, here I come  :D Maybe I should comment the code in some places, although I doubt that it will be easy to understand. The handling for events when adding widgets (especially into sizers) is pretty complicated and I still have to clear the massive object dump I get at the moment  :D

Offline mandrav

  • Project Leader
  • Administrator
  • Lives here!
  • *****
  • Posts: 4315
    • Code::Blocks IDE
RAD TOOL developers wanted
« Reply #26 on: May 13, 2005, 09:44:04 am »
Quote
I'm not quite sure I got that, maybe due to my fair knowledge of how C::B was implemented and how the SDK works. Currently the editor is a MDI Frame, too. So you mean I should implement it so that it gets "embedded" into C::B on start? Like adding a toolbar, menu etc. to the main editor?I just played with the plugin generator plugin and saw that it has options for that currently disabled.

Take a look at this thread. It was the first attempt at creating a custom "editor". It also contains a link to a test plugin I hacked up quickly to test it. Download it and take a look.

To really embed your editor, it can't be an MDI frame. It must be an EditorBase (which is a wxMDIChildFrame for now). Also, until we add a docking library in C::B, your tool windows should have the wxFLOAT_ON_PARENT style flag.

Anyway, I think you should download the test plugin mentioned above and see for yourself. If you don't get it yet, or you think that it's too much of a hassle, you can initially set your application as a registered XRC MIME handler and have C::B launch it (optionally modal) as an external application.
Or you can go on asking me (publicly or in private) anything you don't understand yet ;)

Yiannis.
Be patient!
This bug will be fixed soon...

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
RAD TOOL developers wanted
« Reply #27 on: May 13, 2005, 05:24:07 pm »
Quote from: upCASE
Maybe I should comment the code in some places, although I doubt that it will be easy to understand.


Why not grab Windows Paint (TM) and make a nifty diagram of how the classes work?

Quote from: Mandrav
To really embed your editor, it can't be an MDI frame. It must be an EditorBase (which is a wxMDIChildFrame for now). Also, until we add a docking library in C::B, your tool windows should have the wxFLOAT_ON_PARENT style flag.


And you may also want to take a look at the codecompletion plugin to see how it allocates a tab in the left pane (for the property editor).

upCASE

  • Guest
RAD TOOL developers wanted
« Reply #28 on: May 13, 2005, 05:52:10 pm »
Hi!
Quote from: rickg22
Quote from: upCASE
Maybe I should comment the code in some places, although I doubt that it will be easy to understand.


Why not grab Windows Paint (TM) and make a nifty diagram of how the classes work?

Quote from: Mandrav
To really embed your editor, it can't be an MDI frame. It must be an EditorBase (which is a wxMDIChildFrame for now). Also, until we add a docking library in C::B, your tool windows should have the wxFLOAT_ON_PARENT style flag.


And you may also want to take a look at the codecompletion plugin to see how it allocates a tab in the left pane (for the property editor).

1. Once the time comes, I let doxgen do the job :D
2. Good idea, I'll check it out.

As I won't be online until Tuesday (since in germany monday is a holiday and my wife and son won't approve I spend the time coding :D), I htought I give you a little yummy for the weekend and upload my development beta release as a binary to try out.
Get it here: http://www.upcase.de/stuff/wxResEdit.zip

Please comment on bugs and improvements. Saving and loading works to some extend, XRC code generation seems to be fine. Note that only some widgets are implemented and editing a project after loading it will lead to crashes when trying to add new stuff to sizers.

Have a nice weekend!

takeshimiya

  • Guest
RAD TOOL developers wanted
« Reply #29 on: May 13, 2005, 11:29:52 pm »
As I've wrote on another post:
=)

A RAD for wxWidgets inside CodeBlocks
One of the best wxWidgets RADs right now (IMHO) is DialogBlocks, so I think that we have 2 great options
-Ask Julian Smart about making a plugin of DialogBlocks for CodeBlocks, or better yet, convince Julian to distribute by default the combo of CodeBlocks+DialogBlocks plugin (the best combo for replacing VC+MFC).
-Ask Julian to donate most of the DialogBlocks code.
He already has done that for another IDE (CodeDragon - wxStudio), but that project isn't maintained anymore.

http://www.anthemion.co.uk/dialogblocks/
http://wxstudio.sourceforge.net/

Anyways the first step and most easy would be to ask Julian to make DialogBlocks generate CodeBlocks projects (currently DialogBlocks generates Visual C projects, makefiles, etc a very handy feature)


Note that I encourage to do a RAD from scratch, but I'm afraid that it never gets finished nor maintained anymore.