• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Moonlite + the Storm framework

Status
Not open for further replies.
Level 9
Joined
Dec 26, 2007
Messages
202
About 7 months ago, I thought that when SC2 comes out, we're screwed because we don't have any IDE/syntax highlighter for it. (Asuming that Blizz doesn't include one in StarEdit2)

So, I started an IDE called Moonlite in Visual Basic. I thought that syntax highlighting was a simple task of just colouring some damn text with a RichTextBox, but along the way I figured out how very wrong I was.

Since Microsoft was very stupid when creating their RichTextBox component, it is very inefficient (stores the whole RTF in a gigantic text string, not in different strings dependent on lines, reparses the RTF every time the user types something, draws inefficiently, etc.)

So I looked around for syntax highlighting components, but found only crappy ones. I started my own with the RichTextBox (I thought I could do a workaround on MS' failure) using regular expressions. However, after 3 months of hard work, I figured that MS' failure was unfixable. I made a bigger search around the net and found the ICSharpCode.TextEditor component.

It was very efficient, highlighted thousands of lines of codes in milliseconds, had line numbers, (very hard to get working) code folding and was all in all very good.

However, it wasn't good enough for me. (I wanted it to be capable of bookmarks + breakpoints), so I searched around EVEN MORE, found a pretty good syntax highlighter that used Win32 Native GDI+ rendering and coded on from there.

However, the code was a complete mess, unstructured, inefficient (not the rendering, but everything else), ugly (shitloads of try catch statements, commented out code, etc.)

I thought that making it better wouldn't take that long, but it took me 3 months. I was finally done, and then I thought: "nobody should go through all this when somebody could release a component and it could take them 5 minutes instead of 6 months" - I searched around AGAIN for components like mine that I created, but figured that the only ones that were on the same level were 500$ components, which is like robbing.

So, I started the Storm framework (my middle name is Storm) - it now consists of Storm.TextEditor, Storm.CodeCompletion, Storm.Win32, Storm.NotifyBars, Storm.TabControl, Storm.Plugins and Storm.Docking.

Yeah, that IS much code. In a month. Yay. You better enjoy this :)
But it's not finished yet. I just wanted to know what you thought about it, so here's some screenshots:

2duxq42.jpg

Storm.Docking enables the user to drag around windows in a Form and dock him where he likes.


iwu6a8.jpg

Storm.Plugins allows complete and 100% extensibility! That window in the bottom of the screen is a plugin loaded from a separate .dll showing output from the Storm.Plugins .dll!


29dk807.jpg

Storm.TabControl - a simple tab control. However, it is 100% owner drawn.


29cn9kj.jpg

And finally Moonlite, the IDE. It only has the Storm.TextEditor implemented (and a Ribbon, I will not include that one in Storm), but as you can see it is fully usable. You can see that the TextEditor is able to split into more textviews, and actually 2 isn't the maximum textviews - it can split into 4!
Note: the syntax highlighting is a bit ugly, it was intended for cJass/Zinc + vJass.

PS: there's a little fuckup in the image, that Form image isn't there in reality.


Did I mention that this will be completely free and royalty-free? I think modern .net programmers deserves this.

Note: Storm is written in 100% C# and will be completely open source.

Also, I will finish my IDE when Storm is done - there's still a lot of stuff to be done, though (parsing, syntax trees, such stuff) - then I will release it for WC3 and then when SC2 comes out, I will release it for that, too.

Comments?
 
Last edited:
Level 14
Joined
Nov 23, 2008
Messages
187
I think it's correct forum, because this is applicable wc3, sc2 and what more. Syntax hightlighting in Moonlite is configurable, isn't it?

Well, nice job.
About screen 3: is tabs style changeable or not? Is it dependant from OS GUI style?

I do not like much new Moonlite interface, it reminds me about... Hmm, I just don't like new MS Office interface, so it's ok. Users would waste less time to explore functions of this editor, if they also work in MS Word.
 
Level 9
Joined
Dec 26, 2007
Messages
202
I think it's correct forum, because this is applicable wc3, sc2 and what more. Syntax hightlighting in Moonlite is configurable, isn't it?

Well, nice job.
About screen 3: is tabs style changeable or not? Is it dependant from OS GUI style?

I do not like much new Moonlite interface, it reminds me about... Hmm, I just don't like new MS Office interface, so it's ok. Users would waste less time to explore functions of this editor, if they also work in MS Word.

> Users would waste less time to explore functions of this editor, if they also work in MS Word.

That's the whole reason I created it :)

> is tabs style changeable or not? Is it dependant from OS GUI style?

100% configurable via inheriting a renderer class and overriding color table properties.

> Syntax hightlighting in Moonlite is configurable, isn't it?

Yep, however it has no fancy user interface for doing that. You edit it via XML.

Thanks for the feedback :)
 
Level 12
Joined
Jul 27, 2008
Messages
1,181
Good work, though this requires .NET, which some users don't have. (Plus, only works on windows).

Maybe I'll try something in native win32 or gtk, dunno.

Good job anyway.

I don't like C# much, but it can easily be recoded to C++ (relatively)... Not that I'll do it :xxd:
 
Level 9
Joined
Dec 26, 2007
Messages
202
Good work, though this requires .NET, which some users don't have. (Plus, only works on windows).

Maybe I'll try something in native win32 or gtk, dunno.

Good job anyway.

I don't like C# much, but it can easily be recoded to C++ (relatively)... Not that I'll do it :xxd:

Well, installing .net isn't hard ;)
I'm already doing that, however I find Win32 very hard :s MFC is much easier.

C# > all.

> it looks alot like office!XD

That's the idea, so I suppose I've done my job :)

I'm thinking about providing a demo application one of the next days, keep tuned.
 
Level 9
Joined
Dec 26, 2007
Messages
202
I am proud to announce that Storm is now finished and has gone into testing stage. Anyone who has Visual Studio/C#/VB.NET/C++ (Express Editions are fine) and are willing to test it by making testing applications are welcome.

Note that it might not be the final upload before the full first release, this is just a version for testing before I put the real deal up.

In the zip the following is included: bin, src, samples (in folder 'src') and doc.
Thank you for your time.

NOTE: the documentation isn't complete, like, at all. I hope you can create testing applications from the samples.

Download link: http://www.megaupload.com/?d=Q40N7W42
 
Status
Not open for further replies.
Top