Finally returned to editor development. Editor UI will be written by Lua scripts. I started my UI from simple and usable source of Recast library, For example, button usage:

if ( imguiButton("Start game") )
	LoadLevel("super-duper mega Quake level.mdl")

this is button creation, displaying and logic in one place. After years on Windows it was amazing! I mapped API into Lua script language by luabind library, and now UI script code looks like here:

if object_selected
	rollout( "Object", 0, 0, width, height )
	show_object_properties()
if  collapse("physics", true, true)
	show_physics_properties()
if  collapse("visual", true, true)
	show_visual_properties()
if  collapse("script", true, true)
	show_object_script()
end_rollout()