// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. /*============================================================================= KeyStructCustomization.h: Declares the FGuidCustomization class. =============================================================================*/ #pragma once /** * Implements a details panel customization for FKey structures. */ class FKeyStructCustomization : public IPropertyTypeCustomization { public: // Begin IPropertyTypeCustomization interface virtual void CustomizeHeader(TSharedRef StructPropertyHandle, class FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils) OVERRIDE; virtual void CustomizeChildren(TSharedRef StructPropertyHandle, class IDetailChildrenBuilder& ChildBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils) OVERRIDE {}; // End IPropertyTypeCustomization interface /** * Creates a new instance. * * @return A new struct customization for Keys. */ static TSharedRef MakeInstance( ); private: TSharedRef OnGenerateComboWidget(TSharedPtr Key); void OnSelectionChanged(TSharedPtr SelectedItem, ESelectInfo::Type SelectInfo); // Holds a handle to the property being edited. TSharedPtr PropertyHandle; TSharedPtr TextBlock; TArray< TSharedPtr > InputKeys; };