Implement actor transformations as done in UE editor

Hello,
I wish to implement transformations on static mesh in the same way it is done in UE editor. That means when I select an actor in game mode, its local axis should appear and I can switch between translation, rotation and scaling by pressing keys (W,E,R). Then I need to perform the transformations axis wise by using mouse click. It should be exactly same as we do in the editor.
I am able to do the translation along all planes freestyle but I want each translation to be restricted axis-wise when mouse hovers on that axis. I wish to display the axis of actors and the pivot point.

I am able to perform rotation ( turn and look up) which uses the delta X and delta Y of mouse movement. I do not know how to perform rotation in the third direction (as there is no delta Z for mouse).

Any help is appreciated!