Beginnings of a haxe "ide" written in haxeui!

So ive been toying around with this for a little while, and what was a test project has, as usual turned into so much more. So here is a teaser of “hxIDE”… Its not supposed to compete with any of the “big boys” like VSCode or HaxeDevelop… in fact, i think of it more like a “HaxeDevelop-Lite”, but written in HaxeUI, which makes its pretty cool imo!


(Full sized gif: http://haxeui.org/shared/hxide.gif)

It works remotely (via websockets) or locally, all using the same api (which is also pretty swish actually) :slight_smile:

autoconnect

Eventually it will have a native build also, once haxeui has a treeview component in core with a native counterpart (currently its just a composite treeview only, and a fairly basic one at that - no datasource, no item renderers etc)

Still, its pretty fun developing it, and a damn good test for HaxeUI, its also pretty “simple” for what it actually can already do, including compilation and build discovery… remote and local. Plus, the layouts make it really easy to mess around with things. Eg: heres the main layout:

<splitter id="mainContent" width="100%" height="100%" style="padding: 5px;background-color: #F3F3F3;padding-top:15px;" direction="horizontal">
    <tabview id="projectTabs" width="300" height="100%">
        <vbox text="Project" icon="icons/brick.png" width="100%" height="100%" style="padding: 0px;background-color: white">
            <project-tree width="100%" height="100%" />
        </vbox>    
    </tabview>
    
    <splitter width="100%" height="100%" direction="vertical">
        <splitter width="100%" height="100%" direction="horizontal">
            <editor-tabs width="100%" height="100%" />
            
            <tabview id="sideTabs" width="250" height="100%">
                <vbox text="Outline" icon="icons/shadowless-node-select-all.png" width="100%" height="100%" style="padding: 0px;background-color: white">
                    <outline-view width="100%" height="100%" />
                </vbox>    
            </tabview>    
        </splitter>    
        
        <tabview id="outputTabs" width="100%" height="200" tabPosition="bottom">
            <vbox text="Output" icon="icons/application_xp_terminal.png" width="100%" height="100%">
                <output-view width="100%" height="100%" />
            </vbox>
        </tabview>
    </splitter>
</splitter>    

5 Likes

1 Like

Very cool!
Do you plan to release it ?
It would be a great showcase for haxe-ui.

Also can you share that Splitter component ? Or is there a builtin way to do it ?

Thanks

I will defo be releasing it, for sure. Not sure when though - first i need to get intellisense hooked up, which i think will go smoothly has i already have tests running for the haxe language server and seem to get decent results

Id like to get the haxeui builder hooked up in there by default too - but it needs a little more work first, see: https://twitter.com/IanHarrigan1982/status/1188142998929977344

As for the splitters, they are something i think will work their way into haxeui-core. In fact there are a few components i think will once they have been “battle tested” in this project. The main ones i can think of off hand are: splitters, treeview, propertygrid

These are all in this project and seem to work pretty well, once they are put into core however they will need native counterparts - ive had a look and i think all of them should be fairly easy to migrate to native, but ofc, its all time.

FYI - heres the property grid (as none of the screens above show it):

Cheers,
Ian

2 Likes

Looking good!
I love the idea of having the builder insider the IDE ala QtCreator or XCode.

I’m looking for a splitter for hxWidgets, I’ll look into it if I can come up with something.
Yes, I’m not familiar with all the supported backends but most should have equivalents.

What backend are you using for now (for the IDE) ? Would you mind sharing the splitter only ?

Thanks

ps: Those new components are fundamental addition for core IMHO ! Great job.

1 Like

I would love to be able to use this.

1 Like

This looks great!! I really like that old school IDE design. Very neat! :grinning:

1 Like

Hi!

Any updates on this?

Also, saw some video of visual UI designer at Builder - HaxeUI but now it seems to be text-only?

Thanks!

Hey :slight_smile:

Unfortunately this project has stalled. Its a HUGE amount of work, and even more to get right. That said, i would like to have another stab at the graphical designer part as, if memory serves, the part was working quite nicely. All of this is time permitting of course.

Cheers,
Ian

Hey Ian,

Yes, only a GUI designer, like e.g. DialogBlocks, wxFormBuilder for wxWidgets or Glade for GTK would be very helpful. In any case, thank you very much!

Hi Ian,

Do you have any prototype code of this somewhere, especially the graphical designer? I would love to tinker and see if I can be of any help to move these efforts forward.

Thanks!

Hey,

So im sure i have it on my other computer somewhere but im not sure what state is in at this point, or if it will even compile. It may be useful to just as reference though - ill see if i can dig it out at some point.

Cheers,
Ian

Thanks, Ian! Yes even for a reference, it would be helpful.

Hello, Ian.

Many years ago I used NME/Openfl for some Android and web games.

For a few days now I’ve been evaluating whether to use Haxe for some commercial programs (not games) that I want to run in the browser and on mobile devices and I’ve been reading the posts here on the forum.

Today I decided to sign up so I can interact with you guys.

The HaxeUI looks really cool to me. And the idea of the IDE you started to develop too. But, in my opinion, you shouldn’t use your time with that.

I saw that you try supporting users, answering as much as possible to questions, which must be time consuming.

If you are going to use more of your time on IDE development, there will be even less time left to fix HaxeUI bugs and add new features.

IMHO you should not work on the IDE. I believe your time would be better spent if you could focus on HaxeUI (I imagine you are the only developer, or one of a very small group).

It would be sad to see a project as interesting as this getting outdated and/or full of unfixed bugs.

I say that with all the respect you deserve. I have no intention of causing controversy or dictating what is the best thing for you to do. Even if I decide not to use Haxe / HaxeUI, I wouldn’t want to see a project as good as this lose steam.

Regards.

Hi :slight_smile:

Yeah, I honestly dont really have any intention of starting the ide project again - as you point out, its just too time consuming, and moreover, getting it right isnt easy - and there are much better alternatives that already exist. So its kinda wasted effort - defo a fun “toy” but certainly bottom of my “list of priorities”…

Thanks for the kind words! :slight_smile:

Cheers,
Ian

1 Like