HaxeUI Features Wanted (IDE, I18n, Tree view, HScript) To Help forGL

Ian,

The more I learn about cross platform UI details (pitfalls), the more appreciation I have for what is HaxeUI and the help you give to us all. THANK YOU.

First some Ideas of forGL that need UI expression:
Eventually forGL will be partitioned into a headless Interpreter
and
GUI or “text mode” UI (like a console style app as it builds now)
Text mode now uses Escape sequences (similar to Curses) to Move/Color text output.

Most Important Features Needed
Full support for I18n Internationalization to support forGL operation in other languages for Users/Programmers not very fluent in English.

IDE style UI (early versions do not need to be very fancy but must be correct)
You had the start of an IDE
https://community.haxeui.org/t/beginnings-of-a-haxe-ide-written-in-haxeui/121
So this IDE was of interest not just to me but also all the other people that commented.

Really Nice To Have Features HaxeUI-core and the GUI target platforms:
Tree view display
This would be likely to be the first important improvement to the IDE but also likely to be generally useful for entire HaxeUI community.

yet another Haxe Interpreter
forGL will also (eventually) support typing in typical Haxe source code and being able to Interpret it. This is in addition to taking the very flexible syntax forGL directly supports now and rearranges syntax parts to be more like Haxe and other typical programming languages that Evaluate expressions on the Right side of an Assignment and put the results in the Left side.
IF the Haxe compiler was able to be embedded inside a Haxe application that would be ideal. But I do not know any feasible way to embed the Haxe compiler within a Haxe app.

So there is HScript as a less than full featured Haxe approach. My current thinking is to embed HScript to offer some Haxe support available inside the forGL interpreter.
You have extended HScript. Your approach was trying out a dynamically generated HaxeUI (if I understand correctly). A dynamically generated GUI would be useful not only in forGL but also to support application(s) written using forGL as a way to quickly prototype the GUI part of the new program made by a forGL User.
https://community.haxe.org/t/hscript-with-classes-aka-hscript-ex/2597

Suggestions for next steps? Thanks!

1 Like

I thought this may be of interest to you as far as a compiler being embeddable.

Embedding HashLink - HaxeFoundation/hashlink Wiki.

HashLink was a possibility BUT …
Important Use Case is ability to run forGL app on a Phone or other low capability device without requiring an active network connection.

forGL User/Programmer edits code and then forGL provides a new working version (not fully implemented now but definitely will happen). The new working version (at least as supported by forGL Interpreter) can all run locally on same device.

HashLink uses a .hl file format that is generated by the Haxe compiler.
So without being able to embed the Haxe compiler generating .hl the best way is not currently available.
Of course one way is to have forGL generate a .hl file that is compatible with HashLink.
For now, I am looking at HScript-ex and other approaches, Thanks for the link.

Howdy :slight_smile:

So i think some of what you are looking for is already doable, other things, not so much.

So firstly, there is a new and revisited (rewritten) haxeui-pdcurses backed - this isnt a test anymore and is now a fully fledged, supported, backend. Heres some tweets about it:

One big thing that is missing from this backend is text input: there is none. I dont think it would be too hard to do, but i just havent had time recently. Ill have a crack at it over the weekend (which i was planning on doing anyway).

HaxeUI already supports internationalization. As if par for the course, docs are a little thin on it at the moment, however, you can get an overview of it in HaxeUI v1.2 released!

The IDE is a still a thing, but i just havent had any real time (at all) to make any updates - i wouldnt be waiting around for that if i were you - a very basic one you could write in no time to be fair, but a complex, comprehensive IDE is a huge undertaking - and a massive time sink.

Treeview Display - ive been working on a treeview display actually (tweet: https://twitter.com/IanHarrigan1982/status/1434459172620447748). The component is actually complete, but the data source isnt - ill need to think about how best to structure it as at the moment you have to populate it all manually.

So as far as forGL itself, its obviously outside of the scope of haxeui and hscript-ex might be a valid approach, but i would warn you that it could be an issue. Things can get a little “wrong” when using hscript in general (its one of the reasons i removed all traces to it in later versions of HaxeUI). Dont get me wrong, hscript is great (and hscript-ex builds on that), but sometimes, it really is just to the wrong tool for the job. I know little to nothing about forGL ofc, so you’ll be in a better place to decide what does and doesnt make sense.

Hopefully that answers some of you questions!

Cheers,
Ian

1 Like

Ian,

Thanks for the update and your efforts!

Twitter posts are good but not quite enough. Posting just a simple reference and link from here to a Tweet you already posted would help everyone when searching the Forum here for specific info. (ref: Treeview Display & pdcurses target)

Treeview Display
I did not find any sample.
The 3 Tweets you referred did not seem to have any source samples.
Also tried a quick scan on the main API page and not finding it.
Looking at either the Components or Playground gave no indication of any Treeview.
Please advise when Treeview (hopefully with a source sample) is available, thanks!

pdcurses
Main page > Getting Started > Composite Backends did not list pdcurses.

I will use pdcurses now and give feedback later, thanks!
I can work around no User entered Text for now by having some controls that have various forGL options (I think mostly Check boxes now). There is a need for User text input however to enable entering/editing arbitrary sequence of words chosen from the in memory forGL Dictionary to run and then saving/running the sequence. Finding words in the Dictionary may be easier when using a Treeview of the Dictionary.

Cheers,
Randy Maxwell

Its not complete yet as i mentioned above.

It doesnt have any documentation yet (like the other backends kinda do). Ill get to it, but its going to take a little time as im being pulled in all directions recently. You can start a blank project by going into an empty directory, opening a command prompt and entering: haxelib run haxeui-core create pdcurses that should give you a skeleton project to play with.

Ill keep you updated about the treeview, but its not a simple component so id like to get it right, and i havent even looked at it on pdcurses yet - no doubt that will also throw some spanners in the works - as im sure you can imagine, haxeui-core working with as a TUI and a GUI is leads to pretty interesting differences.

I posted tweets simply to show that its there and working, they were never meant as a code reference or anything like that.

Cheers,
Ian