I need some help with a little problem...

BlitzMax Forums/BlitzMax Programming/I need some help with a little problem...

bregors(Posted 2006) [#1]
.


plash(Posted 2006) [#2]
I've been waiting for an IDE like Visual Studio (with a GUI editor) since the beginning of mankind!

As for coding a GUI editor.. I'm not really sure, as I haven't done such a thing.


ImaginaryHuman(Posted 2006) [#3]
To make a gui editor you really need to be able to create `adjustment tools` around all the existing real gui elements, ie be able to drag the size of buttons, click on them to get to code or responses, stuff to change colors, etc. The gui sort of needs to be `live` at the same time as being updated when the user makes changes realtime. Not sure if MaxGUI can be realtime adjusted in all departments. So then you might look to emulate the gui in a customer graphics screen, which ultimately gives you more freedom but means writing a set of gui elements and making them work yourself.


bregors(Posted 2006) [#4]
.


Alessandro(Posted 2006) [#5]
Hello,

I'm creating a RAD development tool for BlitzMax called RADicchio!.
I'm creating RADicchio! using Borland Turbo Delphi 2006.
The job is hard, but I'm proceding fast.

You can find more info, some screenshots, a brief roadmap, and a new forum (not yet guests... sigh :-( ) for RADicchio!

I hope this program will help you to create more and more BlitzMax applications! :-)

It contains a good editor (but you can configure it to use an external editor!) with code completion, code hints, syntax colour, etc.... There is a Max GUI designer; a module manager (modules are a new concept I introduced to speed-up/simplify development); global/local variables manager; etc... Obviously, when you design a form, you can assign the code to a button using events (like Visual Studio, like Delphi, etc...).


You can find more info at:

http://ale870.pbwiki.com/RADicchio


ImaginaryHuman(Posted 2006) [#6]
I guess you have to bare in mind that if you just use MaxGUI to edit MaxGUI, then you are limited to only doing graphical things that the o/s supports in order to implement your tools and adjustments.


bregors(Posted 2006) [#7]
.


bregors(Posted 2006) [#8]
.


bregors(Posted 2006) [#9]
.


Gabriel(Posted 2006) [#10]
I just want to see BlitzMax spawn it's own editor.

I tend to agree with AngelDaniel on the gadget limitations.

A proper GUI editor needs those property grids for me. In fact, almost any decent editor would use them if it were up to me. I'm writing a suite of game editing tools for my own game in BlitzMax and the lack of complex gadgets like that really takes the edge off it. I'm not knocking MaxGUI, it is what it is, and it was never intended to be a rival to VStudio, but for making the kind of be-all end-all tool you describe, I can't see BMax and MaxGUI being the right solution.


bregors(Posted 2006) [#11]
.


REDi(Posted 2006) [#12]
Heres a little WIP demo of my GUI editor that I've been writing ( on and off ) for quite a while now...

www.redi.me.uk/downloads/vmdemo.zip

and heres some code (TEditGadget object) to help you get an idea of how you might go about writing one yourself...


BTW yeah, I know, looks kinda like the PB one ;) I've gotta do something about that.

I actualy lost the latest version of this when my HD drive died, so this is an old backup from about a year ago, just gotta get the motivation to rewrite it all again.


bregors(Posted 2006) [#13]
.


Gabriel(Posted 2006) [#14]
Could you please be more specific? Are you saying that BlitzMax couldn't create it's own GUI controls like BlitzPlus did in GUIde, or are you saying that MaxGUI isn't powerful enough to warrent a GUI builder?


Nope, neither. I meant it just the way you took it in your next reply. I just think you really need things like property grids, and when you look at companies like DivElements, they charge a lot of money for them, so I suspect they're a lot of work to do right.

Then again, would it not be helpful to the Blitz community to develop a good property grid?

Hell yes! They're invaluable gadgets for editors, and since most of us are creating games, most of us are creating or using editors.

And the most important detail... Am I up to the task?


Ah, well that I can't say. I know I wouldn't be much help, because all this Win32/GUI stuff is a bit of a mystery to me. But on the other hand, there are people like Eikon and Perturbatio who are really nifty with Win32 and GUI stuff in general, and they're both very helpful and generous with their time. If you could generate interest in it, I think you'd get help when you needed it.


bregors(Posted 2006) [#15]
.


Gabriel(Posted 2006) [#16]
I haven't used Grable's Property Editor so far, no. I've tried it, obviously. I thought it was very nice, but wasn't quite what I wanted for my editor, and I don't really like using other people's code for major projects, particularly when they warn me that it has issues and I don't understand everything that's going on.

You're right though, it is a darn good start.


AntonyWells(Posted 2006) [#17]
it would make more sense to use a more gui orientated application to develope this. like VC# with it you have all the tools required including the VITAL ability to draw guide lines. And you could just create source and offer the ability to invoke the blitz compiler and test the app.

what would REALLY rock is..an integerate ide in with the gui designer. So the user could add some gadgets, double click on it and it would switch to the editor with an event handler template..just like vc. do that and i'd gladly pay an hundred bucks for it.

It would be possible in max if mark did a GDI driver, but without one, well, i just can't see how it could be done.


bregors(Posted 2006) [#18]
.


Alessandro(Posted 2006) [#19]
I noticed my web site is down :-(
I think the provider (www.pbwiki.com) has some problems. I will contact them to get more info.

Regarding MaxGui, I agree with the people that say MaxGui has not enought advanced gui controls to create a really complex application: no grids, no complex combo-box/list-box, no listview, etc... That's why I used Delphi :-) to emulate MaxGui components.

About preview, I think we can use a gui designer to place the components, then you got the preview (compiled code) to see the real aspect. The problem is, if I'm programming in Windows, to get a definitive feedback about Mac gui I need to compile such code under Mac! Even if I emulate the layout as Mac, it is not possible to be sure the emulation is correct for e very Mac version (or Linux).


bregors(Posted 2006) [#20]
.


Alessandro(Posted 2006) [#21]
My site is up again! :-)

@BrEgOrS

<<I guess cross-compiling user interfaces is always going to be a problem. :/>>

Yes, I agree with you. They are a BIG problem.

<<BTW, how do you plan on implementing syntax highlighting in your app?>>

Plan? No plan... I already implemented it ;-)

I used a third party component. I didn't used Scintilla, since Delphi interface is not completed, and I could not use it if it was not stable, and completely reliable.

Take a look to my site, and lokk at the screenshots :-)

I hope you will like it! I'm working hard to to RADicchio!


bregors(Posted 2006) [#22]
.


Alessandro(Posted 2006) [#23]
Turbo Delphi restrictions are valid only for free version :-)

I have the commercial version (Professional version) for Win32 apps (it costs about 400$). With that versionn you get all the features found in Delphi 2006 enterprise (DB components, add new components, manage web services, etc...).
EVERYTHING!


Alessandro(Posted 2006) [#24]
@BrEgOrS

If you really want to help me, I have something to do for you.
But, I want to be honest: consider that I will sell this product for about 20 euros. I need to sell the product, since I spent a lot of money to create it. So I don't want to become a rich man with RADicchio!, but at least I want to get back the money I spent!

So, I really need your help, but I cannot pay your job. Your contribution will be appreciated, and if you want, I can put your name in the about box, in the documentation, etc...

Is it enough for you?

How can you help me?

I need to create separate text files to let RADicchio! make syntax colour, enable code completion, code hints, etc...

Basically, I already realized such files, and they already work. But the problem is they are not really complete (just today I noticed "import", "type", "endtype", "method", "endmethod" are missing, and I added them).

Instead, syntax colour files are not well divided (tokens of the language such TYPE, IMPORT, etc... must be separated from internal language keywords such IF, FOR, etc.... Furthermore they must be separated from module keywords, such CREATEBUTTON, SETGADGETTEXT, etc...).

Do you want to help me to do this important job?
(If you want to do this, I can send you the EXE file of RADicchio! I can modify it to import such keywords from an external file, so you can create the files and test them in real-time.
Furthermore, you could help me to test it ;-)

Finally, since I cannot pay you for this job, I could consider to give you an official copy of RADicchio! for free (at no cost) when the official version 1.0 will be ready.

So, can you help me?

(my private email address is: ale870@...).


bregors(Posted 2006) [#25]
.


Alessandro(Posted 2006) [#26]
@BrEgOrS

First of all, thank you for your precious suggestions (I already copied them in my personal folder!).

I use Delphi since its version (Delphi 1!!) and this is one of the reasons I'm creating RADicchio! in Delphi :-) since I know almost everything of this wonderful development tool.

<<I'm planning on building a RAD designer of my own>>

Good luck for your editor!

I'm sorry since I made a mistake reading your previous emails. I thought you wanted to help me, instead you asked me to help you ! My mistake! Sorry again!

More: please keep me informed about Max3D, since BlitzMax has not a 3D module, and even if I found several modules to adapt BM to third party engines, I noticed no interface was quite complete. Your module could be the definitive solution.

Maybe, I could implement a module for Max3D management in my RADicchio! developemnt tool ;-) and our jobs could find a common point to join the forces and create better and betters instruments to increase BM quality!

Good luck again!


bregors(Posted 2006) [#27]
.


Russell(Posted 2006) [#28]
Lazarus is open source, cross-platform (win32, linux and macos <I think>) and about 80% Delphi compatible. It is a Visual-Basic like IDE that allows you to create the same GUI apps on all supported platforms with the SAME source code.

Google it. That way, supporting all platforms would be MUCH easier...

Russell


bregors(Posted 2006) [#29]
.


bregors(Posted 2006) [#30]
.


Alessandro(Posted 2006) [#31]
@BrEgOrS

<<What 3rd party component are you using for your syntax highlighting programmer's editor. >>

Look at here (look for TAdvMemo):
http://www.tmssoftware.com/

@Russell

<<Lazarus is open source, cross-platform (win32, linux and macos <I think>) and about 80% Delphi compatible>>

I'm sorry, but this is not true. Lazarus is compatible with Delphi 2. It does not contain many components, many classes, etc... However, it is a great tool.


bregors(Posted 2006) [#32]
.


bregors(Posted 2006) [#33]
.


Alessandro(Posted 2006) [#34]
@BrEgOrS

It is an ambitious project, with a lot of options! It seems a very good roadmap!

Take a look to the time you need to implement everything, else you risk to plan a huge project, but with no implementation al all!

Versioning and CVS implementation are very interesting features.

Good luck!

(may the force be with you! :-)


Alessandro(Posted 2006) [#35]
@BrEgOrS

<< BlitzMax already has the concept of a 'Module' in it's extension architecture. You may want to use another term besides 'Module' when referring to your IDE's modules, since they could confuse the user. >>

I followed your suggestion: I renamed them as "Plug-ins".

Thank you for the suggestion!


bregors(Posted 2006) [#36]
.


bregors(Posted 2006) [#37]
.