anchor.diff:  }
   ----
   
  -Then we call AddSubMenu in MenuTool::MakeMenuEntry, after MenuCommand1 is registered so the submenu comes after that.
  +Then we call *AddSubMenu* in *MenuTool::MakeMenuEntry*, after MenuCommand1 is registered so the submenu comes after that.
   
   .MenuTool.cpp
   [source,cpp]
  
positive.code: I'm not going to go into details for each functions I used here, search them in Unreal engine and you should find plenty of use cases.
  
  First we add needed member and functions, note this time we are going to use custom widget, so we don't need to change command list. For *AddTag* fucntion, because it is going to be used for a button, return type have to be *FReply*.
  
  .MenuTool.cpp
  [source,cpp]
  
negative.code: 
  image::https://github.com/lxjk/lxjk.github.io/raw/master/images/ue4tools/008.png[,218,align="left"]
  
  Let's look at *TabTool* class first, it is inherited from *ExampleTabToolBase* defined above.
  
  We set tab name, display name and tool tips in *Initialize* function, and prepare the panel in *SpawnTab* function. Note here we send the tool object itself as a parameter when creating the panel. This is not necessary, but as an example how you can pass in an object to the widget.
  
  