
/cdn.vox-cdn.com/uploads/chorus_image/image/69873084/TBL_101_Sc57_SM_0108.0.jpg)
Style(FEditorStyle::Get(), "RadioButton") OptionsCategory.AddCustomRow(FText::FromString("Options")) IDetailCategoryBuilder& OptionsCategory = DetailLayout.EditCategory("Options", FText::FromString(""), ECategoryPriority::Important) add custom widget to "Options" category skip customization if select more than one objectsĪExampleActor* actor = (AExampleActor*)Objects.Get() ĭetailLayout.HideProperty(DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(AExampleActor, bOption1))) ĭetailLayout.HideProperty(DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(AExampleActor, bOption2))) Void FExampleActorDetails::CustomizeDetails(IDetailLayoutBuilder& DetailLayout)ĭetailLayout.GetObjectsBeingCustomized(Objects) Return MakeShareable(new FExampleActorDetails) TSharedRef FExampleActorDetails::MakeInstance() #include "DetailsCustomization/ExampleActor.h" Virtual void MakeMenuEntry(FMenuBuilder &menuBuilder)įGlobalTabmanager::Get()->PopulateTabSpawnerMenu(menuBuilder, TabName) Virtual TSharedRef SpawnTab(const FSpawnTabArgs& TabSpawnArgs) In this function set TabName/TabDisplayName/ToolTipText SetGroup(FToolExampleEditor::Get().GetMenuRoot())įGlobalTabmanager::Get()->UnregisterNomadTabSpawner(TabName)

#include "ToolExampleEditor/IExampleModuleInterface.h"Ĭlass FExampleTabToolBase : public IExampleModuleListenerInterface, public TSharedFromThisįGlobalTabmanager::Get()->RegisterNomadTabSpawner(TabName, FOnSpawnTab::CreateRaw(this, &FExampleTabToolBase::SpawnTab)) UE_LOG(LogClass, Log, TEXT("clicked MenuCommand1")) MenuBuilder.AddMenuEntry(MenuToolCommands::Get().MenuCommand1) Void MenuTool::MakeMenuEntry(FMenuBuilder &menuBuilder) UI_COMMAND(MenuCommand1, "Menu Command 1", "Test Menu Command 1.", EUserInterfaceActionType::Button, FInputGesture()) Ĭonst auto& Commands = MenuToolCommands::Get() įExecuteAction::CreateSP(this, &MenuTool::MenuCommand1),ĬommandList = MakeShareable(new FUICommandList) įToolExampleEditor::Get().AddMenuExtension(įMenuExtensionDelegate::CreateRaw(this, &MenuTool::MakeMenuEntry), TEXT("MenuTool"), // Context name for fast lookupįText::FromString("Example Menu tool"), // Context name for displayingįEditorStyle::GetStyleSetName() // Icon Style Set #include "ToolExampleEditor/ToolExampleEditor.h"Ĭlass MenuToolCommands : public TCommands MenuBuilder.AddMenuSeparator(FName("Section_2")) MenuBuilder.BeginSection("ExampleSection", FText::FromString("Section 2")) MenuBuilder.AddMenuSeparator(FName("Section_1")) MenuBuilder.BeginSection("ExampleSection", FText::FromString("Section 1")) Void FToolExampleEditor::FillPulldownMenu(FMenuBuilder &menuBuilder) Void FToolExampleEditor::MakePulldownMenu(FMenuBarBuilder &menuBuilder)įText::FromString("Open the Example menu"),įNewMenuDelegate::CreateRaw(this, &FToolExampleEditor::FillPulldownMenu), MenuExtender->AddMenuExtension(extensionHook, position, CommandList, extensionDelegate) Void FToolExampleEditor::AddMenuExtension(const FMenuExtensionDelegate &extensionDelegate, FName extensionHook, const TSharedPtr &CommandList, EExtensionHook::Position position) TSharedRef FToolExampleEditor::MenuRoot = FWorkspaceItem::NewGroup(FText::FromString("Menu Root"))
