Rather, my code editor open.
Is there something else I need to do?
How would I go about creating custom panels, buttons, etc. to use in my UI?
Are there any really ‘eyecandy’ UI libraries out there, which I can use in my projects?
Hello. I think you’re looking at either an incorrect screenshot or you mistook Edit Script with Edit Canvas. You’re suppose to see and use Edit Canvas to edit your Armory Zui Canvas.
After looking at the blend, you’re actually using a Haxe script, not a UI Canvas. So you can’t see it because it’s not a Canvas, but rather a Script. My mistake. I originally assumed you were using a Canvas because you mentioned the Armory 2D Editor.
Both Zui and imgui (and in fact also Blender’s UI library) are so-called “immediate mode” UI libraries, which basically means that the user’s UI code is directly drawing the UI and the UI is in some way reconstructed each frame. So both frameworks are pretty similar, even though Zui is less powerful and also not as stable as imgui.
Are you referring to Zui or Koui here? Zui has a few customization options, but apart from colors and fonts there is not much you can change unfortunately. Koui can do a lot more (rounded corners, gradients, smooth shadows, 9-slicing, etc.) all defined in a CSS-like language, but it’s not an immediate mode UI and you need to write Haxe scripts to use it or use the quite incomplete logic nodes for it. There is no 2D editor for it like Zui has one.
I think this library should work if you’re exporting to the html5 target, but on Hashlink/C targets (basically all the other Armory targets) it will not work since it only supports html5 and C++. However, Armory targets html5 and C, which in the Haxe world is unfortunately quite an incompatibility. There are these other imgui bindings specifically for Hashlink/C, but unfortunately they only work with the Heaps framework which doesn’t work with Armory (Armory is using Kha instead of Heaps). So I think if you want to have support for all Armory targets, you will need to write your own bindings unfortunately, or at least replace this file with Kha-specific code (there may be more work required, I don’t know).
build_playground is created automatically when you run or build your work.
“Subprojects” and “Libraries” are folders that you must create yourself and place the KOUI files in them.
In one KOUI itself, in the second there are logical nodes for them.
@kaiwas I am trying the example here, but getting errors.
…SceneMainUI.hx:6: characters 8-17 : Type not found : koui.Koui
…SceneMainUI.hx:8: characters 8-30 : Type not found : koui.events.MouseEvent
…SceneMainUI.hx:22: characters 4-8 : Type not found : Koui
Auto-completion worked fine, so I don’t understand why these errors occurred.
Does it have anything to do with the khafile.js which I placed in the Subprojects directory?
This is the Koui’s khafile.
I was getting an error of it missing.
The errors occurred because of something I had done in the earlier stages. I started fresh, and no problem finding koui.
I do get errors in code though, so @timodriaan should be able to fix these.
…Subprojects\koui\Sources/koui/elements/layouts/ScrollPane.hx:65: characters 105-106 : Too many arguments
…Subprojects\koui\Sources/koui/Koui.hx:71: characters 107-115 : Too many arguments
…Subprojects\koui\Sources/koui/Koui.hx:261: characters 84-85 : Too many arguments
Removed last parameter, and the errors are gone.
I don’t know anything about it.
From here, the last parameter is a Boolean.
Maybe it changed, or haxe is different. I don’t know. I’m now using haxe for the first time. Me Clueless.
…but I’ll learn.