First of all learn about slate, is a UI framework made for editor, it actully same thing that powers UMG too, you will see the same widgets, UMG is just a blueprint front end for it and Slate is actully nicer to use in C++ then UMG:
Then check plugin wizard, there is menu and toobar button example template which can be good starting point, also watch this:
Specially about extenders, they let you place widgets anywhere to existing widow without recodeing them
Making editor is more complex, i recomand you too look up engine source code and see how other editors are work, you can look up Paper2D plugin source which has few editors that are less complex
Also note i talk here about plugins, but you can place that code anywhere and it will work, UE4 modules work the same everywhere plugins and game projects is just diffrent way of distributing them. But if you do something that suppose to work in multiple objects i recomand you to do plugin.