本文整理汇总了C++中FMenuBuilder类的典型用法代码示例。如果您正苦于以下问题:C++ FMenuBuilder类的具体用法?C++ FMenuBuilder怎么用?C++ FMenuBuilder使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了FMenuBuilder类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: BuildViewOptionsMenu
static void BuildViewOptionsMenu(FMenuBuilder& Menu)
{
Menu.BeginSection("CascadeViewOverlays", NSLOCTEXT("Cascade", "ViewOptionsHeader", "View Overlays"));
{
Menu.AddMenuEntry(FCascadeCommands::Get().View_ParticleCounts);
Menu.AddMenuEntry(FCascadeCommands::Get().View_ParticleEventCounts);
Menu.AddMenuEntry(FCascadeCommands::Get().View_ParticleTimes);
Menu.AddMenuEntry(FCascadeCommands::Get().View_ParticleMemory);
Menu.AddMenuEntry(FCascadeCommands::Get().View_SystemCompleted);
}
Menu.EndSection();
}
示例2: MakePostInfinityExtrapSubMenu
static void MakePostInfinityExtrapSubMenu(FMenuBuilder& MenuBuilder)
{
MenuBuilder.BeginSection( "Post-Infinity Extrapolation", LOCTEXT( "CurveEditorMenuPostInfinityExtrapHeader", "Extrapolation" ) );
{
MenuBuilder.AddMenuEntry( FRichCurveEditorCommands::Get().SetPostInfinityExtrapCycle);
MenuBuilder.AddMenuEntry( FRichCurveEditorCommands::Get().SetPostInfinityExtrapCycleWithOffset);
MenuBuilder.AddMenuEntry( FRichCurveEditorCommands::Get().SetPostInfinityExtrapOscillate);
MenuBuilder.AddMenuEntry( FRichCurveEditorCommands::Get().SetPostInfinityExtrapLinear);
MenuBuilder.AddMenuEntry( FRichCurveEditorCommands::Get().SetPostInfinityExtrapConstant);
}
MenuBuilder.EndSection();
}
示例3: GetActions
void FAssetTypeActions_Font::GetActions(const TArray<UObject*>& InObjects, FMenuBuilder& MenuBuilder)
{
auto Fonts = GetTypedWeakObjectPtrs<UFont>(InObjects);
MenuBuilder.AddMenuEntry(
LOCTEXT("ReimportFontLabel", "Reimport"),
LOCTEXT("ReimportFontTooltip", "Reimport the selected font(s)."),
FSlateIcon(FEditorStyle::GetStyleSetName(), "ContentBrowser.AssetActions.ReimportAsset"),
FUIAction(
FExecuteAction::CreateSP(this, &FAssetTypeActions_Font::ExecuteReimport, Fonts),
FCanExecuteAction::CreateSP(this, &FAssetTypeActions_Font::CanExecuteReimport, Fonts)
)
);
}
示例4: GetActions
void FAssetTypeActions_PhysicsAsset::GetActions( const TArray<UObject*>& InObjects, FMenuBuilder& MenuBuilder )
{
auto PhysicsAssets = GetTypedWeakObjectPtrs<UPhysicsAsset>(InObjects);
MenuBuilder.AddMenuEntry(
LOCTEXT("PhysicsAsset_Edit", "Edit"),
LOCTEXT("PhysicsAsset_EditTooltip", "Opens the selected physics asset in PhAT."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP( this, &FAssetTypeActions_PhysicsAsset::ExecuteEdit, PhysicsAssets ),
FCanExecuteAction()
)
);
}
示例5: GetActions
void FSpriteAssetTypeActions::GetActions(const TArray<UObject*>& InObjects, FMenuBuilder& MenuBuilder)
{
auto Sprites = GetTypedWeakObjectPtrs<UPaperSprite>(InObjects);
MenuBuilder.AddMenuEntry(
LOCTEXT("Sprite_CreateFlipbook", "Create Flipbook"),
LOCTEXT("Sprite_CreateFlipbookTooltip", "Creates flipbooks from the selected sprites."),
FSlateIcon(FEditorStyle::GetStyleSetName(), "ClassIcon.PaperFlipbook"),
FUIAction(
FExecuteAction::CreateSP(this, &FSpriteAssetTypeActions::ExecuteCreateFlipbook, Sprites),
FCanExecuteAction()
)
);
}
示例6: BuildObjectBindingTrackMenu
void FParticleTrackEditor::BuildObjectBindingTrackMenu(FMenuBuilder& MenuBuilder, const FGuid& ObjectBinding, const UClass* ObjectClass)
{
if (ObjectClass->IsChildOf(AEmitter::StaticClass()) || ObjectClass->IsChildOf(UParticleSystemComponent::StaticClass()))
{
const TSharedPtr<ISequencer> ParentSequencer = GetSequencer();
MenuBuilder.AddMenuEntry(
LOCTEXT("AddParticleTrack", "Particle Toggle Track"),
LOCTEXT("TriggerParticlesTooltip", "Adds a track for controlling particle emitter state."),
FSlateIcon(),
FUIAction(FExecuteAction::CreateSP(this, &FParticleTrackEditor::AddParticleKey, ObjectBinding))
);
}
}
示例7: GetActions
void FPaperSpriteSheetAssetTypeActions::GetActions(const TArray<UObject*>& InObjects, FMenuBuilder& MenuBuilder)
{
auto SpriteSheetImports = GetTypedWeakObjectPtrs<UPaperSpriteSheet>(InObjects);
MenuBuilder.AddMenuEntry(
LOCTEXT("SpriteSheet_CreateFlipbooks", "Create Flipbooks"),
LOCTEXT("SpriteSheet_CreateFlipbooksTooltip", "Creates flipbooks from sprites in this sprite sheet."),
FSlateIcon(FEditorStyle::GetStyleSetName(), "ClassIcon.PaperFlipbook"),
FUIAction(
FExecuteAction::CreateSP(this, &FPaperSpriteSheetAssetTypeActions::ExecuteCreateFlipbooks, SpriteSheetImports),
FCanExecuteAction()
)
);
}
示例8: GetActions
void FAssetTypeActions_SsProject::GetActions(const TArray<UObject*>& InObjects, FMenuBuilder& MenuBuilder)
{
auto SsProjectImports = GetTypedWeakObjectPtrs<USsProject>(InObjects);
MenuBuilder.AddMenuEntry(
LOCTEXT("SsProject_Reimport", "Reimport"),
LOCTEXT("SsProject_ReimportTooltip", "reimport sspj."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP(this, &FAssetTypeActions_SsProject::ExecuteReimport, SsProjectImports),
FCanExecuteAction()
)
);
}
示例9: GetActions
void FAssetTypeActions_MaterialFunction::GetActions( const TArray<UObject*>& InObjects, FMenuBuilder& MenuBuilder )
{
auto Materials = GetTypedWeakObjectPtrs<UMaterialFunction>(InObjects);
MenuBuilder.AddMenuEntry(
LOCTEXT("MaterialFunction_FindMaterials", "Find Materials Using This"),
LOCTEXT("MaterialFunction_FindMaterialsTooltip", "Finds the materials that reference this material function in the content browser."),
FSlateIcon(FEditorStyle::GetStyleSetName(), "Kismet.Tabs.FindResults"),
FUIAction(
FExecuteAction::CreateSP( this, &FAssetTypeActions_MaterialFunction::ExecuteFindMaterials, Materials ),
FCanExecuteAction()
)
);
}
示例10: ModifyContextMenu
void FFrontendFilter_ArbitraryComparisonOperation::ModifyContextMenu(FMenuBuilder& MenuBuilder)
{
FUIAction Action;
MenuBuilder.BeginSection(TEXT("ComparsionSection"), LOCTEXT("ComparisonSectionHeading", "AssetRegistrySearchable Comparison"));
TSharedRef<SWidget> KeyWidget =
SNew(SEditableTextBox)
.Text_Raw(this, &FFrontendFilter_ArbitraryComparisonOperation::GetKeyValueAsText)
.OnTextCommitted_Raw(this, &FFrontendFilter_ArbitraryComparisonOperation::OnKeyValueTextCommitted)
.MinDesiredWidth(100.0f);
TSharedRef<SWidget> ValueWidget = SNew(SEditableTextBox)
.Text_Raw(this, &FFrontendFilter_ArbitraryComparisonOperation::GetTargetValueAsText)
.OnTextCommitted_Raw(this, &FFrontendFilter_ArbitraryComparisonOperation::OnTargetValueTextCommitted)
.MinDesiredWidth(100.0f);
MenuBuilder.AddWidget(KeyWidget, LOCTEXT("KeyMenuDesc", "Tag"));
MenuBuilder.AddWidget(ValueWidget, LOCTEXT("ValueMenuDesc", "Target Value"));
#define UE_SET_COMP_OP(Operation) \
MenuBuilder.AddMenuEntry(FText::AsCultureInvariant(ConvertOperationToString(Operation)), \
LOCTEXT("SwitchOpsTooltip", "Switch comparsion type"), \
FSlateIcon(), \
FUIAction(FExecuteAction::CreateRaw(this, &FFrontendFilter_ArbitraryComparisonOperation::SetComparisonOperation, Operation), FCanExecuteAction(), FIsActionChecked::CreateRaw(this, &FFrontendFilter_ArbitraryComparisonOperation::IsComparisonOperationEqualTo, Operation)), \
NAME_None, \
EUserInterfaceActionType::RadioButton);
UE_SET_COMP_OP(ETextFilterComparisonOperation::Equal);
UE_SET_COMP_OP(ETextFilterComparisonOperation::NotEqual);
UE_SET_COMP_OP(ETextFilterComparisonOperation::Less);
UE_SET_COMP_OP(ETextFilterComparisonOperation::LessOrEqual);
UE_SET_COMP_OP(ETextFilterComparisonOperation::Greater);
UE_SET_COMP_OP(ETextFilterComparisonOperation::GreaterOrEqual);
#undef UE_SET_COMP_OP
MenuBuilder.EndSection();
}
示例11: GetActions
void FAssetTypeActions_DataTable::GetActions( const TArray<UObject*>& InObjects, FMenuBuilder& MenuBuilder )
{
auto Tables = GetTypedWeakObjectPtrs<UObject>(InObjects);
TArray<FString> ImportPaths;
for (auto TableIter = Tables.CreateConstIterator(); TableIter; ++TableIter)
{
const UDataTable* CurTable = Cast<UDataTable>((*TableIter).Get());
if (CurTable)
{
ImportPaths.Add(FReimportManager::ResolveImportFilename(CurTable->ImportPath, CurTable));
}
}
MenuBuilder.AddMenuEntry(
LOCTEXT("DataTable_JSON", "JSON"),
LOCTEXT("DataTable_JSONTooltip", "Creates a JSON version of the data table in the lock."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP( this, &FAssetTypeActions_DataTable::ExecuteJSON, Tables ),
FCanExecuteAction()
)
);
TArray<FString> XLSExtensions;
XLSExtensions.Add(TEXT(".xls"));
XLSExtensions.Add(TEXT(".xlsm"));
MenuBuilder.AddMenuEntry(
LOCTEXT("DataTable_OpenSourceXLS", "Open Source (.xls/.xlsm)"),
LOCTEXT("DataTable_OpenSourceXLSTooltip", "Opens the data table's source XLS/XLSM file in an external editor."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP( this, &FAssetTypeActions_DataTable::ExecuteFindExcelFileInExplorer, ImportPaths, XLSExtensions ),
FCanExecuteAction::CreateSP(this, &FAssetTypeActions_DataTable::CanExecuteFindExcelFileInExplorer, ImportPaths, XLSExtensions)
)
);
}
示例12: GetActions
void FAssetTypeActions_Blueprint::GetActions( const TArray<UObject*>& InObjects, FMenuBuilder& MenuBuilder )
{
auto Blueprints = GetTypedWeakObjectPtrs<UBlueprint>(InObjects);
MenuBuilder.AddMenuEntry(
LOCTEXT("Blueprint_EditAction", "Open in Full Editor"),
LOCTEXT("Blueprint_EditActionTooltip", "Opens the selected blueprints in the either the blueprint editor or in Persona (depending on type)."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP( this, &FAssetTypeActions_Blueprint::ExecuteEdit, Blueprints ),
FCanExecuteAction()
)
);
MenuBuilder.AddMenuEntry(
LOCTEXT("Blueprint_EditDefaults", "Edit Defaults"),
LOCTEXT("Blueprint_EditDefaultsTooltip", "Edits the default properties for the selected blueprints."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP( this, &FAssetTypeActions_Blueprint::ExecuteEditDefaults, Blueprints ),
FCanExecuteAction()
)
);
if ( Blueprints.Num() == 1 && CanCreateNewDerivedBlueprint() )
{
MenuBuilder.AddMenuEntry(
LOCTEXT("Blueprint_NewDerivedBlueprint", "Create Blueprint based on this"),
LOCTEXT("Blueprint_NewDerivedBlueprintTooltip", "Creates a blueprint based on the selected blueprint."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP( this, &FAssetTypeActions_Blueprint::ExecuteNewDerivedBlueprint, Blueprints[0] ),
FCanExecuteAction()
)
);
}
}
示例13: FillPivotContextMenu
void SFbxSSceneBaseMeshListView::FillPivotContextMenu(FMenuBuilder& MenuBuilder)
{
TArray<FbxMeshInfoPtr> SelectedFbxMeshes;
int32 SelectCount = GetSelectedItems(SelectedFbxMeshes);
uint64 InvalidUid = INVALID_UNIQUE_ID;
if (SelectedFbxMeshes.Num() == 1)
{
FbxMeshInfoPtr Item = SelectedFbxMeshes[0];
if (Item->bOriginalTypeChanged)
return;
MenuBuilder.AddMenuEntry(Item->PivotNodeUid == INVALID_UNIQUE_ID ? LOCTEXT("ResetPivotBakeCurrent", "* No Pivot Bake") : LOCTEXT("ResetPivotBake", "No Pivot Bake"), FText(), FSlateIcon(), FUIAction(FExecuteAction::CreateSP(this, &SFbxSSceneBaseMeshListView::AssignToPivot, InvalidUid)));
for (auto Kvp : Item->NodeReferencePivots)
{
//Create an entry for each pivot
const FVector &PivotValue = Kvp.Key;
const TArray<uint64> &NodeUids = Kvp.Value;
bool IsCurrentPivotSelected = false;
for (uint64 NodeUid : NodeUids)
{
if (Item->PivotNodeUid == NodeUid)
{
IsCurrentPivotSelected = true;
break;
}
}
FString MenuText = (IsCurrentPivotSelected ? TEXT("* Pivot: ") : TEXT("Pivot: ")) + PivotValue.ToCompactString();
FString MenuTooltipText = IsCurrentPivotSelected ? LOCTEXT("PivotCurrentMenuItemTooltip", "This is the pivot that will be use to import this mesh. Node Number using this pivot: ").ToString() : LOCTEXT("PivotMenuItemTooltip", "Node Number using this pivot: ").ToString();
MenuTooltipText.AppendInt(NodeUids.Num());
MenuBuilder.AddMenuEntry(FText::FromString(*MenuText), FText::FromString(*MenuTooltipText), FSlateIcon(), FUIAction(FExecuteAction::CreateSP(this, &SFbxSSceneBaseMeshListView::AssignToPivot, NodeUids[0])));
}
}
else
{
MenuBuilder.AddMenuEntry(LOCTEXT("ResetPivotBakeAll", "All No Pivot Bake"), FText(), FSlateIcon(), FUIAction(FExecuteAction::CreateSP(this, &SFbxSSceneBaseMeshListView::AssignToPivot, InvalidUid)));
}
}
示例14: GetActions
void FAssetTypeActions_SoundCue::GetActions( const TArray<UObject*>& InObjects, FMenuBuilder& MenuBuilder )
{
auto SoundCues = GetTypedWeakObjectPtrs<USoundCue>(InObjects);
FAssetTypeActions_SoundBase::GetActions(InObjects, MenuBuilder);
MenuBuilder.AddMenuEntry(
LOCTEXT("SoundCue_ConsolidateAttenuation", "Consolidate Attenuation"),
LOCTEXT("SoundCue_ConsolidateAttenuationTooltip", "Creates shared attenuation packages for sound cues with identical override attenuation settings."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP( this, &FAssetTypeActions_SoundCue::ExecuteConsolidateAttenuation, SoundCues ),
FCanExecuteAction::CreateSP( this, &FAssetTypeActions_SoundCue::CanExecuteConsolidateCommand, SoundCues )
)
);
}
示例15: AddReferenceMenuOptions
bool FAssetContextMenu::AddReferenceMenuOptions(FMenuBuilder& MenuBuilder)
{
MenuBuilder.BeginSection("AssetContextReferences", LOCTEXT("ReferencesMenuHeading", "References"));
{
MenuBuilder.AddMenuEntry(
LOCTEXT("CopyReference", "Copy Reference"),
LOCTEXT("CopyReferenceTooltip", "Copies reference paths for the selected assets to the clipboard."),
FSlateIcon(),
FUIAction( FExecuteAction::CreateSP( this, &FAssetContextMenu::ExecuteCopyReference ) )
);
MenuBuilder.AddMenuEntry(
LOCTEXT("ReferenceViewer", "Reference Viewer..."),
LOCTEXT("ReferenceViewerTooltip", "Shows a graph of references for this asset."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP( this, &FAssetContextMenu::ExecuteShowReferenceViewer )
)
);
}
MenuBuilder.EndSection();
return true;
}