Advertisement
Guest User

KOD

a guest
Apr 28th, 2014
3,131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 327.02 KB | None | 0 0
  1. // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
  2.  
  3. /*=============================================================================
  4.     EditorStyle.cpp: Implements the FSlateEditorStyle class.
  5. =============================================================================*/
  6.  
  7. #include "EditorStylePrivatePCH.h"
  8.  
  9.  
  10. #define IMAGE_BRUSH( RelativePath, ... ) FSlateImageBrush( RootToContentDir( RelativePath, TEXT(".png") ), __VA_ARGS__ )
  11. #define BOX_BRUSH( RelativePath, ... ) FSlateBoxBrush( RootToContentDir( RelativePath, TEXT(".png") ), __VA_ARGS__ )
  12. #define BORDER_BRUSH( RelativePath, ... ) FSlateBorderBrush( RootToContentDir( RelativePath, TEXT(".png") ), __VA_ARGS__ )
  13. #define TTF_FONT( RelativePath, ... ) FSlateFontInfo( RootToContentDir( RelativePath, TEXT(".ttf") ), __VA_ARGS__ )
  14. #define TTF_CORE_FONT( RelativePath, ... ) FSlateFontInfo( RootToCoreContentDir( RelativePath, TEXT(".ttf") ), __VA_ARGS__ )
  15. #define OTF_FONT( RelativePath, ... ) FSlateFontInfo( RootToContentDir( RelativePath, TEXT(".otf") ), __VA_ARGS__ )
  16. #define OTF_CORE_FONT( RelativePath, ... ) FSlateFontInfo( RootToCoreContentDir( RelativePath, TEXT(".otf") ), __VA_ARGS__ )
  17.  
  18.  
  19. /* FSlateEditorStyle static initialization
  20.  *****************************************************************************/
  21.  
  22. TSharedPtr< FSlateEditorStyle::FStyle > FSlateEditorStyle::StyleInstance = NULL;
  23. TWeakObjectPtr< UEditorStyleSettings > FSlateEditorStyle::Settings = NULL;
  24.  
  25.  
  26. /* FSlateEditorStyle interface
  27.  *****************************************************************************/
  28.  
  29. FSlateEditorStyle::FStyle::FStyle( const TWeakObjectPtr< UEditorStyleSettings >& InSettings )
  30.     : FSlateStyleSet("EditorStyle")
  31.  
  32.     // Note, these sizes are in Slate Units.
  33.     // Slate Units do NOT have to map to pixels.
  34.     , Icon5x16(5.0f, 16.0f)
  35.     , Icon8x4(8.0f, 4.0f)
  36.     , Icon8x8(8.0f, 8.0f)
  37.     , Icon10x10(10.0f, 10.0f)
  38.     , Icon12x12(12.0f, 12.0f)
  39.     , Icon12x16(12.0f, 16.0f)
  40.     , Icon14x14(14.0f, 14.0f)
  41.     , Icon16x16(16.0f, 16.0f)
  42.     , Icon16x20(16.0f, 20.0f)
  43.     , Icon20x20(20.0f, 20.0f)
  44.     , Icon22x22(22.0f, 22.0f)
  45.     , Icon24x24(24.0f, 24.0f)
  46.     , Icon25x25(25.0f, 25.0f)
  47.     , Icon32x32(32.0f, 32.0f)
  48.     , Icon40x40(40.0f, 40.0f)
  49.     , Icon48x48(48.0f, 48.0f)
  50.     , Icon64x64(64.0f, 64.0f)
  51.     , Icon36x24(36.0f, 24.0f)
  52.     , Icon128x128(128.0f, 128.0f)
  53.  
  54.     // These are the colors that are updated by the user style customizations
  55.     , DefaultForeground_LinearRef( MakeShareable( new FLinearColor( 0.72f, 0.72f, 0.72f, 1.f ) ) )
  56.     , InvertedForeground_LinearRef( MakeShareable( new FLinearColor( 0, 0, 0 ) ) )
  57.     , SelectorColor_LinearRef( MakeShareable( new FLinearColor( 0.701f, 0.225f, 0.003f ) ) )
  58.     , SelectionColor_LinearRef( MakeShareable( new FLinearColor( 0.728f, 0.364f, 0.003f ) ) )
  59.     , SelectionColor_Inactive_LinearRef( MakeShareable( new FLinearColor( 0.25f, 0.25f, 0.25f ) ) )
  60.     , SelectionColor_Pressed_LinearRef( MakeShareable( new FLinearColor( 0.701f, 0.225f, 0.003f ) ) )
  61.  
  62.     // These are the Slate colors which reference those above; these are the colors to put into the style
  63.     , DefaultForeground( DefaultForeground_LinearRef )
  64.     , InvertedForeground( InvertedForeground_LinearRef )
  65.     , SelectorColor( SelectorColor_LinearRef )
  66.     , SelectionColor( SelectionColor_LinearRef )
  67.     , SelectionColor_Inactive( SelectionColor_Inactive_LinearRef )
  68.     , SelectionColor_Pressed( SelectionColor_Pressed_LinearRef )
  69.  
  70.     , Settings( InSettings )
  71. {
  72.  
  73. }
  74.  
  75. void SetColor( const TSharedRef< FLinearColor >& Source, const FLinearColor& Value )
  76. {
  77.     Source->R = Value.R;
  78.     Source->G = Value.G;
  79.     Source->B = Value.B;
  80.     Source->A = Value.A;
  81. }
  82.  
  83. void FSlateEditorStyle::FStyle::SettingsChanged( UObject* ChangedObject )
  84. {
  85.     if ( ChangedObject == Settings.Get() )
  86.     {
  87.         SyncSettings();
  88.     }
  89. }
  90.  
  91. void FSlateEditorStyle::FStyle::SyncSettings()
  92. {
  93.     if ( Settings.IsValid() )
  94.     {
  95.         // Sync the colors used by FEditorStyle
  96.         SetColor( SelectorColor_LinearRef, Settings->KeyboardFocusColor );
  97.         SetColor( SelectionColor_LinearRef, Settings->SelectionColor );
  98.         SetColor( SelectionColor_Inactive_LinearRef, Settings->InactiveSelectionColor );
  99.         SetColor( SelectionColor_Pressed_LinearRef, Settings->PressedSelectionColor );
  100.  
  101.         // Also sync the colors used by FCoreStyle, as FEditorStyle isn't yet being used as an override everywhere
  102.         FCoreStyle::SetSelectorColor( Settings->KeyboardFocusColor );
  103.         FCoreStyle::SetSelectionColor( Settings->SelectionColor );
  104.         FCoreStyle::SetInactiveSelectionColor( Settings->InactiveSelectionColor );
  105.         FCoreStyle::SetPressedSelectionColor( Settings->PressedSelectionColor );
  106.     }
  107. }
  108.  
  109. void FSlateEditorStyle::FStyle::Initialize()
  110. {
  111.     SyncSettings();
  112.  
  113.     SetContentRoot( FPaths::EngineContentDir() / TEXT("Editor/Slate") );
  114.     SetCoreContentRoot(FPaths::EngineContentDir() / TEXT("Slate"));
  115.  
  116.     SetupGeneralStyles();
  117.     SetupWindowStyles();
  118.     SetupDockingStyles();
  119.     SetupTutorialStyles();
  120.     SetupPropertyEditorStyles();
  121.     SetupProfilerStyle();
  122.     SetupGraphEditorStyles();
  123.     SetupLevelEditorStyle();
  124.     SetupPersonaStyle();
  125.     SetupClassIconsAndThumbnails();
  126.     SetupContentBrowserStyle();
  127.     SetupLandscapeEditorStyle();
  128.     SetupToolkitStyles();
  129.     SetupMatineeStyle();
  130.     SetupSourceControlStyles();
  131.     SetupAutomationStyles();
  132.  
  133. //  LogUnusedBrushResources();
  134. }
  135.  
  136. void FSlateEditorStyle::FStyle::SetupGeneralStyles()
  137. {
  138.     // Define some 'normal' styles, upon which other variations can be based
  139.     const FSlateFontInfo NormalFont = TTF_CORE_FONT("Fonts/Roboto-Regular", 9 );
  140.  
  141.     NormalText = FTextBlockStyle()
  142.         .SetFont( TTF_CORE_FONT("Fonts/Roboto-Regular", 10 ))
  143.             .SetColorAndOpacity(FSlateColor::UseForeground())
  144.             .SetShadowOffset(FVector2D::ZeroVector)
  145.             .SetShadowColorAndOpacity(FLinearColor::Black)
  146.             .SetHighlightColor( FLinearColor( 0.02f, 0.3f, 0.0f ) )
  147.             .SetHighlightShape( BOX_BRUSH( "Common/TextBlockHighlightShape", FMargin(3.f/8.f) ) );
  148.  
  149.     NormalTableRowStyle = FTableRowStyle()
  150.         .SetEvenRowBackgroundBrush( FSlateNoResource() )
  151.         .SetEvenRowBackgroundHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, FLinearColor(1.0f, 1.0f, 1.0f, 0.1f) ) )
  152.         .SetOddRowBackgroundBrush( FSlateNoResource() )
  153.         .SetOddRowBackgroundHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, FLinearColor(1.0f, 1.0f, 1.0f, 0.1f) ) )
  154.         .SetSelectorFocusedBrush( BORDER_BRUSH( "Common/Selector", FMargin(4.f/16.f), SelectorColor ) )
  155.         .SetActiveBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) )
  156.         .SetActiveHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) )
  157.         .SetInactiveBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor_Inactive ) )
  158.         .SetInactiveHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor_Inactive ) )
  159.         .SetTextColor( DefaultForeground )
  160.         .SetSelectedTextColor( InvertedForeground );
  161.  
  162.     // Normal Text
  163.     {
  164.         Set( "RichTextBlock.TextHighlight", FTextBlockStyle(NormalText)
  165.             .SetColorAndOpacity( FLinearColor( 1.0f, 1.0f, 1.0f ) ) );
  166.  
  167.         Set( "TextBlock.HighlightShape",  new BOX_BRUSH( "Common/TextBlockHighlightShape", FMargin(3.f/8.f) ));
  168.         Set( "TextBlock.HighlighColor", FLinearColor( 0.02f, 0.3f, 0.0f ) );
  169.  
  170.         Set("NormalText", NormalText);
  171.     }
  172.  
  173.     // Rendering resources that never change
  174.     {
  175.         Set( "SplineFilterTable", new IMAGE_BRUSH( "SplineFilterTable", FVector2D(32,1), FLinearColor::White, ESlateBrushTileType::Both, ESlateBrushImageType::Linear ) );
  176.         Set( "None", new FSlateNoResource() );
  177.     }
  178.  
  179.     Set( "Checkerboard", new IMAGE_BRUSH( "Checkerboard", Icon16x16, FLinearColor::White, ESlateBrushTileType::Both) );
  180.  
  181.     Set( "BlackBrush", new FSlateColorBrush(FLinearColor::Black) );
  182.     Set( "WhiteBrush", new FSlateColorBrush(FLinearColor::White) );
  183.  
  184.     Set( "PlainBorder", new BORDER_BRUSH( "Common/PlainBorder", 2.f/8.f) );
  185.  
  186.     // Debug Colors
  187.     Set( "MultiboxHookColor", FLinearColor(0.f, 1.f, 0.f, 1.f) );
  188.  
  189.     // Important colors
  190.     {
  191.         Set( "DefaultForeground", DefaultForeground );
  192.         Set( "InvertedForeground", InvertedForeground );
  193.  
  194.         Set( "SelectorColor", SelectorColor );
  195.         Set( "SelectionColor", SelectionColor );
  196.         Set( "SelectionColor_Inactive", SelectionColor_Inactive );
  197.         Set( "SelectionColor_Pressed", SelectionColor_Pressed );
  198.     }
  199.  
  200.     // Invisible buttons, borders, etc.
  201.     Set( "NoBrush", new FSlateNoResource() );
  202.     Set( "NoBorder", new FSlateNoResource() );
  203.     Set( "NoBorder.Normal", new FSlateNoResource() );
  204.     Set( "NoBorder.Hovered", new FSlateNoResource() );
  205.     Set( "NoBorder.Pressed", new FSlateNoResource() );
  206.  
  207.     const FButtonStyle NoBorder = FButtonStyle()
  208.         .SetNormal(FSlateNoResource())
  209.         .SetHovered(FSlateNoResource())
  210.         .SetPressed(FSlateNoResource())
  211. #if PLATFORM_MAC // Disable the shifting behaviour for borderless buttons on Mac OS X - which include the Window close, maximise & minimise.
  212.         .SetNormalPadding(FMargin(0,0,0,0))
  213.         .SetPressedPadding(FMargin(0,0,0,0));
  214. #else
  215.         .SetNormalPadding(FMargin(0,0,0,1))
  216.         .SetPressedPadding(FMargin(0,1,0,0));
  217. #endif
  218.     Set( "NoBorder", NoBorder );
  219.  
  220.     // Buttons that only provide a hover hint.
  221.     HoverHintOnly = FButtonStyle()
  222.             .SetNormal( FSlateNoResource() )
  223.             .SetHovered( BOX_BRUSH( "Common/ButtonHoverHint", FMargin(4/16.0f), FLinearColor(1,1,1,0.15f) ) )
  224.             .SetPressed( BOX_BRUSH( "Common/ButtonHoverHint", FMargin(4/16.0f), FLinearColor(1,1,1,0.25f) ) )
  225.             .SetNormalPadding( FMargin(0,0,0,1) )
  226.             .SetPressedPadding( FMargin(0,1,0,0) );
  227.     Set( "HoverHintOnly", HoverHintOnly );
  228.  
  229.     // Common glyphs
  230.     {
  231.         Set( "Symbols.SearchGlass", new IMAGE_BRUSH( "Common/SearchGlass", Icon16x16 ) );
  232.         Set( "Symbols.X", new IMAGE_BRUSH( "Common/X", Icon16x16 ) );
  233.         Set( "Symbols.VerticalPipe", new BOX_BRUSH( "Common/VerticalPipe", FMargin(0) ) );
  234.         Set( "Symbols.UpArrow", new IMAGE_BRUSH( "Common/UpArrow", Icon8x8 ) );
  235.         Set( "Symbols.DoubleUpArrow", new IMAGE_BRUSH( "Common/UpArrow2", Icon8x8 ) );
  236.         Set( "Symbols.DownArrow", new IMAGE_BRUSH( "Common/DownArrow", Icon8x8 ) );
  237.         Set( "Symbols.DoubleDownArrow", new IMAGE_BRUSH( "Common/DownArrow2", Icon8x8 ) );
  238.         Set( "Symbols.Check", new IMAGE_BRUSH( "Common/Check", Icon16x16 ) );
  239.     }
  240.  
  241.     // Common icons
  242.     {
  243.         Set( "Icons.Cross", new IMAGE_BRUSH( "Icons/Cross_12x", Icon12x12 ) );
  244.         Set( "Icons.Denied", new IMAGE_BRUSH( "Icons/Denied_16x", Icon16x16 ) );
  245.         Set( "Icons.Error", new IMAGE_BRUSH( "Icons/icon_error_16x", Icon16x16) );
  246.         Set( "Icons.Help", new IMAGE_BRUSH( "Icons/icon_help_16x", Icon16x16) );
  247.         Set( "Icons.Info", new IMAGE_BRUSH( "Icons/icon_info_16x", Icon16x16) );
  248.         Set( "Icons.Warning", new IMAGE_BRUSH( "Icons/icon_warning_16x", Icon16x16) );
  249.         Set( "Icons.Download", new IMAGE_BRUSH( "Icons/icon_Downloads_16x", Icon16x16) );
  250.     }
  251.  
  252.     Set( "WarningStripe", new IMAGE_BRUSH( "Common/WarningStripe", FVector2D(20,6), FLinearColor::White, ESlateBrushTileType::Horizontal ) );
  253.  
  254.     // Normal button
  255.     Button = FButtonStyle()
  256.         .SetNormal( BOX_BRUSH( "Common/Button", FVector2D(32,32), 8.0f/32.0f ) )
  257.         .SetHovered( BOX_BRUSH( "Common/Button_Hovered", FVector2D(32,32), 8.0f/32.0f ) )
  258.         .SetPressed( BOX_BRUSH( "Common/Button_Pressed", FVector2D(32,32), 8.0f/32.0f ) )
  259.         .SetDisabled( BOX_BRUSH( "Common/Button_Disabled", 8.0f/32.0f ) )
  260.         .SetNormalPadding( FMargin( 2,2,2,2 ) )
  261.         .SetPressedPadding( FMargin( 2,3,2,1 ) );
  262.     Set( "Button", Button );
  263.     Set( "Button.Disabled", new BOX_BRUSH( "Common/Button_Disabled", 8.0f/32.0f ) );
  264.    
  265.  
  266.     // Toggle button
  267.     {
  268.         Set( "ToggleButton", FButtonStyle(Button)
  269.             .SetNormal(FSlateNoResource())
  270.             .SetHovered(BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor ))
  271.             .SetPressed(BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ))
  272.         );
  273.  
  274.         /* Create a checkbox style for "ToggleButton" ... */
  275.         const FCheckBoxStyle ToggleButtonStyle = FCheckBoxStyle()
  276.             .SetCheckBoxType(ESlateCheckBoxType::ToggleButton)
  277.             .SetUncheckedImage( FSlateNoResource() )
  278.             .SetUncheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ) )
  279.             .SetUncheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor ) )
  280.             .SetCheckedImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) )
  281.             .SetCheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) )
  282.             .SetUncheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor ) );
  283.         /* ... and set new style */
  284.         Set( "ToggleButtonCheckbox", ToggleButtonStyle );
  285.  
  286.         /* Create a checkbox style for "ToggleButton" but with the images used by a normal checkbox (see "Checkbox" below) ... */
  287.         const FCheckBoxStyle CheckboxLookingToggleButtonStyle = FCheckBoxStyle()
  288.             .SetCheckBoxType(ESlateCheckBoxType::ToggleButton)
  289.             .SetUncheckedImage( IMAGE_BRUSH( "Common/Checkbox", Icon16x16 ) )
  290.             .SetUncheckedHoveredImage( IMAGE_BRUSH( "Common/Checkbox", Icon16x16 ) )
  291.             .SetUncheckedPressedImage( IMAGE_BRUSH( "Common/Checkbox_Hovered", Icon16x16, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  292.             .SetCheckedImage( IMAGE_BRUSH( "Common/Checkbox_Checked_Hovered", Icon16x16 ) )
  293.             .SetCheckedHoveredImage( IMAGE_BRUSH( "Common/Checkbox_Checked_Hovered", Icon16x16, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  294.             .SetCheckedPressedImage( IMAGE_BRUSH( "Common/Checkbox_Checked", Icon16x16 ) )
  295.             .SetUndeterminedImage( IMAGE_BRUSH( "Common/Checkbox_Undetermined", Icon16x16 ) )
  296.             .SetUndeterminedHoveredImage( IMAGE_BRUSH( "Common/Checkbox_Undetermined_Hovered", Icon16x16 ) )
  297.             .SetUndeterminedPressedImage( IMAGE_BRUSH( "Common/Checkbox_Undetermined_Hovered", Icon16x16, FLinearColor( 0.5f, 0.5f, 0.5f ) ) );
  298.         /* ... and set new style */
  299.         Set( "CheckboxLookToggleButtonCheckbox", CheckboxLookingToggleButtonStyle );
  300.  
  301.  
  302.         Set( "ToggleButton.LabelFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) );
  303.         Set( "ToggleButtonCheckbox.LabelFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) );
  304.     }
  305.  
  306.     // Combo Button, Combo Box
  307.     {
  308.         // Legacy style; still being used by some editor widgets
  309.         Set( "ComboButton.Arrow", new IMAGE_BRUSH("Common/ComboArrow", Icon8x8 ) );
  310.  
  311.         FComboButtonStyle ComboButton = FComboButtonStyle()
  312.             .SetButtonStyle(GetWidgetStyle<FButtonStyle>("Button"))
  313.             .SetContentScale(FVector2D(1,1))
  314.             .SetContentPadding(FMargin(5))
  315.             .SetHasDownArrow(true)
  316.             .SetDownArrowImage(IMAGE_BRUSH("Common/ComboArrow", Icon8x8))
  317.             .SetHAlign(HAlign_Fill)
  318.             .SetVAlign(VAlign_Fill)
  319.             .SetForegroundColor(InvertedForeground)
  320.             .SetButtonColorAndOpacity(FLinearColor::White)
  321.             .SetMenuBorderBrush(BOX_BRUSH("Old/Menu_Background", FMargin(8.0f/64.0f)))
  322.             .SetMenuBorderPadding(FMargin(0.0f))
  323.             .SetMenuPlacement(MenuPlacement_ComboBox);
  324.         Set( "ComboButton", ComboButton );
  325.  
  326.         FComboButtonStyle ToolbarComboButton = FComboButtonStyle()
  327.             .SetButtonStyle( GetWidgetStyle<FButtonStyle>( "ToggleButton" ) )
  328.             .SetContentScale( FVector2D( 1, 1 ) )
  329.             .SetContentPadding( FMargin( 5 ) )
  330.             .SetHasDownArrow( true )
  331.             .SetDownArrowImage( IMAGE_BRUSH( "Common/ShadowComboArrow", Icon8x8 ) )
  332.             .SetHAlign( HAlign_Fill )
  333.             .SetVAlign( VAlign_Fill )
  334.             .SetForegroundColor( FLinearColor::White )
  335.             .SetButtonColorAndOpacity( FLinearColor::White )
  336.             .SetMenuBorderBrush( BOX_BRUSH( "Old/Menu_Background", FMargin( 8.0f / 64.0f ) ) )
  337.             .SetMenuBorderPadding( FMargin( 0.0f ) )
  338.             .SetMenuPlacement( MenuPlacement_ComboBox );
  339.         Set( "ToolbarComboButton", ToolbarComboButton );
  340.  
  341.         ComboButton.SetContentPadding(FMargin(4.0, 2.0));
  342.         ComboButton.SetMenuBorderPadding(FMargin(1.0));
  343.         ComboButton.SetForegroundColor(InvertedForeground);
  344.  
  345.         FComboBoxStyle ComboBox = FComboBoxStyle()
  346.             .SetComboButtonStyle(ComboButton);
  347.         Set( "ComboBox", ComboBox );
  348.     }
  349.  
  350.     // CheckBox
  351.     {
  352.         /* Set images for various SCheckBox states ... */
  353.         const FCheckBoxStyle BasicCheckBoxStyle = FCheckBoxStyle()
  354.             .SetCheckBoxType(ESlateCheckBoxType::CheckBox)
  355.             .SetUncheckedImage( IMAGE_BRUSH( "Common/Checkbox", Icon16x16 ) )
  356.             .SetUncheckedHoveredImage( IMAGE_BRUSH( "Common/Checkbox", Icon16x16 ) )
  357.             .SetUncheckedPressedImage( IMAGE_BRUSH( "Common/Checkbox_Hovered", Icon16x16, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  358.             .SetCheckedImage( IMAGE_BRUSH( "Common/Checkbox_Checked_Hovered", Icon16x16 ) )
  359.             .SetCheckedHoveredImage( IMAGE_BRUSH( "Common/Checkbox_Checked_Hovered", Icon16x16, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  360.             .SetCheckedPressedImage( IMAGE_BRUSH( "Common/Checkbox_Checked", Icon16x16 ) )
  361.             .SetUndeterminedImage( IMAGE_BRUSH( "Common/Checkbox_Undetermined", Icon16x16 ) )
  362.             .SetUndeterminedHoveredImage( IMAGE_BRUSH( "Common/Checkbox_Undetermined_Hovered", Icon16x16 ) )
  363.             .SetUndeterminedPressedImage( IMAGE_BRUSH( "Common/Checkbox_Undetermined_Hovered", Icon16x16, FLinearColor( 0.5f, 0.5f, 0.5f ) ) );
  364.  
  365.         /* ... and add the new style */
  366.         Set( "Checkbox", BasicCheckBoxStyle );
  367.  
  368.         /* Set images for various transparent SCheckBox states ... */
  369.         const FCheckBoxStyle BasicTransparentCheckBoxStyle = FCheckBoxStyle()
  370.             .SetCheckBoxType(ESlateCheckBoxType::ToggleButton)
  371.             .SetUncheckedImage( FSlateNoResource() )
  372.             .SetUncheckedHoveredImage( FSlateNoResource() )
  373.             .SetUncheckedPressedImage( FSlateNoResource() )
  374.             .SetCheckedImage( FSlateNoResource() )
  375.             .SetCheckedHoveredImage( FSlateNoResource() )
  376.             .SetCheckedPressedImage( FSlateNoResource() )
  377.             .SetUndeterminedImage( FSlateNoResource() )
  378.             .SetUndeterminedHoveredImage( FSlateNoResource() )
  379.             .SetUndeterminedPressedImage( FSlateNoResource() );
  380.         /* ... and add the new style */
  381.         Set( "TransparentCheckBox", BasicTransparentCheckBoxStyle );
  382.     }
  383.  
  384.     // Help button
  385.     Set( "HelpButton", FButtonStyle(Button)
  386.         .SetNormal( FSlateNoResource() )
  387.         .SetHovered(FSlateNoResource() )
  388.         .SetPressed(FSlateNoResource() )
  389.     );
  390.  
  391.     Set( "HelpIcon", new IMAGE_BRUSH( "Common/icon_Help_Default_16x", Icon16x16 ) );
  392.     Set( "HelpIcon.Hovered", new IMAGE_BRUSH( "Common/icon_Help_Hover_16x", Icon16x16 ) );
  393.     Set( "HelpIcon.Pressed", new IMAGE_BRUSH( "Common/icon_Help_Pressed_16x", Icon16x16 ) );
  394.  
  395.     {
  396.         /* A radio button is actually just a SCheckBox box with different images */
  397.         /* Set images for various radio button (SCheckBox) states ... */
  398.         const FCheckBoxStyle BasicRadioButtonStyle = FCheckBoxStyle()
  399.             .SetUncheckedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16 ) )
  400.             .SetUncheckedHoveredImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16 ) )
  401.             .SetUncheckedPressedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16 ) )
  402.             .SetCheckedImage( IMAGE_BRUSH( "Common/RadioButton_Selected_16x", Icon16x16 ) )
  403.             .SetCheckedHoveredImage( IMAGE_BRUSH( "Common/RadioButton_Selected_16x", Icon16x16, SelectionColor ) )
  404.             .SetCheckedPressedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16, SelectionColor_Pressed ) )
  405.             .SetUndeterminedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16 ) )
  406.             .SetUndeterminedHoveredImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16, SelectionColor ) )
  407.             .SetUndeterminedPressedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16, SelectionColor_Pressed ) );
  408.  
  409.         /* ... and add the new style */
  410.         Set( "RadioButton", BasicRadioButtonStyle );
  411.     }
  412.  
  413.     // Error Reporting
  414.     {
  415.         Set( "ErrorReporting.Box",  new BOX_BRUSH( "Common/TextBlockHighlightShape", FMargin(3.f/8.f) ));
  416.         Set( "ErrorReporting.EmptyBox",  new BOX_BRUSH( "Common/TextBlockHighlightShape_Empty", FMargin(3.f/8.f) ));
  417.         Set( "ErrorReporting.BackgroundColor", FLinearColor(0.35f,0,0) );
  418.         Set( "ErrorReporting.WarningBackgroundColor", FLinearColor(0.828f, 0.364f, 0.003f) );
  419.         Set( "InfoReporting.BackgroundColor", FLinearColor(0.828f, 0.364f, 0.003f) );
  420.         Set( "ErrorReporting.ForegroundColor", FLinearColor::White );
  421.        
  422.     }
  423.  
  424.     // EditableTextBox
  425.     {
  426.         Set( "EditableTextBox.Background.Normal", new BOX_BRUSH( "Common/TextBox", FMargin(4.0f/16.0f) ) );
  427.         Set( "EditableTextBox.Background.Hovered", new BOX_BRUSH( "Common/TextBox_Hovered", FMargin(4.0f/16.0f) ) );
  428.         Set( "EditableTextBox.Background.Focused", new BOX_BRUSH( "Common/TextBox_Hovered", FMargin(4.0f/16.0f) ) );
  429.         Set( "EditableTextBox.Background.ReadOnly", new BOX_BRUSH( "Common/TextBox_ReadOnly", FMargin(4.0f/16.0f) ) );
  430.         Set( "EditableTextBox.BorderPadding", FMargin(4.0f, 2.0f) );
  431.     }
  432.  
  433.     // EditableTextBox Special
  434.     {
  435.         FSlateBrush* SpecialEditableTextImageNormal = new BOX_BRUSH( "Common/TextBox_Special", FMargin(8.0f/32.0f) );
  436.         Set( "SpecialEditableTextImageNormal", SpecialEditableTextImageNormal );
  437.  
  438.         const FEditableTextBoxStyle SpecialEditableTextBoxStyle = FEditableTextBoxStyle()
  439.             .SetBackgroundImageNormal( *SpecialEditableTextImageNormal )
  440.             .SetBackgroundImageHovered( BOX_BRUSH( "Common/TextBox_Special_Hovered", FMargin(8.0f/32.0f) ) )
  441.             .SetBackgroundImageFocused( BOX_BRUSH( "Common/TextBox_Special_Hovered", FMargin(8.0f/32.0f) ) )
  442.             .SetBackgroundImageReadOnly( BOX_BRUSH( "Common/TextBox_ReadOnly", FMargin(4.0f/16.0f) ) );
  443.         Set( "SpecialEditableTextBox", SpecialEditableTextBoxStyle );
  444.  
  445.         Set( "SearchBox.ActiveBorder", new BOX_BRUSH( "Common/TextBox_Special_Active", FMargin(8.0f/32.0f) ) );
  446.     }
  447.    
  448.     // ProgressBar
  449.     {
  450.         Set( "ProgressBar", FProgressBarStyle()
  451.             .SetBackgroundImage( BOX_BRUSH( "Common/ProgressBar_Background", FMargin(5.f/12.f) ) )
  452.             .SetFillImage( BOX_BRUSH( "Common/ProgressBar_Fill", FMargin(5.f/12.f) ) )
  453.             .SetMarqueeImage( IMAGE_BRUSH( "Common/ProgressBar_Marquee", FVector2D(20,12), FLinearColor::White, ESlateBrushTileType::Horizontal ) )
  454.             );
  455.  
  456.         // Legacy ProgressBar styles; kept here because other FEditorStyle controls (mis)use them
  457.         // todo: jdale - Widgets using these styles should be updated to use SlateStyle types once FEditorStyle has been obliterated from the Slate core
  458.         Set( "ProgressBar.Background", new BOX_BRUSH( "Common/ProgressBar_Background", FMargin(5.f/12.f) ) );
  459.         Set( "ProgressBar.Marquee", new IMAGE_BRUSH( "Common/ProgressBar_Marquee", FVector2D(20,12), FLinearColor::White, ESlateBrushTileType::Horizontal ) );
  460.         Set( "ProgressBar.BorderPadding", FVector2D(1,0) );
  461.     }
  462.  
  463.     // WorkingBar
  464.     {
  465.         Set( "WorkingBar", FProgressBarStyle()
  466.             .SetBackgroundImage( FSlateNoResource() )
  467.             .SetFillImage( BOX_BRUSH( "Common/ProgressBar_Fill", FMargin(5.f/12.f) ) )
  468.             .SetMarqueeImage( IMAGE_BRUSH( "Common/WorkingBar_Marquee", FVector2D(20,2), FLinearColor::White, ESlateBrushTileType::Horizontal ) )
  469.             );
  470.     }
  471.  
  472.     // TaskGraph
  473.     {
  474.         Set( "TaskGraph.Background", new BOX_BRUSH( "Common/ProgressBar_Background", FMargin(5.f/12.f) ) );
  475.         Set( "TaskGraph.Normal", new BOX_BRUSH( "Common/TaskGraph_Normal", FMargin(5.f/12.f) ) );
  476.         Set( "TaskGraph.Selected", new BOX_BRUSH( "Common/TaskGraph_Selected", FMargin(5.f/12.f) ) );
  477.         Set( "TaskGraph.Mono", new BOX_BRUSH( "Common/TaskGraph_Mono", FMargin(5.f/12.f) ) );
  478.         Set( "TaskGraph.BorderPadding", FVector2D(1,0) );
  479.         Set( "TaskGraph.SortUp", new IMAGE_BRUSH( "Common/SortUpArrow", Icon8x4 ) );
  480.         Set( "TaskGraph.SortDown", new IMAGE_BRUSH( "Common/SortDownArrow", Icon8x4 ) );
  481.         Set( "TaskGraph.Home", new IMAGE_BRUSH( "Icons/Home16x16", Icon16x16 ) );
  482.         Set( "TaskGraph.ToParent", new IMAGE_BRUSH( "Icons/ToParent", Icon16x16 ) );
  483.     }
  484.  
  485.     // Tool panels
  486.     {
  487.         Set( "ToolPanel.GroupBorder", new BOX_BRUSH( "Common/GroupBorder", FMargin(4.0f/16.0f) ) );
  488.         Set( "ToolPanel.DarkGroupBorder", new BOX_BRUSH( "Common/DarkGroupBorder", FMargin( 4.0f / 16.0f ) ) );
  489.     }
  490.  
  491.     // Inline Editable Text Block
  492.     {
  493.         FTextBlockStyle InlineEditableTextBlockReadOnly = FTextBlockStyle(NormalText)
  494.             .SetColorAndOpacity( FSlateColor::UseForeground() )
  495.             .SetShadowOffset( FVector2D::ZeroVector )
  496.             .SetShadowColorAndOpacity( FLinearColor::Black );
  497.  
  498.         FEditableTextBoxStyle InlineEditableTextBlockEditable = FEditableTextBoxStyle()
  499.             .SetFont(NormalText.Font)
  500.             .SetBackgroundImageNormal( BOX_BRUSH( "Common/TextBox", FMargin(4.0f/16.0f) ) )
  501.             .SetBackgroundImageHovered( BOX_BRUSH( "Common/TextBox_Hovered", FMargin(4.0f/16.0f) ) )
  502.             .SetBackgroundImageFocused( BOX_BRUSH( "Common/TextBox_Hovered", FMargin(4.0f/16.0f) ) )
  503.             .SetBackgroundImageReadOnly( BOX_BRUSH( "Common/TextBox_ReadOnly", FMargin(4.0f/16.0f) ) );
  504.  
  505.         FInlineEditableTextBlockStyle InlineEditableTextBlockStyle = FInlineEditableTextBlockStyle()
  506.             .SetTextStyle(InlineEditableTextBlockReadOnly)
  507.             .SetEditableTextBoxStyle(InlineEditableTextBlockEditable);
  508.         Set( "InlineEditableTextBlockStyle", InlineEditableTextBlockStyle );
  509.     }
  510.  
  511.     // Images sizes are specified in Slate Screen Units. These do not necessarily correspond to pixels!
  512.     // An IMAGE_BRUSH( "SomeImage", FVector2D(32,32)) will have a desired size of 16x16 Slate Screen Units.
  513.     // This allows the original resource to be scaled up or down as needed.
  514.  
  515.     Set( "WhiteTexture", new IMAGE_BRUSH( "Old/White", Icon16x16 ) );
  516.  
  517.     Set( "NormalFont", NormalFont );
  518.     Set( "BoldFont", TTF_CORE_FONT( "Fonts/Roboto-Bold", 9 ) );
  519.  
  520.     Set( "Debug.Border", new BOX_BRUSH( "Old/DebugBorder", 4.0f/16.0f) );
  521.  
  522.     Set( "Editor.AppIcon", new IMAGE_BRUSH( "Icons/EditorAppIcon", Icon24x24) );
  523.  
  524.     Set( "FocusRectangle", new BORDER_BRUSH( "Old/DashedBorder", FMargin(6.0f/32.0f) ) );
  525.  
  526.     Set( "MarqueeSelection", new BORDER_BRUSH( "Old/DashedBorder", FMargin(6.0f/32.0f) ) );
  527.  
  528.     Set( "GenericLock", new IMAGE_BRUSH( "Icons/padlock_locked_16x", Icon16x16 ) );
  529.     Set( "GenericUnlock", new IMAGE_BRUSH( "Icons/padlock_unlocked_16x", Icon16x16 ) );
  530.  
  531.     Set( "SoftwareCursor_Grab", new IMAGE_BRUSH( "Icons/cursor_grab", Icon16x16 ) );
  532.     Set( "SoftwareCursor_CardinalCross", new IMAGE_BRUSH( "Icons/cursor_cardinal_cross", Icon24x24 ) );
  533.     Set( "SoftwareCursor_UpDown", new IMAGE_BRUSH( "Icons/cursor_updown", Icon16x20 ) );
  534.    
  535.     Set( "Border", new BOX_BRUSH( "Old/Border", 4.0f/16.0f ) );
  536.  
  537.     Set( "NoteBorder", new BOX_BRUSH( "Old/NoteBorder", FMargin(15.0f/40.0f, 15.0f/40.0f) ) );
  538.    
  539.     Set( "FilledBorder", new BOX_BRUSH( "Old/FilledBorder", 4.0f/16.0f ) );
  540.  
  541.     Set( "GenericViewButton", new IMAGE_BRUSH( "Icons/view_button", Icon20x20 ) );
  542.  
  543. #if WITH_EDITOR || IS_PROGRAM
  544.     {
  545.         // Dark Hyperlink - for use on light backgrounds
  546.         FButtonStyle DarkHyperlinkButton = FButtonStyle()
  547.             .SetNormal ( BORDER_BRUSH( "Old/HyperlinkDotted", FMargin(0,0,0,3/16.0f), FLinearColor::Black ) )
  548.             .SetPressed( FSlateNoResource() )
  549.             .SetHovered( BORDER_BRUSH( "Old/HyperlinkUnderline", FMargin(0,0,0,3/16.0f), FLinearColor::Black ) );
  550.         FHyperlinkStyle DarkHyperlink = FHyperlinkStyle()
  551.             .SetUnderlineStyle(DarkHyperlinkButton)
  552.             .SetTextStyle(NormalText)
  553.             .SetPadding(FMargin(0.0f));
  554.         Set("DarkHyperlink", DarkHyperlink);
  555.  
  556.         // Visible on hover hyper link
  557.         FButtonStyle HoverOnlyHyperlinkButton = FButtonStyle()
  558.             .SetNormal (FSlateNoResource() )
  559.             .SetPressed(FSlateNoResource() )
  560.             .SetHovered(BORDER_BRUSH( "Old/HyperlinkUnderline", FMargin(0,0,0,3/16.0f) ) );
  561.         FHyperlinkStyle HoverOnlyHyperlink = FHyperlinkStyle()
  562.             .SetUnderlineStyle(HoverOnlyHyperlinkButton)
  563.             .SetTextStyle(NormalText)
  564.             .SetPadding(FMargin(0.0f));
  565.         Set("HoverOnlyHyperlink", HoverOnlyHyperlink);
  566.     }
  567. #endif // WITH_EDITOR || IS_PROGRAM
  568.  
  569.     // Scrollbar
  570.     {
  571.         Set( "Scrollbar", FScrollBarStyle()
  572.             .SetVerticalBackgroundImage( IMAGE_BRUSH( "Common/Scrollbar_Background_Vertical", FVector2D(8,8) ) )
  573.             .SetHorizontalBackgroundImage( IMAGE_BRUSH( "Common/Scrollbar_Background_Horizontal", FVector2D(8,8) ) )
  574.             .SetNormalThumbImage( BOX_BRUSH( "Common/Scrollbar_Thumb", FMargin(4.f/16.f) ) )
  575.             .SetDraggedThumbImage( BOX_BRUSH( "Common/Scrollbar_Thumb", FMargin(4.f/16.f) ) )
  576.             .SetHoveredThumbImage( BOX_BRUSH( "Common/Scrollbar_Thumb", FMargin(4.f/16.f) ) )
  577.             );
  578.     }
  579.  
  580.  
  581.     // Expandable button
  582.     {
  583.         Set( "ExpandableButton.Background", new BOX_BRUSH( "Common/Button", 8.0f/32.0f ) );
  584.         // Extra padding on the right and bottom to account for image shadow
  585.         Set( "ExpandableButton.Padding", FMargin(3.f, 3.f, 6.f, 6.f) );
  586.  
  587.         Set( "ExpandableButton.Collapsed", new IMAGE_BRUSH( "Old/ExpansionButton_Collapsed", Icon32x32) );
  588.         Set( "ExpandableButton.Expanded_Left", new IMAGE_BRUSH( "Old/ExpansionButton_ExpandedLeft", Icon32x32) );
  589.         Set( "ExpandableButton.Expanded_Center", new IMAGE_BRUSH( "Old/ExpansionButton_ExpandedMiddle", Icon32x32) );
  590.         Set( "ExpandableButton.Expanded_Right", new IMAGE_BRUSH( "Old/ExpansionButton_ExpandedRight", Icon32x32) );
  591.  
  592.         Set( "ExpandableButton.CloseButton", new IMAGE_BRUSH( "Old/ExpansionButton_CloseOverlay", Icon16x16) );
  593.     }
  594.  
  595.     // Content reference
  596. #if WITH_EDITOR || IS_PROGRAM
  597.     {
  598.         Set( "ContentReference.Background.Normal", new BOX_BRUSH( "Common/TextBox", FMargin(4.0f/16.0f) ) );
  599.         Set( "ContentReference.Background.Hovered", new BOX_BRUSH( "Common/TextBox_Hovered", FMargin(4.0f/16.0f) ) );
  600.         Set( "ContentReference.BorderPadding", FMargin(4.0f, 2.0f) );
  601.         Set( "ContentReference.FindInContentBrowser", new IMAGE_BRUSH( "Icons/lens_12x", Icon12x12 ) );
  602.         Set( "ContentReference.UseSelectionFromContentBrowser", new IMAGE_BRUSH( "Icons/assign_12x", Icon12x12 ) );
  603.         Set( "ContentReference.PickAsset", new IMAGE_BRUSH( "Icons/pillarray_16x", Icon12x12 ) );
  604.         Set( "ContentReference.Clear", new IMAGE_BRUSH( "Icons/cross_12x", Icon12x12 ) );
  605.         Set( "ContentReference.Tools", new IMAGE_BRUSH( "Icons/wrench_16x", Icon12x12 ) );
  606.     }
  607. #endif // WITH_EDITOR
  608.  
  609. #if WITH_EDITOR || IS_PROGRAM
  610.  
  611.     {
  612.         Set( "SystemWideCommands.FindInContentBrowser", new IMAGE_BRUSH( "Icons/icon_toolbar_genericfinder_40px", Icon40x40 ) );
  613.         Set( "SystemWideCommands.FindInContentBrowser.Small", new IMAGE_BRUSH( "Icons/icon_toolbar_genericfinder_40px", Icon20x20 ) );
  614.     }
  615.  
  616.     // PList Editor
  617.     {
  618.         Set( "PListEditor.HeaderRow.Background",                new BOX_BRUSH( "Common/TableViewHeader", 4.f/32.f ) );
  619.  
  620.         Set( "PListEditor.FilteredColor",                       new FSlateColorBrush( FColor( 0, 255, 0, 80 ) ) );
  621.         Set( "PListEditor.NoOverlayColor",                      new FSlateNoResource() );
  622.  
  623.         Set( "PListEditor.Button_AddToArray",                   new IMAGE_BRUSH( "Icons/PlusSymbol_12x", Icon12x12 ) );
  624.     }
  625.    
  626.     // Material List
  627.     {
  628.         Set( "MaterialList.DragDropBorder", new BOX_BRUSH( "Old/Window/ViewportDebugBorder", 0.8f ) );
  629.         Set( "MaterialList.HyperlinkStyle", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) ) );
  630.         Set( "MaterialList.HyperlinkStyle.ShadowOffset", FVector2D::ZeroVector );
  631.     }
  632.  
  633.     // Dialogue Wave Details
  634.     {
  635.         Set( "DialogueWaveDetails.SpeakerToTarget", new IMAGE_BRUSH( "PropertyView/SpeakerToTarget", FVector2D(30.0f, 30.0f) ) );
  636.         Set( "DialogueWaveDetails.HeaderBorder", new BOX_BRUSH( "Common/MenuBarBorder", FMargin(4.0f/16.0f) ) );
  637.         Set( "DialogueWaveDetails.PropertyEditorMenu", new BOX_BRUSH( "Old/Menu_Background", FMargin(8.0f/64.0f) ) );
  638.     }
  639.  
  640.     // Dialogue Wave Parameter Border
  641.     {
  642.         Set( "DialogueWaveParameter.DropDownBorder", new BOX_BRUSH( "Old/Border", 4.0f/16.0f, FLinearColor::Black) );
  643.     }
  644.  
  645. #endif // WITH_EDITOR || IS_PROGRAM
  646.  
  647.     Set( "DashedBorder", new BORDER_BRUSH( "Old/DashedBorder", FMargin(6.0f/32.0f) ) );
  648.     Set( "Checker", new IMAGE_BRUSH( "Old/Checker", Icon16x16, FLinearColor::White, ESlateBrushTileType::Both ) );
  649.     Set( "UniformShadow", new BORDER_BRUSH( "Common/UniformShadow", FMargin( 16.0f / 64.0f ) ) );
  650.  
  651.     // Splitter
  652. #if WITH_EDITOR || IS_PROGRAM
  653.     {
  654.         Set( "Splitter", FSplitterStyle()
  655.             .SetHandleNormalBrush( FSlateNoResource() )
  656.             .SetHandleHighlightBrush( IMAGE_BRUSH( "Common/SplitterHandleHighlight", Icon8x8, FLinearColor::White ) )
  657.             );
  658.     }
  659. #endif // WITH_EDITOR || IS_PROGRAM
  660.  
  661.     // Scroll Box
  662.     {
  663.         Set( "ScrollBox", FScrollBoxStyle()
  664.             .SetTopShadowBrush( IMAGE_BRUSH( "Common/ScrollBoxShadowTop", FVector2D(64,8) ) )
  665.             .SetBottomShadowBrush( IMAGE_BRUSH( "Common/ScrollBoxShadowBottom", FVector2D(64,8) ) )
  666.             );
  667.     }
  668.  
  669.     // Lists, Trees
  670.     {
  671.         Set( "TableView.Row", FTableRowStyle( NormalTableRowStyle) );
  672.         Set( "TreeArrow_Collapsed", new IMAGE_BRUSH( "Common/TreeArrow_Collapsed", Icon10x10, DefaultForeground ) );
  673.         Set( "TreeArrow_Collapsed_Hovered", new IMAGE_BRUSH( "Common/TreeArrow_Collapsed_Hovered", Icon10x10, DefaultForeground ) );
  674.         Set( "TreeArrow_Expanded", new IMAGE_BRUSH( "Common/TreeArrow_Expanded", Icon10x10, DefaultForeground ) );
  675.         Set( "TreeArrow_Expanded_Hovered", new IMAGE_BRUSH( "Common/TreeArrow_Expanded_Hovered", Icon10x10, DefaultForeground ) );
  676.  
  677.         const FTableColumnHeaderStyle TableColumnHeaderStyle = FTableColumnHeaderStyle()
  678.             .SetSortAscendingImage( IMAGE_BRUSH( "Common/SortUpArrow", Icon8x4 ) )
  679.             .SetSortDescendingImage( IMAGE_BRUSH( "Common/SortDownArrow", Icon8x4 ) )
  680.             .SetNormalBrush( BOX_BRUSH( "Common/ColumnHeader", 4.f/32.f ) )
  681.             .SetHoveredBrush( BOX_BRUSH( "Common/ColumnHeader_Hovered", 4.f/32.f ) )
  682.             .SetMenuDropdownImage( IMAGE_BRUSH( "Common/ComboArrow", Icon8x8 ) )
  683.             .SetMenuDropdownNormalBorderBrush( BOX_BRUSH( "Common/ColumnHeaderMenuButton_Normal", 4.f/32.f ) )
  684.             .SetMenuDropdownHoveredBorderBrush( BOX_BRUSH( "Common/ColumnHeaderMenuButton_Hovered", 4.f/32.f ) );
  685.         Set( "TableView.Header.Column", TableColumnHeaderStyle );
  686.  
  687.         const FTableColumnHeaderStyle TableLastColumnHeaderStyle = FTableColumnHeaderStyle()
  688.             .SetSortAscendingImage( IMAGE_BRUSH( "Common/SortUpArrow", Icon8x4 ) )
  689.             .SetSortDescendingImage( IMAGE_BRUSH( "Common/SortDownArrow", Icon8x4 ) )
  690.             .SetNormalBrush( FSlateNoResource() )
  691.             .SetHoveredBrush( BOX_BRUSH( "Common/LastColumnHeader_Hovered", 4.f/32.f ) )
  692.             .SetMenuDropdownImage( IMAGE_BRUSH( "Common/ComboArrow", Icon8x8 ) )
  693.             .SetMenuDropdownNormalBorderBrush( BOX_BRUSH( "Common/ColumnHeaderMenuButton_Normal", 4.f/32.f ) )
  694.             .SetMenuDropdownHoveredBorderBrush( BOX_BRUSH( "Common/ColumnHeaderMenuButton_Hovered", 4.f/32.f ) );
  695.  
  696.         const FSplitterStyle TableHeaderSplitterStyle = FSplitterStyle()
  697.             .SetHandleNormalBrush( FSlateNoResource() )
  698.             .SetHandleHighlightBrush( IMAGE_BRUSH( "Common/HeaderSplitterGrip", Icon8x8 ) );
  699.  
  700.         Set( "TableView.Header", FHeaderRowStyle()
  701.             .SetColumnStyle( TableColumnHeaderStyle )
  702.             .SetLastColumnStyle( TableLastColumnHeaderStyle )
  703.             .SetColumnSplitterStyle( TableHeaderSplitterStyle )
  704.             .SetBackgroundBrush( BOX_BRUSH( "Common/TableViewHeader", 4.f/32.f ) )
  705.             .SetForegroundColor( DefaultForeground )
  706.             );
  707.     }
  708.    
  709.     // Spinboxes
  710.     {
  711.         Set( "SpinBox", FSpinBoxStyle()
  712.             .SetBackgroundBrush( BOX_BRUSH( "Common/Spinbox", FMargin(4.0f/16.0f) ) )
  713.             .SetHoveredBackgroundBrush( BOX_BRUSH( "Common/Spinbox_Hovered", FMargin(4.0f/16.0f) ) )
  714.             .SetActiveFillBrush( BOX_BRUSH( "Common/Spinbox_Hovered", FMargin(4.0f/16.0f) ) )
  715.             .SetInactiveFillBrush( BOX_BRUSH( "Common/Spinbox_Fill", FMargin(4.0f/16.0f, 4.0f/16.0f, 8.0f/16.0f, 4.0f/16.0f) ) )
  716.             .SetArrowsImage( IMAGE_BRUSH( "Common/SpinArrows", Icon12x12 ) )
  717.             .SetForegroundColor( InvertedForeground )
  718.             );
  719.  
  720.         // Legacy styles; used by other editor widgets
  721.         Set( "SpinBox.Background", new BOX_BRUSH( "Common/Spinbox", FMargin(4.0f/16.0f) ) );
  722.         Set( "SpinBox.Background.Hovered", new BOX_BRUSH( "Common/Spinbox_Hovered", FMargin(4.0f/16.0f) ) );
  723.         Set( "SpinBox.Fill", new BOX_BRUSH( "Common/Spinbox_Fill", FMargin(4.0f/16.0f, 4.0f/16.0f, 8.0f/16.0f, 4.0f/16.0f) ) );
  724.         Set( "SpinBox.Fill.Hovered", new BOX_BRUSH( "Common/Spinbox_Fill_Hovered", FMargin(4.0f/16.0f) ) );
  725.         Set( "SpinBox.Arrows", new IMAGE_BRUSH( "Common/SpinArrows", Icon12x12 ) );
  726.         Set( "SpinBox.TextMargin", FMargin(1.0f,2.0f) );
  727.     }
  728.  
  729.     // Numeric entry boxes
  730.     {
  731.         Set( "NumericEntrySpinBox", FSpinBoxStyle()
  732.             .SetBackgroundBrush( FSlateNoResource() )
  733.             .SetHoveredBackgroundBrush( FSlateNoResource() )
  734.             .SetActiveFillBrush( BOX_BRUSH( "Common/Spinbox_Fill_Hovered", FMargin(4.0f/16.0f) ) )
  735.             .SetInactiveFillBrush( BOX_BRUSH( "Common/Spinbox_Fill", FMargin(4.0f/16.0f, 4.0f/16.0f, 8.0f/16.0f, 4.0f/16.0f) ) )
  736.             .SetArrowsImage( IMAGE_BRUSH( "Common/SpinArrows", Icon12x12 ) )
  737.             .SetTextPadding( FMargin(0.0f) )
  738.             .SetForegroundColor( InvertedForeground )
  739.             );
  740.     }
  741.  
  742.     Set( "ToolTip.Background", new BOX_BRUSH( "Old/ToolTip_Background", FMargin(8.0f/64.0f) ) );
  743.  
  744.     // Throbber
  745.     {
  746.         Set( "Throbber.Chunk", new IMAGE_BRUSH( "Old/Throbber/Throbber_Piece", FVector2D(16,16) ) );
  747.         Set( "Throbber.CircleChunk", new IMAGE_BRUSH( "Old/Throbber/Throbber_Piece", FVector2D(8,8) ) );
  748.         Set( "SmallThrobber.Chunk", new IMAGE_BRUSH( "Common/ThrobberPiece_Small", FVector2D(8,16) ) );
  749.     }
  750.  
  751.     {
  752.         Set( "CurveEd.TimelineArea", new IMAGE_BRUSH( "Old/White", Icon16x16, FLinearColor(1,1,1,0.25f) ) );
  753.         Set( "CurveEd.FitHorizontal", new IMAGE_BRUSH( "Icons/FitHorz_16x", Icon16x16 ) );
  754.         Set( "CurveEd.FitVertical", new IMAGE_BRUSH( "Icons/FitVert_16x", Icon16x16 ) );
  755.         Set( "CurveEd.CurveKey", new IMAGE_BRUSH( "Icons/CurveKey_8x", Icon8x8 ) );
  756.         Set( "CurveEd.CurveKeySelected", new IMAGE_BRUSH( "Icons/CurveKey_8x", Icon8x8, SelectionColor ) );
  757.         Set( "CurveEd.InfoFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  758.         Set( "CurveEd.Tangent", new IMAGE_BRUSH( "Icons/Tangente_8x", Icon8x8 ) );
  759.     }
  760.    
  761.     // Scrub control buttons
  762.     {
  763.         Set( "Animation.Pause", new IMAGE_BRUSH( "/Animation/Pause", Icon24x24 ) );
  764.         Set( "Animation.Forward", new IMAGE_BRUSH( "/Animation/Forward", Icon24x24 ) );
  765.         Set( "Animation.Forward_Step", new IMAGE_BRUSH( "/Animation/Forward_Step", Icon16x16 ) );
  766.         Set( "Animation.Forward_End", new IMAGE_BRUSH( "/Animation/Forward_End", Icon16x16 ) );
  767.         Set( "Animation.Backward", new IMAGE_BRUSH( "/Animation/Backward", Icon24x24 ) );
  768.         Set( "Animation.Backward_Step", new IMAGE_BRUSH( "/Animation/Backward_Step", Icon16x16 ) );
  769.         Set( "Animation.Backward_End", new IMAGE_BRUSH( "/Animation/Backward_End", Icon16x16 ) );
  770.         Set( "Animation.Loop", new IMAGE_BRUSH( "/Animation/Loop", Icon24x24 ) );
  771.         Set( "Animation.Record", new IMAGE_BRUSH( "/Animation/Record", Icon24x24 ) );
  772.     }
  773.  
  774.     // Message Log
  775.     {
  776.         Set( "MessageLog", FTextBlockStyle(NormalText)
  777.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) )
  778.             .SetShadowOffset( FVector2D::ZeroVector )
  779.         );
  780.         Set( "MessageLog.Error", new IMAGE_BRUSH( "Old/Kismet2/Log_Error", Icon16x16 ) );
  781.         Set( "MessageLog.Warning", new IMAGE_BRUSH( "Old/Kismet2/Log_Warning", Icon16x16 ) );
  782.         Set( "MessageLog.Note", new IMAGE_BRUSH( "Old/Kismet2/Log_Note", Icon16x16 ) );
  783.  
  784.         Set( "MessageLog.TabIcon", new IMAGE_BRUSH( "Icons/icon_tab_MessageLog_16x", Icon16x16 ) );
  785.     }
  786.  
  787. #if WITH_EDITOR || IS_PROGRAM
  788.  
  789.     // Animation tools
  790.     {
  791.         Set( "AnimEditor.RefreshButton", new IMAGE_BRUSH( "Old/AnimEditor/RefreshButton", Icon16x16 ) );
  792.         Set( "AnimEditor.VisibleEye", new IMAGE_BRUSH( "Old/AnimEditor/RefreshButton", Icon16x16 ) );
  793.         Set( "AnimEditor.InvisibleEye", new IMAGE_BRUSH( "Old/AnimEditor/RefreshButton", Icon16x16 ) );
  794.         Set( "AnimEditor.FilterSearch", new IMAGE_BRUSH( "Old/FilterSearch", Icon16x16 ) );
  795.         Set( "AnimEditor.FilterCancel", new IMAGE_BRUSH( "Old/FilterCancel", Icon16x16 ) );
  796.  
  797.         Set( "AnimEditor.NotifyGraphBackground", new IMAGE_BRUSH( "Old/AnimEditor/NotifyTrackBackground", FVector2D(64, 64), FLinearColor::White, ESlateBrushTileType::Both) );
  798.  
  799.         Set( "BlendSpace.SamplePoint", new IMAGE_BRUSH( "Old/AnimEditor/BlendSpace_Sample", Icon16x16 ) );
  800.         Set( "BlendSpace.SamplePoint_Highlight", new IMAGE_BRUSH( "Old/AnimEditor/BlendSpace_Sample_Highlight", Icon16x16 ) );
  801.         Set( "BlendSpace.SamplePoint_Invalid", new IMAGE_BRUSH( "Old/AnimEditor/BlendSpace_Sample_Invalid", Icon16x16 ) );
  802.  
  803.         Set( "AnimEditor.EditPreviewParameters", new IMAGE_BRUSH( "Icons/icon_adjust_parameters_40x", Icon40x40) );    
  804.         Set( "AnimEditor.EditPreviewParameters.Small", new IMAGE_BRUSH( "Icons/icon_adjust_parameters_40x", Icon20x20) );      
  805.     }
  806.  
  807.  
  808.     // Gamma reference.
  809.     Set("GammaReference",new IMAGE_BRUSH( "Old/GammaReference",FVector2D(256,128)));
  810.    
  811.     Set("TrashCan", new IMAGE_BRUSH( "Old/TrashCan", FVector2D(64, 64)));
  812.     Set("TrashCan_Small", new IMAGE_BRUSH( "Old/TrashCan_Small", FVector2D(18, 18)));
  813. #endif // WITH_EDITOR || IS_PROGRAM
  814.  
  815.     // Embossed Widget Text
  816.     Set( "EmbossedText", FTextBlockStyle(NormalText)
  817.         .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 24 ) )
  818.         .SetColorAndOpacity( FLinearColor::Black )
  819.         .SetShadowOffset( FVector2D( 0,1 ) )
  820.         .SetShadowColorAndOpacity(FLinearColor(0.8f,0.8f,0.8f, 0.5) )
  821.     );
  822.  
  823.  
  824.     // Output Log Window
  825. #if WITH_EDITOR || IS_PROGRAM
  826.     {
  827.         Set("LogTableRow.Normal", FTableRowStyle(NormalTableRowStyle)
  828.             .SetTextColor( FLinearColor(FColor(0xffaaaaaa)) )
  829.             .SetSelectedTextColor( FLinearColor(FColor(0xff333333)) ) );
  830.  
  831.         Set("LogTableRow.Command", FTableRowStyle(NormalTableRowStyle)
  832.             .SetTextColor( FLinearColor(FColor(0xff33ff33)) )
  833.             .SetSelectedTextColor( FLinearColor(FColor(0xff055505)) ) );
  834.  
  835.         Set("LogTableRow.Warning", FTableRowStyle(NormalTableRowStyle)
  836.             .SetTextColor( FLinearColor(FColor(0xffbbbb44)) )
  837.             .SetSelectedTextColor( FLinearColor(FColor(0xff444411)) ) );
  838.  
  839.         Set("LogTableRow.Error", FTableRowStyle(NormalTableRowStyle)
  840.             .SetTextColor( FLinearColor(FColor(0xffff0000)) )
  841.             .SetSelectedTextColor( FLinearColor(FColor(0xff440000)) ) );
  842.  
  843.         Set("Log.Normal", FTextBlockStyle(NormalText)
  844.             .SetFont( TTF_FONT( "Fonts/DroidSansMono", 9 ) ) );
  845.  
  846.         Set("Log.TabIcon", new IMAGE_BRUSH( "Icons/icon_tab_OutputLog_16x", Icon16x16 ) );
  847.     }
  848.  
  849.     // Debug Tools Window
  850.     {
  851.         Set("DebugTools.TabIcon", new IMAGE_BRUSH( "Icons/icon_tab_DebugTools_16x", Icon16x16 ) );
  852.     }
  853.  
  854.     // Modules Window
  855.     {
  856.         Set("Modules.TabIcon", new IMAGE_BRUSH( "Icons/icon_tab_Modules_16px", Icon16x16 ) );
  857.     }
  858.  
  859.     // Class Viewer Window
  860.     {
  861.         Set("ClassViewer.TabIcon", new IMAGE_BRUSH( "Icons/icon_tab_ClassViewer_16x", Icon16x16 ) );
  862.     }
  863.  
  864.     // Blueprint Debugger Window
  865.     {
  866.         Set("BlueprintDebugger.TabIcon", new IMAGE_BRUSH( "Icons/icon_tab_BlueprintDebugger_16x", Icon16x16 ) );
  867.     }
  868.  
  869.     // Live Editor Window
  870.     {
  871.         Set("LiveEditor.TabIcon", new IMAGE_BRUSH( "Icons/icon_tab_LiveEditor_16x", Icon16x16 ) );
  872.     }
  873.  
  874.     // Developer Tools Menu
  875.     {
  876.         Set("DeveloperTools.MenuIcon", new IMAGE_BRUSH( "Icons/icon_tab_DevTools_16x", Icon16x16 ) );
  877.     }
  878.  
  879.     // Session Console Window
  880.     {
  881.         Set( "SessionConsole.Copy", new IMAGE_BRUSH( "Icons/icon_file_open_40x", Icon40x40 ) );
  882.         Set( "SessionConsole.Copy.Small", new IMAGE_BRUSH( "Icons/icon_file_open_16px", Icon20x20 ) );
  883.         Set( "SessionConsole.Clear", new IMAGE_BRUSH( "Icons/icon_file_new_40x", Icon40x40 ) );
  884.         Set( "SessionConsole.Clear.Small", new IMAGE_BRUSH( "Icons/icon_file_new_16px", Icon20x20 ) );
  885.         Set( "SessionConsole.Save", new IMAGE_BRUSH( "Icons/icon_file_savelevels_40x", Icon40x40 ) );
  886.         Set( "SessionConsole.Save.Small", new IMAGE_BRUSH( "Icons/icon_file_savelevels_16px", Icon20x20 ) );
  887.     }
  888.  
  889.     // Session Frontend Window
  890.     {
  891.         Set("SessionFrontEnd.TabIcon", new IMAGE_BRUSH( "Icons/icon_tab_SessionFrontEnd_16x", Icon16x16 ) );
  892.         Set("SessionFrontEnd.Tabs.Tools", new IMAGE_BRUSH( "/Icons/icon_tab_Tools_16x", Icon16x16 ) );
  893.     }
  894.  
  895.     // Session Launcher Window
  896.     {
  897.         Set("SessionLauncher.TabIcon", new IMAGE_BRUSH( "Icons/icon_tab_SessionLauncher_16x", Icon16x16 ) );
  898.         Set("SessionLauncher.Tabs.Tools", new IMAGE_BRUSH( "/Icons/icon_tab_Tools_16x", Icon16x16 ) );
  899.     }
  900.  
  901.     // InputBinding editor
  902.     {
  903.         Set( "InputBindingEditor.ContextFont", TTF_CORE_FONT( "Fonts/Roboto-Bold", 9 ) );
  904.         Set( "InputBindingEditor.ContextBorder", new BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, FLinearColor(0.5,0.5,0.5,1.0) ) );
  905.         Set( "InputBindingEditor.SmallFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  906.  
  907.         Set( "InputBindingEditor.HeaderButton", FButtonStyle(NoBorder)
  908.             .SetNormalPadding(FMargin( 1,1,2,2 ))
  909.             .SetPressedPadding(FMargin( 2,2,2,2 )) );
  910.  
  911.         Set( "InputBindingEditor.HeaderButton.Disabled", new FSlateNoResource() );
  912.  
  913.  
  914.         Set( "InputBindingEditor.Tab",  new IMAGE_BRUSH( "Icons/icon_tab_KeyBindings_16px", FVector2D( 16, 16 ) ) );
  915.         Set( "InputBindingEditor.AssetEditor",  new IMAGE_BRUSH( "Icons/icon_keyb_AssetEditor_16px", FVector2D( 16, 16 ) ) );
  916.         Set( "InputBindingEditor.AssetEditor",  new IMAGE_BRUSH( "Icons/icon_keyb_AssetEditor_16px", FVector2D( 16, 16 ) ) );
  917.         Set( "InputBindingEditor.GenericCommands",  new IMAGE_BRUSH( "Icons/icon_keyb_CommonCommands_16px", FVector2D( 16, 16 ) ) );
  918.         Set( "InputBindingEditor.FoliageEditMode",  new IMAGE_BRUSH( "Icons/icon_keyb_FoliageEditMode_16px", FVector2D( 16, 16 ) ) );
  919.         Set( "InputBindingEditor.LandscapeEditor",  new IMAGE_BRUSH( "Icons/icon_keyb_LandscapeEditor_16px", FVector2D( 16, 16 ) ) );
  920.         Set( "InputBindingEditor.LayersView",  new IMAGE_BRUSH( "Icons/icon_keyb_Layers_16px", FVector2D( 16, 16 ) ) );
  921.         Set( "InputBindingEditor.LevelEditor",  new IMAGE_BRUSH( "Icons/icon_keyb_LevelEditor_16px", FVector2D( 16, 16 ) ) );
  922.         Set( "InputBindingEditor.LevelViewport",  new IMAGE_BRUSH( "Icons/icon_keyb_LevelViewports_16px", FVector2D( 16, 16 ) ) );
  923.         Set( "InputBindingEditor.MainFrame",  new IMAGE_BRUSH( "Icons/icon_keyb_MainFrame_16px", FVector2D( 16, 16 ) ) );
  924.         Set( "InputBindingEditor.OutputLog",  new IMAGE_BRUSH( "Icons/icon_keyb_OutputLog_16px", FVector2D( 16, 16 ) ) );
  925.         Set( "InputBindingEditor.PlayWorld",  new IMAGE_BRUSH( "Icons/icon_keyb_PlayWorld_16px", FVector2D( 16, 16 ) ) );      
  926.     }
  927.  
  928.     // Package restore
  929.     {
  930.         Set( "PackageRestore.FolderOpen", new IMAGE_BRUSH( "Icons/FolderOpen", FVector2D(18, 16) ) );
  931.     }
  932. #endif // WITH_EDITOR || IS_PROGRAM
  933.  
  934. #if WITH_EDITOR || IS_PROGRAM
  935.     // Expandable area
  936.     {
  937.         Set( "ExpandableArea", FExpandableAreaStyle()
  938.             .SetCollapsedImage( IMAGE_BRUSH( "Common/TreeArrow_Collapsed", Icon10x10, DefaultForeground ) )
  939.             .SetExpandedImage( IMAGE_BRUSH( "Common/TreeArrow_Expanded", Icon10x10, DefaultForeground ) )
  940.             );
  941.         Set( "ExpandableArea.TitleFont", TTF_CORE_FONT( "Fonts/Roboto-Bold", 8 ) );
  942.         Set( "ExpandableArea.Border", new BOX_BRUSH( "Common/GroupBorder", FMargin(4.0f/16.0f) ) );
  943.  
  944.         // Legacy styles used by other editor only controls
  945.         Set( "ExpandableArea.NormalFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  946.     }
  947.  
  948.     // Package Dialog
  949.  
  950.     {
  951.         Set( "PackageDialog.ListHeader", new BOX_BRUSH( "Old/SavePackages/ListHeader", 4.0f/32.0f ) );
  952.         Set( "SavePackages.SCC_DlgCheckedOutOther", new IMAGE_BRUSH( "Old/SavePackages/SCC_DlgCheckedOutOther", FVector2D( 18, 16 ) ) );
  953.         Set( "SavePackages.SCC_DlgNotCurrent", new IMAGE_BRUSH( "Old/SavePackages/SCC_DlgNotCurrent", FVector2D( 18, 16 ) ) );
  954.         Set( "SavePackages.SCC_DlgReadOnly", new IMAGE_BRUSH( "Old/SavePackages/SCC_DlgReadOnly", FVector2D( 18, 16 ) ) );
  955.         Set( "SavePackages.SCC_DlgNoIcon", new FSlateNoResource() );
  956.     }
  957. #endif // WITH_EDITOR || IS_PROGRAM
  958.  
  959. #if WITH_EDITOR || IS_PROGRAM
  960.     // Layers General
  961.     {
  962.         Set( "Layer.Icon16x", new IMAGE_BRUSH( "Icons/layer_16x", Icon16x16 ) );
  963.         Set( "Layer.VisibleIcon16x", new IMAGE_BRUSH( "Icons/icon_layer_visible", Icon16x16 ) );
  964.         Set( "Layer.NotVisibleIcon16x", new IMAGE_BRUSH( "Icons/icon_layer_not_visible", Icon16x16 ) );
  965.     }
  966.  
  967.     // Layer Stats
  968.     {
  969.         Set( "LayerStats.Item.ClearButton", new IMAGE_BRUSH( "Icons/cross_12x", Icon12x12 ) );
  970.     }
  971.  
  972.     // Layer Cloud
  973.     {
  974.         Set( "LayerCloud.Item.BorderImage", new BOX_BRUSH( "Common/RoundedSelection_16x", FMargin(4.0f/16.0f) ) );
  975.         Set( "LayerCloud.Item.ClearButton", new IMAGE_BRUSH( "Icons/cross_12x", Icon12x12 ) );
  976.         Set( "LayerCloud.Item.LabelFont", TTF_CORE_FONT( "Fonts/Roboto-Bold", 9 ) );
  977.     }
  978.  
  979.     // Layer Browser
  980.  
  981.     {
  982.         Set( "LayerBrowser.LayerContentsQuickbarBackground",  new BOX_BRUSH( "Common/DarkGroupBorder", 4.f/16.f ) );
  983.         Set( "LayerBrowser.ExploreLayerContents",  new IMAGE_BRUSH( "Icons/ExploreLayerContents", Icon16x16 ) );
  984.         Set( "LayerBrowser.ReturnToLayersList",  new IMAGE_BRUSH( "Icons/ReturnToLayersList", Icon16x16) );
  985.         Set( "LayerBrowser.Actor.RemoveFromLayer", new IMAGE_BRUSH( "Icons/cross_12x", Icon12x12 ) );
  986.  
  987.         Set( "LayerBrowserButton", FButtonStyle( Button )
  988.             .SetNormal(FSlateNoResource())
  989.             .SetHovered(BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor ))
  990.             .SetPressed(BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ))
  991.         );
  992.  
  993.         Set( "LayerBrowserButton.LabelFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  994.     }
  995.  
  996.     // Levels General
  997.     {
  998.         Set( "Level.Icon16x", new IMAGE_BRUSH( "Icons/levels_16x", Icon16x16 ) );
  999.         Set( "Level.VisibleIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_visible_16px", Icon16x16 ) );
  1000.         Set( "Level.VisibleHighlightIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_visible_hi_16px", Icon16x16 ) );
  1001.         Set( "Level.NotVisibleIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_invisible_16px", Icon16x16 ) );
  1002.         Set( "Level.NotVisibleHighlightIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_invisible_hi_16px", Icon16x16 ) );
  1003.         Set( "Level.LockedIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_Locked_16px", Icon16x16 ) );
  1004.         Set( "Level.LockedHighlightIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_Locked_hi_16px", Icon16x16 ) );
  1005.         Set( "Level.UnlockedIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_unlocked_16px", Icon16x16 ) );
  1006.         Set( "Level.UnlockedHighlightIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_unlocked_hi_16px", Icon16x16 ) );
  1007.         Set( "Level.ReadOnlyLockedIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_LockedReadOnly_16px", Icon16x16 ) );
  1008.         Set( "Level.ReadOnlyLockedHighlightIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_LockedReadOnly_hi_16px", Icon16x16 ) );
  1009.         Set( "Level.SaveIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_Save_16px", Icon16x16 ) );
  1010.         Set( "Level.SaveHighlightIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_Save_hi_16px", Icon16x16 ) );
  1011.         Set( "Level.SaveModifiedIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_SaveModified_16px", Icon16x16 ) );
  1012.         Set( "Level.SaveModifiedHighlightIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_SaveModified_hi_16px", Icon16x16 ) );
  1013.         Set( "Level.SaveDisabledIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_SaveDisabled_16px", Icon16x16 ) );
  1014.         Set( "Level.SaveDisabledHighlightIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_SaveDisabled_hi_16px", Icon16x16 ) );
  1015.         Set( "Level.ScriptIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_Blueprint_16px", Icon16x16 ) );
  1016.         Set( "Level.ScriptHighlightIcon16x", new IMAGE_BRUSH( "Icons/icon_levels_Blueprint_hi_16px", Icon16x16 ) );
  1017.         Set( "Level.EmptyIcon16x", new IMAGE_BRUSH( "Icons/Empty_16x", Icon16x16 ) );
  1018.         Set( "Level.ColorIcon40x", new IMAGE_BRUSH( "Icons/icon_levels_back_16px", Icon16x16 ) );
  1019.  
  1020.         Set( "Level.ArrowUp", new IMAGE_BRUSH( "Old/ArrowUp", Icon12x12 ) );
  1021.         Set( "Level.ArrowDown", new IMAGE_BRUSH( "Old/ArrowDown", Icon12x12 ) );
  1022.     }
  1023.  
  1024.     // Level Browser
  1025.     {
  1026.         Set( "LevelBrowserButton.Normal", new FSlateNoResource() ); // Note: Intentionally transparent background
  1027.         Set( "LevelBrowserButton.Pressed", new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ) );
  1028.         Set( "LevelBrowserButton.Hovered", new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor ) );
  1029.  
  1030.         Set( "LevelBrowser.LabelFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) );
  1031.         Set( "LevelBrowser.LabelFontBold", TTF_CORE_FONT( "Fonts/Roboto-Bold", 10 ) );
  1032.     }
  1033.  
  1034.     // World Browser
  1035.     {
  1036.         Set( "WorldBrowser.Icon16x", new IMAGE_BRUSH( "Icons/levels_16x", Icon16x16 ) );
  1037.         Set( "WorldBrowser.VisibleIcon16x", new IMAGE_BRUSH( "Icons/icon_layer_visible", Icon16x16 ) );
  1038.         Set( "WorldBrowser.NotVisibleIcon16x", new IMAGE_BRUSH( "Icons/icon_layer_not_visible", Icon16x16 ) );
  1039.         Set( "WorldBrowser.LockedIcon16x", new IMAGE_BRUSH( "Icons/padlock_locked_16x", Icon16x16 ) );
  1040.         Set( "WorldBrowser.UnlockedIcon16x", new IMAGE_BRUSH( "Icons/padlock_unlocked_16x", Icon16x16 ) );
  1041.         Set( "WorldBrowser.SaveIcon16x", new IMAGE_BRUSH( "Icons/Save_16x", Icon16x16 ) );
  1042.         Set( "WorldBrowser.SaveModifiedIcon16x", new IMAGE_BRUSH( "Icons/SaveModified_16x", Icon16x16 ) );
  1043.         Set( "WorldBrowser.SaveDisabledIcon16x", new IMAGE_BRUSH( "Icons/save_disabled_16x", Icon16x16 ) );
  1044.         Set( "WorldBrowser.ScriptIcon16x", new IMAGE_BRUSH( "Icons/ActorIcons/PlayerStart_16x", Icon16x16 ) );
  1045.         Set( "WorldBrowser.EmptyIcon16x", new IMAGE_BRUSH( "Icons/Empty_16x", Icon16x16 ) );
  1046.         Set( "WorldBrowser.ColorIcon40x", new IMAGE_BRUSH( "Icons/icon_stop_40x", Icon16x16 ) );
  1047.         Set( "WorldBrowser.LevelLoaded", new IMAGE_BRUSH( "Common/TaskGraph_Normal", Icon16x16 ) );
  1048.         Set( "WorldBrowser.LevelUnloaded", new IMAGE_BRUSH( "Common/TaskGraph_Mono", Icon16x16 ) );
  1049.         Set( "WorldBrowser.LevelPending", new IMAGE_BRUSH( "Common/TaskGraph_Selected", Icon16x16 ) );
  1050.         Set( "WorldBrowser.AddLayer", new IMAGE_BRUSH( "Icons/icon_add_40x", Icon16x16 ) );
  1051.         Set( "WorldBrowser.RegularTreeItemFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) );
  1052.         Set( "WorldBrowser.BoldTreeItemFont", TTF_CORE_FONT( "Fonts/Roboto-Bold", 10 ) );
  1053.         Set( "WorldBrowser.StreamingAlwaysLoaded", new IMAGE_BRUSH( "Icons/icon_simulate_40x", Icon16x16 ) );
  1054.         Set( "WorldBrowser.StreamingKismet", new IMAGE_BRUSH( "Icons/icon_kismet2_40x", Icon16x16 ) );
  1055.         Set( "WorldBrowser.StreamingLevelBounds", new IMAGE_BRUSH( "Icons/icon_box_40x", Icon16x16 ) );
  1056.         Set( "WorldBrowser.SimulationViewPositon", new IMAGE_BRUSH( "Icons/icon_variable_used_16x", Icon16x16 ) );
  1057.         Set( "WorldBrowser.MouseLocation", new IMAGE_BRUSH( "Icons/cursor_cardinal_cross", Icon16x16 ) );
  1058.         Set( "WorldBrowser.MarqueeRectSize", new IMAGE_BRUSH( "Icons/icon_ViewMode_VisualisationGBuffer_16px", Icon16x16 ) );
  1059.         Set( "WorldBrowser.WorldSize", new IMAGE_BRUSH( "Icons/icon_world_16x", Icon16x16 ) );
  1060.         Set( "WorldBrowser.WorldOrigin", new IMAGE_BRUSH( "Icons/icon_axis_16px", Icon16x16 ) );
  1061.         Set( "WorldBrowser.WorldViewScale", new IMAGE_BRUSH( "Icons/ExploreLayerContents", Icon16x16 ) );
  1062.         Set( "WorldBrowser.DirectionXPositive", new IMAGE_BRUSH( "Icons/icon_PanRight", Icon16x16 ) );
  1063.         Set( "WorldBrowser.DirectionXNegative", new IMAGE_BRUSH( "Icons/icon_PanLeft", Icon16x16 ) );
  1064.         Set( "WorldBrowser.DirectionYPositive", new IMAGE_BRUSH( "Icons/icon_PanUp", Icon16x16 ) );
  1065.         Set( "WorldBrowser.DirectionYNegative", new IMAGE_BRUSH( "Icons/icon_PanDown", Icon16x16 ) );
  1066.  
  1067.         Set( "WorldBrowser.StatusBarText", FTextBlockStyle(NormalText)
  1068.                 .SetFont( TTF_FONT( "Fonts/Roboto-BoldCondensed", 12 ) )
  1069.                 .SetColorAndOpacity( FLinearColor(0.9, 0.9f, 0.9f, 0.5f) )
  1070.                 .SetShadowOffset( FVector2D::ZeroVector )
  1071.             );
  1072.     }
  1073.  
  1074.  
  1075.     // Scene Outliner
  1076.     {
  1077.         Set( "SceneOutliner.FilterSearch", new IMAGE_BRUSH( "Old/FilterSearch", Icon16x16 ) );
  1078.         Set( "SceneOutliner.FilterCancel", new IMAGE_BRUSH( "Old/FilterCancel", Icon16x16 ) );
  1079.         Set( "SceneOutliner.ChangedItemHighlight", new BOX_BRUSH( "Common/EditableTextSelectionBackground", FMargin(4.f/16.f) ) );
  1080.         // Selection color should still be orange to align with the editor viewport.
  1081.         // But must also give the hint that the tree is no longer focused.
  1082.         Set( "SceneOutliner.TableViewRow", FTableRowStyle(NormalTableRowStyle)
  1083.             .SetInactiveBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, FLinearColor(FColor(188,161,97)) ) )
  1084.         );
  1085.  
  1086.         Set( "SceneOutliner.EditBlueprintHyperlinkStyle",
  1087.             FTextBlockStyle( NormalText )
  1088.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) )
  1089.             .SetColorAndOpacity( FSlateColor::UseForeground() ) );
  1090.         Set( "SceneOutliner.GoToCodeHyperlinkStyle",
  1091.             FTextBlockStyle( NormalText )
  1092.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) )
  1093.             .SetColorAndOpacity( FSlateColor::UseSubduedForeground() ) );
  1094.     }
  1095.  
  1096.     // Socket chooser
  1097.     {
  1098.         Set( "SocketChooser.TitleFont", TTF_CORE_FONT( "Fonts/Roboto-Bold", 10 ) );
  1099.         Set( "SocketIcon.Bone", new IMAGE_BRUSH( "Old/bone", Icon16x16 ) );
  1100.         Set( "SocketIcon.Socket", new IMAGE_BRUSH( "Old/socket", Icon16x16 ) );
  1101.         Set( "SocketIcon.None", new IMAGE_BRUSH( "Old/Favorites_Disabled", Icon16x16 ) );
  1102.     }
  1103.    
  1104.     // Matinee Recorder
  1105.     {
  1106.         Set( "MatineeRecorder.Record", new IMAGE_BRUSH( "Icons/Record_16x", Icon16x16 ) );
  1107.         Set( "MatineeRecorder.Stop", new IMAGE_BRUSH( "Icons/Stop_16x", Icon16x16 ) );
  1108.     }
  1109.  
  1110.     // Graph breadcrumb button
  1111.     {
  1112.         Set( "GraphBreadcrumbButton", FButtonStyle()
  1113.             .SetNormal        ( FSlateNoResource() )
  1114.             .SetPressed       ( BOX_BRUSH( "Common/Button_Pressed", 8.0f/32.0f, SelectionColor_Pressed ) )
  1115.             .SetHovered       ( BOX_BRUSH( "Common/Button_Hovered", 8.0f/32.0f, SelectionColor ) )
  1116.             .SetNormalPadding ( FMargin( 2,2,4,4 ) )
  1117.             .SetPressedPadding( FMargin( 3,3,3,3 ) )
  1118.         );
  1119.  
  1120.         Set( "GraphBreadcrumbButtonText", FTextBlockStyle(NormalText)
  1121.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 14 ) )
  1122.             .SetColorAndOpacity( FLinearColor(1,1,1,0.5) )
  1123.             .SetShadowOffset( FVector2D::ZeroVector )
  1124.         );
  1125.  
  1126.         Set( "GraphBreadcrumb.BrowseBack", new IMAGE_BRUSH( "Icons/icon_BlueprintbrowserL_24x", Icon24x24) );
  1127.         Set( "GraphBreadcrumb.BrowseForward", new IMAGE_BRUSH( "Icons/icon_BlueprintbrowserR_24x", Icon24x24) );
  1128.     }
  1129. #endif // WITH_EDITOR
  1130.  
  1131. #if WITH_EDITOR || IS_PROGRAM
  1132.     // Breadcrumb Trail
  1133.         {
  1134.         Set( "BreadcrumbTrail.Delimiter", new IMAGE_BRUSH( "Common/Delimiter", Icon16x16 ) );
  1135.  
  1136.         Set( "BreadcrumbButton", FButtonStyle()
  1137.             .SetNormal ( FSlateNoResource() )
  1138.             .SetPressed( BOX_BRUSH( "Common/Button_Pressed", 8.0f/32.0f, SelectionColor_Pressed ) )
  1139.             .SetHovered( BOX_BRUSH( "Common/Button_Pressed", 8.0f/32.0f, SelectionColor ) )
  1140.             );
  1141.        
  1142.     }
  1143.  
  1144.     // Notification List
  1145.     {
  1146.         Set( "NotificationList.FontBold", TTF_CORE_FONT( "Fonts/Roboto-Bold", 16 ) );
  1147.         Set( "NotificationList.FontLight", TTF_CORE_FONT( "Fonts/Roboto-Light", 12 ) );
  1148.         Set( "NotificationList.ItemBackground", new BOX_BRUSH( "Old/Menu_Background", FMargin(8.0f/64.0f) ) );
  1149.         Set( "NotificationList.ItemBackground_Border", new BOX_BRUSH( "Old/Menu_Background_Inverted_Border_Bold", FMargin(8.0f/64.0f) ) );
  1150.         Set( "NotificationList.SuccessImage", new IMAGE_BRUSH( "Old/Checkbox_checked", Icon16x16 ) );
  1151.         Set( "NotificationList.FailImage", new IMAGE_BRUSH( "Old/PropertyEditor/Button_Clear", Icon16x16 ) );
  1152.         Set( "NotificationList.DefaultMessage", new IMAGE_BRUSH( "Old/EventMessage_Default", Icon40x40 ) );
  1153.         Set( "NotificationList.Glow", new FSlateColorBrush( FColor(255, 255, 255, 255) ) );
  1154.         }
  1155. #endif // WITH_EDITOR || IS_PROGRAM
  1156.  
  1157. #if WITH_EDITOR || IS_PROGRAM
  1158.     // Asset editors (common)
  1159.     {
  1160.         Set( "AssetEditor.SaveAsset.Greyscale", new IMAGE_BRUSH( "icons/icon_file_save_16px", Icon16x16 ) );
  1161.         Set( "AssetEditor.SaveAsset", new IMAGE_BRUSH( "Icons/icon_SaveAsset_40x", Icon40x40 ) );
  1162.         Set( "AssetEditor.SaveAsset.Small", new IMAGE_BRUSH( "Icons/icon_SaveAsset_40x", Icon20x20 ) );
  1163.         Set( "AssetEditor.Reimport", new IMAGE_BRUSH( "Icons/icon_TextureEd_Reimport_40x", Icon40x40 ) );
  1164.         Set( "AssetEditor.Reimport.Small", new IMAGE_BRUSH( "Icons/icon_TextureEd_Reimport_40x", Icon20x20 ) );    
  1165.     }
  1166.        
  1167.     // Asset Thumbnail
  1168.         {
  1169.         Set( "AssetThumbnail.AssetBackground", new IMAGE_BRUSH( "Common/AssetBackground", FVector2D(64.f, 64.f), FLinearColor(0.75f, 0.75f, 0.75f, 1.0f) ) );
  1170.         Set( "AssetThumbnail.ClassBackground", new IMAGE_BRUSH( "Common/ClassBackground_64x", FVector2D(64.f, 64.f), FLinearColor(0.75f, 0.75f, 0.75f, 1.0f) ) );
  1171.         Set( "AssetThumbnail.DataOnlyBPAssetBackground", new IMAGE_BRUSH( "Common/DataOnlyBPAssetBackground_64x", FVector2D(64.f, 64.f), FLinearColor(1, 1, 1, 1) ) );
  1172.         Set( "AssetThumbnail.Font", TTF_CORE_FONT( "Fonts/Roboto-Regular", 12 ) );
  1173.         Set( "AssetThumbnail.FontSmall", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  1174.         Set( "AssetThumbnail.ColorAndOpacity", FLinearColor(0.75f, 0.75f, 0.75f, 1) );
  1175.         Set( "AssetThumbnail.ShadowOffset", FVector2D(1,1) );
  1176.         Set( "AssetThumbnail.ShadowColorAndOpacity", FLinearColor(0, 0, 0, 1) );
  1177.         Set( "AssetThumbnail.HintFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  1178.         Set( "AssetThumbnail.HintFontSmall", TTF_CORE_FONT( "Fonts/Roboto-Regular", 6 ) );
  1179.         Set( "AssetThumbnail.HintColorAndOpacity", FLinearColor(0.75f, 0.75f, 0.75f, 1) );
  1180.         Set( "AssetThumbnail.HintShadowOffset", FVector2D(1,1) );
  1181.         Set( "AssetThumbnail.HintShadowColorAndOpacity", FLinearColor(0, 0, 0, 1) );
  1182.         Set( "AssetThumbnail.HintBackground", new BOX_BRUSH( "Common/TableViewHeader", FMargin(8.0f/32.0f) ) );
  1183.         Set( "AssetThumbnail.Border", new IMAGE_BRUSH( "Common/DiagonalGradient", FVector2D(32.f, 32.f), FLinearColor(1, 1, 1, 1) ) );
  1184.     }
  1185.  
  1186.     // Open any asset dialog
  1187.         {
  1188.         Set( "SystemWideCommands.SummonOpenAssetDialog", new IMAGE_BRUSH( "icons/icon_asset_open_16px", Icon16x16 ) );
  1189.    
  1190.         Set( "GlobalAssetPicker.Background", new BOX_BRUSH( "Old/Menu_Background", FMargin(8.0f/64.0f) ) );
  1191.         Set( "GlobalAssetPicker.OutermostMargin", FMargin(4, 4, 4, 4) );
  1192.  
  1193.         Set( "GlobalAssetPicker.TitleFont", FTextBlockStyle(NormalText)
  1194.                 .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) )
  1195.             .SetColorAndOpacity( FLinearColor::White )
  1196.                 .SetShadowOffset( FVector2D( 1,1 ) )
  1197.                 .SetShadowColorAndOpacity( FLinearColor::Black )
  1198.             );
  1199.         }
  1200.  
  1201.  
  1202.     // Main frame
  1203.     {
  1204.         Set( "MainFrame.AutoSaveImage", new IMAGE_BRUSH( "icons/icon_Autosave", Icon24x24 ) );
  1205.         Set( "GenericCommands.Undo", new IMAGE_BRUSH( "icons/icon_undo_16px", Icon16x16 ) );
  1206.         Set( "GenericCommands.Redo", new IMAGE_BRUSH( "icons/icon_redo_16px", Icon16x16 ) );
  1207.         Set( "MainFrame.SaveAll", new IMAGE_BRUSH( "icons/icon_file_saveall_16px", Icon16x16 ) );
  1208.         Set( "MainFrame.ChoosePackagesToSave", new IMAGE_BRUSH( "icons/icon_file_choosepackages_16px", Icon16x16 ) );
  1209.         Set( "MainFrame.NewProject", new IMAGE_BRUSH( "icons/icon_file_ProjectNew_16x", Icon16x16 ) );
  1210.         Set( "MainFrame.OpenProject", new IMAGE_BRUSH( "icons/icon_file_ProjectOpen_16x", Icon16x16 ) );
  1211.         Set( "MainFrame.AddCodeToProject", new IMAGE_BRUSH( "icons/icon_file_ProjectAddCode_16x", Icon16x16 ) );
  1212.         Set( "MainFrame.Exit", new IMAGE_BRUSH( "icons/icon_file_exit_16px", Icon16x16 ) );
  1213.         Set( "MainFrame.CookContent", new IMAGE_BRUSH( "icons/icon_package_16x", Icon16x16 ) );
  1214.         Set( "MainFrame.PackageProject", new IMAGE_BRUSH( "icons/icon_package_16x", Icon16x16 ) );
  1215.         Set( "MainFrame.RecentProjects", new IMAGE_BRUSH( "icons/icon_file_ProjectsRecent_16px", Icon16x16 ) );
  1216.         Set( "MainFrame.RecentLevels", new IMAGE_BRUSH( "icons/icon_file_LevelsRecent_16px", Icon16x16 ) );
  1217.  
  1218.         Set( "MainFrame.DebugTools.SmallFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  1219.         Set( "MainFrame.DebugTools.NormalFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) );
  1220.         Set( "MainFrame.DebugTools.LabelFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  1221.     }
  1222.  
  1223.     // Main frame
  1224.     {
  1225.         Set("MainFrame.StatusInfoButton", FButtonStyle(Button)
  1226.             .SetNormal( IMAGE_BRUSH( "Icons/StatusInfo_16x", Icon16x16 ) )
  1227.             .SetHovered( IMAGE_BRUSH( "Icons/StatusInfo_16x", Icon16x16 ) )
  1228.             .SetPressed( IMAGE_BRUSH( "Icons/StatusInfo_16x", Icon16x16 ) )
  1229.             .SetNormalPadding(0)
  1230.             .SetPressedPadding(0)
  1231.         );
  1232.     }
  1233.  
  1234.     // Main frame
  1235.     {
  1236.         Set( "MainFrame.SaveLayout", new IMAGE_BRUSH( "Icons/icon_tab_SaveLayout_16x", Icon16x16 ) );
  1237.     }
  1238.  
  1239.     // CodeView selection detail view section
  1240.     {
  1241.         Set( "CodeView.ClassIcon", new IMAGE_BRUSH( "Icons/icon_class_16x", Icon16x16 ) );
  1242.         Set( "CodeView.FunctionIcon", new IMAGE_BRUSH( "Icons/icon_codeview_16x", Icon16x16 ) );
  1243.     }
  1244.  
  1245.     Set( "Editor.SearchBoxFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 12) );
  1246. #endif // WITH_EDITOR || IS_PROGRAM
  1247.  
  1248.     // Slider and Volume Control
  1249.     {
  1250.         FSliderStyle SliderStyle = FSliderStyle()
  1251.             .SetNormalThumbImage( BOX_BRUSH( "Common/Button", 8.0f/32.0f ) )
  1252.             .SetDisabledThumbImage( BOX_BRUSH( "Common/Button_Disabled", 8.0f/32.0f ) );
  1253.         Set( "Slider", SliderStyle );
  1254.  
  1255.         Set( "VolumeControl", FVolumeControlStyle()
  1256.             .SetSliderStyle( SliderStyle )
  1257.             .SetHighVolumeImage( IMAGE_BRUSH( "Common/VolumeControl_High", Icon16x16 ) )
  1258.             .SetMidVolumeImage( IMAGE_BRUSH( "Common/VolumeControl_Mid", Icon16x16 ) )
  1259.             .SetLowVolumeImage( IMAGE_BRUSH( "Common/VolumeControl_Low", Icon16x16 ) )
  1260.             .SetNoVolumeImage( IMAGE_BRUSH( "Common/VolumeControl_Off", Icon16x16 ) )
  1261.             .SetMutedImage( IMAGE_BRUSH( "Common/VolumeControl_Muted", Icon16x16 ) )
  1262.             );
  1263.     }
  1264.  
  1265.     // Console
  1266.     {
  1267.         Set( "DebugConsole.Background", new BOX_BRUSH( "Old/Menu_Background", FMargin(8.0f/64.0f) ) );
  1268.     }
  1269.  
  1270. #if WITH_EDITOR || IS_PROGRAM
  1271.     // About screen
  1272.     {
  1273.         Set( "AboutScreen.Background", new IMAGE_BRUSH( "About/Background", FVector2D(600,332), FLinearColor::White, ESlateBrushTileType::Both) );
  1274.         Set( "AboutScreen.Facebook", new IMAGE_BRUSH( "About/FacebookIcon", FVector2D(35,35) ) );
  1275.         Set( "AboutScreen.FacebookHovered", new IMAGE_BRUSH( "About/FacebookIcon_Hovered", FVector2D(35,35) ) );
  1276.         Set( "AboutScreen.UE4", new IMAGE_BRUSH( "About/UE4Icon", FVector2D(50,50) ) );
  1277.         Set( "AboutScreen.UE4Hovered", new IMAGE_BRUSH( "About/UE4Icon_Hovered", FVector2D(50,50) ) );
  1278.         Set( "AboutScreen.EpicGames", new IMAGE_BRUSH( "About/EpicGamesIcon", FVector2D(50,50) ) );
  1279.         Set( "AboutScreen.EpicGamesHovered", new IMAGE_BRUSH( "About/EpicGamesIcon_Hovered", FVector2D(50,50) ) );
  1280.     }
  1281. #endif // WITH_EDITOR || IS_PROGRAM
  1282.  
  1283.     // New Level Dialog
  1284. #if WITH_EDITOR || IS_PROGRAM
  1285.     {
  1286.         Set( "NewLevelDialog.BlackBorder", new FSlateColorBrush( FColor(0, 0, 0, 100) ) );
  1287.         Set( "NewLevelDialog.Blank", new IMAGE_BRUSH( "NewLevels/NewLevelBlank", FVector2D(256,256) ) );
  1288.         Set( "NewLevelDialog.Default", new IMAGE_BRUSH( "NewLevels/NewLevelDefault", FVector2D(256,256) ) );
  1289.     }
  1290.  
  1291.     // Build and Submit
  1292.     {
  1293.         Set( "BuildAndSubmit.NormalFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  1294.         Set( "BuildAndSubmit.SmallFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 7 ) );
  1295.     }
  1296.  
  1297.     // Sequencer
  1298.     {
  1299.         Set( "Sequencer.Timeline.ScrubHandleDown", new BOX_BRUSH( "Sequencer/ScrubHandleDown", FMargin( 6.f/13.f, 5/12.f, 6/13.f, 8/12.f ) ) );
  1300.         Set( "Sequencer.Timeline.ScrubHandleUp", new BOX_BRUSH( "Sequencer/ScrubHandleUp", FMargin( 6.f/13.f, 8/12.f, 6/13.f, 5/12.f ) ) );
  1301.         Set( "Sequencer.Timeline.ScrubHandleWhole", new BOX_BRUSH( "Sequencer/ScrubHandleWhole", FMargin( 6.f/13.f, 10/24.f, 6/13.f, 10/24.f  ) ) );
  1302.         Set( "Sequencer.Timeline.NotifyAlignmentMarker", new IMAGE_BRUSH( "Sequencer/NotifyAlignmentMarker", FVector2D(10,19) ) );
  1303.         Set( "Sequencer.NotificationImage_AddedPlayMovieSceneEvent", new IMAGE_BRUSH( "Old/Checkbox_checked", Icon16x16 ) );
  1304.         Set( "Sequencer.Key", new IMAGE_BRUSH( "Sequencer/Key", FVector2D(7.0f,12.0f) ) );
  1305.         Set( "Sequencer.GenericSection.Background", new BOX_BRUSH( "Sequencer/GenericSectionBackground", FMargin(5.f/16.f) ) );
  1306.         Set( "Sequencer.SectionArea.Background", new FSlateColorBrush( FColor::White ) );
  1307.         Set( "Sequencer.AnimationOutliner.SelectionBorder", new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ) );
  1308.         Set( "Sequencer.AnimationOutliner.BoldFont", TTF_CORE_FONT( "Fonts/Roboto-Bold", 11 ) );
  1309.         Set( "Sequencer.AnimationOutliner.RegularFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  1310.         Set( "Sequencer.ShotFilter", new IMAGE_BRUSH( "Sequencer/FilteredArea", FVector2D(74,74), FLinearColor::White, ESlateBrushTileType::Both ) );
  1311.     }
  1312.  
  1313.     // Foliage Edit Mode
  1314.         {
  1315.         Set( "FoliageEditMode.SetPaint", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_Paint_40x", Icon40x40 ) );
  1316.         Set( "FoliageEditMode.SetReapplySettings", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_Reapply_40x", Icon40x40 ) );
  1317.         Set( "FoliageEditMode.SetSelect", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_Select_40x", Icon40x40 ) );
  1318.         Set( "FoliageEditMode.SetLassoSelect", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_Lasso_40x", Icon40x40 ) );
  1319.         Set( "FoliageEditMode.SetPaintBucket", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_PaintBucket_40x", Icon40x40 ) );
  1320.         Set( "FoliageEditMode.SetPaint.Small", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_Paint_40x", Icon20x20 ) );
  1321.         Set( "FoliageEditMode.SetReapplySettings.Small", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_Reapply_40x", Icon20x20 ) );
  1322.         Set( "FoliageEditMode.SetSelect.Small", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_Select_40x", Icon20x20 ) );
  1323.         Set( "FoliageEditMode.SetLassoSelect.Small", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_Lasso_40x", Icon20x20 ) );
  1324.         Set( "FoliageEditMode.SetPaintBucket.Small", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_PaintBucket_40x", Icon20x20 ) );
  1325.                        
  1326.         Set( "FoliageEditMode.SetNoSettings", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_NoSettings_20x", Icon20x20 ) );
  1327.         Set( "FoliageEditMode.SetPaintSettings", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_PaintingSettings_20x", Icon20x20 ) );
  1328.         Set( "FoliageEditMode.SetClusterSettings", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_ClusterSettings_20x", Icon20x20 ) );
  1329.         Set( "FoliageEditMode.SetNoSettings.Small", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_NoSettings_20x", Icon20x20 ) );
  1330.         Set( "FoliageEditMode.SetPaintSettings.Small", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_PaintingSettings_20x", Icon20x20 ) );
  1331.         Set( "FoliageEditMode.SetClusterSettings.Small", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEdMode_ClusterSettings_20x", Icon20x20 ) );
  1332.  
  1333.         Set( "FoliageEditMode.OpenSettings", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEditMode_LoadSettings_20px", Icon20x20 ) );
  1334.         Set( "FoliageEditMode.SaveSettings", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEditMode_SaveSettings_20px", Icon20x20 ) );
  1335.         Set( "FoliageEditMode.DeleteItem", new IMAGE_BRUSH( "Icons/FoliageEditMode/icon_FoliageEditMode_RemoveSettings_20x", Icon20x20 ) );
  1336.         Set( "FoliageEditMode.SelectionBackground", new IMAGE_BRUSH( "Icons/FoliageEditMode/FoliageEditMode_SelectionBackground", Icon32x32 ) );
  1337.         Set( "FoliageEditMode.ItemBackground", new IMAGE_BRUSH( "Icons/FoliageEditMode/FoliageEditMode_Background", Icon64x64 ) );
  1338.         Set( "FoliageEditMode.BubbleBorder", new BOX_BRUSH( "Icons/FoliageEditMode/FoliageEditMode_BubbleBorder", FMargin(8/32.0f) ) );
  1339.     }
  1340. #endif // WITH_EDITOR || IS_PROGRAM
  1341.  
  1342.     // Crash Tracker
  1343.     {
  1344.         Set( "CrashTracker", FTextBlockStyle(NormalText)
  1345.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 18 ) )
  1346.             .SetShadowOffset( FVector2D::ZeroVector ) );
  1347.            
  1348.         Set( "CrashTracker.Cursor", new IMAGE_BRUSH( "Common/MouseCursor", Icon32x32, FLinearColor(1,1,1,1), ESlateBrushTileType::Both ) );
  1349.         Set( "CrashTracker.Record", new IMAGE_BRUSH( "Animation/Record", Icon20x20 ) );
  1350.     }
  1351.  
  1352. #if WITH_EDITOR || IS_PROGRAM
  1353.     // Collision Analyzer
  1354.     {
  1355.         Set( "CollisionAnalyzer.TabIcon", new IMAGE_BRUSH( "Icons/icon_tab_CollisionAnalyser_16x", Icon16x16 ) );
  1356.         Set( "CollisionAnalyzer.Record", new IMAGE_BRUSH( "Icons/CA_Record", Icon24x24 ) );
  1357.         Set( "CollisionAnalyzer.Stop", new IMAGE_BRUSH( "Icons/CA_Stop", Icon24x24 ) );
  1358.         Set( "CollisionAnalyzer.ShowRecent", new IMAGE_BRUSH( "Icons/CA_ShowRecent", Icon24x24 ) );
  1359.         Set( "CollisionAnalyzer.Group", new IMAGE_BRUSH( "Icons/CA_Group", FVector2D(10,18) ) );
  1360.         Set( "CollisionAnalyzer.GroupBackground", new BOX_BRUSH( "/Icons/CA_GroupBackground", FMargin(4.f/16.f) ) );
  1361.     }
  1362.  
  1363.     // Log Visualizer
  1364.     {
  1365.         Set( "LogVisualizer.Pause", new IMAGE_BRUSH( "Icons/icon_pause_40x", Icon40x40 ) );
  1366.         Set( "LogVisualizer.LogBar.Background", new BOX_BRUSH( "Common/ProgressBar_Background", FMargin(5.f/12.f) ) );
  1367.         Set( "LogVisualizer.LogBar.Selected", new BOX_BRUSH( "Common/TaskGraph_Selected", FMargin(5.f/12.f) ) );
  1368.         Set( "LogVisualizer.LogBar.EntryDefault", new BOX_BRUSH( "Common/TaskGraph_Mono", FMargin(5.f/12.f) ) );
  1369.         Set( "LogVisualizer.LogBar.TimeMark", new BOX_BRUSH( "Icons/LV_BarMark", FMargin(5.f/12.f) ) );
  1370.         Set( "LogVisualizer.Record", new IMAGE_BRUSH( "Icons/LV_Record", Icon24x24 ) );
  1371.         Set( "LogVisualizer.Stop", new IMAGE_BRUSH( "Icons/LV_Stop", Icon24x24 ) );
  1372.         Set( "LogVisualizer.Camera", new IMAGE_BRUSH( "Icons/LV_Camera", Icon40x40 ) );
  1373.         Set( "LogVisualizer.Save", new IMAGE_BRUSH( "Icons/LV_Save", Icon40x40 ) );
  1374.         Set( "LogVisualizer.Load", new IMAGE_BRUSH( "Icons/LV_Load", Icon40x40 ) );
  1375.         Set( "LogVisualizer.Remove", new IMAGE_BRUSH( "Icons/LV_Remove", Icon40x40 ) );
  1376.     }
  1377. #endif // WITH_EDITOR || IS_PROGRAM
  1378.  
  1379. #if WITH_EDITOR
  1380.     // Surface Props
  1381.     {
  1382.         Set( "SurfaceDetails.PanUPositive", new IMAGE_BRUSH( "Icons/icon_PanRight", Icon16x16 ) );
  1383.         Set( "SurfaceDetails.PanUNegative", new IMAGE_BRUSH( "Icons/icon_PanLeft", Icon16x16 ) );
  1384.  
  1385.         Set( "SurfaceDetails.PanVPositive", new IMAGE_BRUSH( "Icons/icon_PanUp", Icon16x16 ) );
  1386.         Set( "SurfaceDetails.PanVNegative", new IMAGE_BRUSH( "Icons/icon_PanDown", Icon16x16 ) );
  1387.  
  1388.        
  1389.         Set( "SurfaceDetails.ClockwiseRotation", new IMAGE_BRUSH( "Icons/icon_ClockwiseRotation_16x", Icon16x16 ) );
  1390.         Set( "SurfaceDetails.AntiClockwiseRotation", new IMAGE_BRUSH( "Icons/icon_AntiClockwiseRotation_16x", Icon16x16 ) );
  1391.     }
  1392.  
  1393.     // GameProjectDialog
  1394.     {
  1395.         Set( "GameProjectDialog.NewProjectTitle", FTextBlockStyle(NormalText)
  1396.             .SetFont( TTF_FONT( "Fonts/Roboto-BoldCondensed", 28 ) )
  1397.             .SetShadowOffset( FVector2D( 1,1 ) )
  1398.             .SetShadowColorAndOpacity( FLinearColor(0,0,0,0.9f) )
  1399.         );
  1400.  
  1401.         Set( "GameProjectDialog.RecentProjectsTitle", FTextBlockStyle(NormalText)
  1402.             .SetFont( TTF_FONT( "Fonts/Roboto-BoldCondensed", 16 ) )
  1403.             .SetColorAndOpacity( FLinearColor(0.8f,0.8f,0.8f,1) )
  1404.             .SetShadowOffset( FVector2D( 0,1 ) )
  1405.             .SetShadowColorAndOpacity( FLinearColor(0,0,0,0.9f) )
  1406.         );
  1407.  
  1408.         Set( "GameProjectDialog.ProjectNamePathLabels", FTextBlockStyle(NormalText)
  1409.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 12 ) )
  1410.             .SetShadowOffset( FVector2D( 0,1 ) )
  1411.             .SetShadowColorAndOpacity( FLinearColor(0,0,0,0.9f) )
  1412.         );
  1413.  
  1414.         Set( "GameProjectDialog.ErrorLabelFont", FTextBlockStyle(NormalText)
  1415.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) )
  1416.             .SetShadowOffset( FVector2D::ZeroVector )
  1417.         );
  1418.  
  1419.         Set( "GameProjectDialog.ErrorLabelBorder", new FSlateColorBrush( FLinearColor(0.2, 0, 0) ) );
  1420.         Set( "GameProjectDialog.ErrorLabelCloseButton", new IMAGE_BRUSH( "Icons/Cross_12x", Icon12x12 ) );
  1421.  
  1422.         Set( "GameProjectDialog.TemplateListView.TableRow", FTableRowStyle()
  1423.             .SetEvenRowBackgroundBrush( FSlateNoResource() )
  1424.             .SetEvenRowBackgroundHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, FLinearColor(1.0f, 1.0f, 1.0f, 0.1f) ) )
  1425.             .SetOddRowBackgroundBrush( FSlateNoResource() )
  1426.             .SetOddRowBackgroundHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, FLinearColor(1.0f, 1.0f, 1.0f, 0.1f) ) )
  1427.             .SetSelectorFocusedBrush( BORDER_BRUSH( "Common/Selector", FMargin(4.f/16.f), SelectorColor ) )
  1428.             .SetActiveBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) )
  1429.             .SetActiveHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) )
  1430.             .SetInactiveBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) )
  1431.             .SetInactiveHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor )  )
  1432.             .SetTextColor( DefaultForeground )
  1433.             .SetSelectedTextColor( InvertedForeground )
  1434.             );
  1435.  
  1436.         Set( "GameProjectDialog.DefaultGameThumbnail", new IMAGE_BRUSH( "GameProjectDialog/default_game_thumbnail", Icon128x128 ) );
  1437.         Set( "GameProjectDialog.BlankProjectThumbnail", new IMAGE_BRUSH( "GameProjectDialog/blank_project_thumbnail", Icon128x128 ) );
  1438.         Set( "GameProjectDialog.BasicCodeThumbnail", new IMAGE_BRUSH( "GameProjectDialog/basic_code_thumbnail", Icon128x128 ) );
  1439.         Set( "GameProjectDialog.CodeImage", new IMAGE_BRUSH( "GameProjectDialog/feature_code", FVector2D(70,31) ) );
  1440.         Set( "GameProjectDialog.CodeBorder", new BOX_BRUSH( "GameProjectDialog/feature_border", FMargin(4.0f/16.0f), FLinearColor(0.570, 0.359, 0.081, 1.f) ) );
  1441.         Set( "GameProjectDialog.FeatureText", FTextBlockStyle(NormalText)
  1442.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 14 ) )
  1443.             .SetShadowOffset( FVector2D( 0,1 ) )
  1444.             .SetShadowColorAndOpacity( FLinearColor(0,0,0,0.9f) ) );
  1445.         Set( "GameProjectDialog.TemplateItemTitle", FTextBlockStyle(NormalText)
  1446.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 14 ) )
  1447.             .SetShadowOffset( FVector2D( 0,1 ) )
  1448.             .SetShadowColorAndOpacity( FLinearColor(0,0,0,0.9f) ) );
  1449.  
  1450.         Set( "GameProjectDialog.FolderIconClosed", new IMAGE_BRUSH( "Icons/FolderClosed", FVector2D(18, 16) ) );
  1451.         Set( "GameProjectDialog.FolderIconOpen", new IMAGE_BRUSH( "Icons/FolderOpen", FVector2D(18, 16) ) );
  1452.         Set( "GameProjectDialog.ProjectFileIcon", new IMAGE_BRUSH( "Icons/doc_16x", FVector2D(18, 16) ) );
  1453.     }
  1454.  
  1455.     // NewClassDialog
  1456.     {
  1457.         Set( "NewClassDialog.PageTitle", FTextBlockStyle(NormalText)
  1458.             .SetFont( TTF_FONT( "Fonts/Roboto-BoldCondensed", 28 ) )
  1459.             .SetShadowOffset( FVector2D( 1,1 ) )
  1460.             .SetShadowColorAndOpacity( FLinearColor(0,0,0,0.9f) )
  1461.         );
  1462.  
  1463.         Set( "NewClassDialog.SelectedParentClassLabel", FTextBlockStyle(NormalText)
  1464.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 12 ) )
  1465.             .SetShadowOffset( FVector2D( 0,1 ) )
  1466.             .SetShadowColorAndOpacity( FLinearColor(0,0,0,0.9f) )
  1467.         );
  1468.  
  1469.         Set( "NewClassDialog.ErrorLabelFont", FTextBlockStyle(NormalText)
  1470.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) )
  1471.          );
  1472.    
  1473.         Set( "NewClassDialog.ErrorLabelBorder", new FSlateColorBrush( FLinearColor(0.2, 0, 0) ) );
  1474.         Set( "NewClassDialog.ErrorLabelCloseButton", new IMAGE_BRUSH( "Icons/Cross_12x", Icon12x12 ) );
  1475.  
  1476.         Set( "NewClassDialog.ParentClassListView.TableRow", FTableRowStyle()
  1477.             .SetEvenRowBackgroundBrush( FSlateNoResource() )
  1478.             .SetEvenRowBackgroundHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, FLinearColor(1.0f, 1.0f, 1.0f, 0.1f) ) )
  1479.             .SetOddRowBackgroundBrush( FSlateNoResource() )
  1480.             .SetOddRowBackgroundHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, FLinearColor(1.0f, 1.0f, 1.0f, 0.1f) ) )
  1481.             .SetSelectorFocusedBrush( BORDER_BRUSH( "Common/Selector", FMargin(4.f/16.f), SelectorColor ) )
  1482.             .SetActiveBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) )
  1483.             .SetActiveHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) )
  1484.             .SetInactiveBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) )
  1485.             .SetInactiveHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor )  )
  1486.             .SetTextColor( DefaultForeground )
  1487.             .SetSelectedTextColor( InvertedForeground )
  1488.             );
  1489.  
  1490.         Set( "NewClassDialog.ParentClassItemTitle", FTextBlockStyle(NormalText)
  1491.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 14 ) )
  1492.             .SetShadowOffset( FVector2D( 0,1 ) )
  1493.             .SetShadowColorAndOpacity( FLinearColor(0,0,0,0.9f) )
  1494.         );
  1495.     }
  1496.  
  1497.     // Stats visualizer
  1498.     {
  1499.         Set( "StatsHeader", new BOX_BRUSH( "Common/TableViewHeader", 4.f/32.f ) );
  1500.     }
  1501.  
  1502.     // Package Migration
  1503.     {
  1504.         Set( "PackageMigration.DialogTitle", FTextBlockStyle( NormalText )
  1505.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 12 ) )
  1506.         );
  1507.     }
  1508.  
  1509.  
  1510. #endif // WITH_EDITOR
  1511.  
  1512. #if WITH_EDITOR || IS_PROGRAM
  1513.     // ToolBar
  1514.     {
  1515.         Set( "ToolBar.Background", new BOX_BRUSH( "Common/GroupBorder", FMargin(4.0f/16.0f) ) );
  1516.         Set( "ToolBar.Icon", new IMAGE_BRUSH( "Icons/icon_tab_toolbar_16px", Icon16x16 ) );
  1517.         Set( "ToolBar.Expand", new IMAGE_BRUSH( "Icons/toolbar_expand_16x", Icon16x16) );
  1518.         Set( "ToolBar.SubMenuIndicator", new IMAGE_BRUSH( "Common/SubmenuArrow", Icon8x8 ) );
  1519.         Set( "ToolBar.SToolBarComboButtonBlock.Padding", FMargin(4.0f));
  1520.         Set( "ToolBar.SToolBarButtonBlock.Padding", FMargin(4.0f));
  1521.         Set( "ToolBar.SToolBarCheckComboButtonBlock.Padding", FMargin(4.0f));
  1522.         Set( "ToolBar.SToolBarButtonBlock.CheckBox.Padding", FMargin(0.0f) );
  1523.         Set( "ToolBar.SToolBarComboButtonBlock.ComboButton.Color", DefaultForeground );
  1524.  
  1525.         Set( "ToolBar.Block.IndentedPadding", FMargin( 18.0f, 2.0f, 4.0f, 4.0f ) );
  1526.         Set( "ToolBar.Block.Padding", FMargin( 2.0f, 2.0f, 4.0f, 4.0f ) );
  1527.  
  1528.         Set( "ToolBar.Separator", new BOX_BRUSH( "Old/Button", 4.0f/32.0f ) );
  1529.         Set( "ToolBar.Separator.Padding", FMargin( 0.5f ) );
  1530.  
  1531.         Set( "ToolBar.Label", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) ) );
  1532.         Set( "ToolBar.EditableText", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) ) );
  1533.         Set( "ToolBar.Keybinding", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) ) );
  1534.  
  1535.         Set( "ToolBar.Heading", FTextBlockStyle(NormalText)
  1536.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) )
  1537.             .SetColorAndOpacity( FLinearColor( 0.4f, 0.4, 0.4f, 1.0f ) ) );
  1538.  
  1539.         /* Create style for "ToolBar.CheckBox" widget ... */
  1540.         const FCheckBoxStyle ToolBarCheckBoxStyle = FCheckBoxStyle()
  1541.                 .SetUncheckedImage( IMAGE_BRUSH( "Common/SmallCheckbox", Icon14x14 ) )
  1542.                 .SetCheckedImage( IMAGE_BRUSH( "Common/SmallCheckbox_Checked",  Icon14x14 ) )
  1543.                 .SetUncheckedHoveredImage( IMAGE_BRUSH( "Common/SmallCheckbox_Hovered", Icon14x14 ) )
  1544.                 .SetCheckedImage( IMAGE_BRUSH( "Common/SmallCheckbox_Checked_Hovered", Icon14x14 ) )
  1545.                 .SetUncheckedPressedImage(IMAGE_BRUSH( "Common/SmallCheckbox_Hovered", Icon14x14, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  1546.                 .SetCheckedPressedImage( IMAGE_BRUSH( "Common/SmallCheckbox_Checked_Hovered", Icon14x14, FLinearColor( 0.5f, 0.5f, 0.5f ) ) );
  1547.         /* ... and add new style */
  1548.         Set( "ToolBar.CheckBox", ToolBarCheckBoxStyle );
  1549.  
  1550.         // This radio button is actually just a check box with different images
  1551.         /* Create style for "ToolBar.RadioButton" widget ... */
  1552.         const FCheckBoxStyle ToolbarRadioButtonCheckBoxStyle = FCheckBoxStyle()
  1553.                 .SetUncheckedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16 ) )
  1554.                 .SetCheckedImage( IMAGE_BRUSH( "Common/RadioButton_Selected_16x",  Icon16x16 ) )
  1555.                 .SetUncheckedHoveredImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16, SelectionColor ) )
  1556.                 .SetCheckedHoveredImage( IMAGE_BRUSH( "Common/RadioButton_Selected_16x", Icon16x16, SelectionColor ) )
  1557.                 .SetUncheckedPressedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16, SelectionColor_Pressed ) )
  1558.                 .SetCheckedPressedImage( IMAGE_BRUSH( "Common/RadioButton_Selected_16x", Icon16x16, SelectionColor_Pressed ) );
  1559.  
  1560.         /* ... and add new style */
  1561.         Set( "ToolBar.RadioButton", ToolbarRadioButtonCheckBoxStyle );
  1562.  
  1563.         /* Create style for "ToolBar.ToggleButton" widget ... */
  1564.         const FCheckBoxStyle ToolBarToggleButtonCheckBoxStyle = FCheckBoxStyle()
  1565.                 .SetCheckBoxType( ESlateCheckBoxType::ToggleButton )
  1566.                 .SetUncheckedImage( FSlateNoResource() )
  1567.                 .SetUncheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ) )
  1568.                 .SetUncheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor ) )
  1569.                 .SetCheckedImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) )
  1570.                 .SetCheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) )
  1571.                 .SetCheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor ) );
  1572.         /* ... and add new style */
  1573.         Set( "ToolBar.ToggleButton", ToolBarToggleButtonCheckBoxStyle );
  1574.  
  1575.         Set( "ToolBar.Button", FButtonStyle(Button)
  1576.             .SetNormal ( FSlateNoResource() )
  1577.             .SetPressed( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ) )
  1578.             .SetHovered( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor ) )
  1579.         );
  1580.  
  1581.         Set( "ToolBar.Button.Normal", new FSlateNoResource() );
  1582.         Set( "ToolBar.Button.Pressed", new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ) );
  1583.         Set( "ToolBar.Button.Hovered", new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor ) );
  1584.  
  1585.         Set( "ToolBar.Button.Checked", new BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) );
  1586.         Set( "ToolBar.Button.Checked_Hovered", new BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) );
  1587.         Set( "ToolBar.Button.Checked_Pressed", new BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor ) );
  1588.     }
  1589.  
  1590.  
  1591.     // MenuBar
  1592.     {
  1593.         Set( "Menu.Background", new BOX_BRUSH( "Old/Menu_Background", FMargin(8.0f/64.0f) ) );
  1594.         Set( "Menu.Icon", new IMAGE_BRUSH( "Icons/icon_tab_toolbar_16px", Icon16x16 ) );
  1595.         Set( "Menu.Expand", new IMAGE_BRUSH( "Icons/toolbar_expand_16x", Icon16x16) );
  1596.         Set( "Menu.SubMenuIndicator", new IMAGE_BRUSH( "Common/SubmenuArrow", Icon8x8 ) );
  1597.         Set( "Menu.SToolBarComboButtonBlock.Padding", FMargin(4.0f));
  1598.         Set( "Menu.SToolBarButtonBlock.Padding", FMargin(4.0f));
  1599.         Set( "Menu.SToolBarCheckComboButtonBlock.Padding", FMargin(4.0f));
  1600.         Set( "Menu.SToolBarButtonBlock.CheckBox.Padding", FMargin(0.0f) );
  1601.         Set( "Menu.SToolBarComboButtonBlock.ComboButton.Color", DefaultForeground );
  1602.  
  1603.         Set( "Menu.Block.IndentedPadding", FMargin( 18.0f, 2.0f, 4.0f, 4.0f ) );
  1604.         Set( "Menu.Block.Padding", FMargin( 2.0f, 2.0f, 4.0f, 4.0f ) );
  1605.  
  1606.         Set( "Menu.Separator", new BOX_BRUSH( "Old/Button", 4.0f/32.0f ) );
  1607.         Set( "Menu.Separator.Padding", FMargin( 0.5f ) );
  1608.  
  1609.         Set( "Menu.Label", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) ) );
  1610.         Set( "Menu.EditableText", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) ) );
  1611.         Set( "Menu.Keybinding", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) ) );
  1612.  
  1613.         Set( "Menu.Heading", FTextBlockStyle(NormalText)
  1614.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) )
  1615.             .SetColorAndOpacity( FLinearColor( 0.4f, 0.4, 0.4f, 1.0f ) ) );
  1616.  
  1617.         /* Set images for various SCheckBox states associated with menu check box items... */
  1618.         const FCheckBoxStyle BasicMenuCheckBoxStyle = FCheckBoxStyle()
  1619.             .SetUncheckedImage( IMAGE_BRUSH( "Common/SmallCheckbox", Icon14x14 ) )
  1620.             .SetUncheckedHoveredImage( IMAGE_BRUSH( "Common/SmallCheckbox_Hovered", Icon14x14 ) )
  1621.             .SetUncheckedPressedImage( IMAGE_BRUSH( "Common/SmallCheckbox_Hovered", Icon14x14, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  1622.             .SetCheckedImage( IMAGE_BRUSH( "Common/SmallCheckbox_Checked", Icon14x14 ) )
  1623.             .SetCheckedHoveredImage( IMAGE_BRUSH( "Common/SmallCheckbox_Checked_Hovered", Icon14x14 ) )
  1624.             .SetCheckedPressedImage( IMAGE_BRUSH( "Common/SmallCheckbox_Checked_Hovered", Icon14x14, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  1625.             .SetUndeterminedImage( IMAGE_BRUSH( "Common/Checkbox_Undetermined", Icon16x16 ) )
  1626.             .SetUndeterminedHoveredImage( IMAGE_BRUSH( "Common/Checkbox_Checked_Hovered", Icon16x16 ) )
  1627.             .SetUndeterminedPressedImage( IMAGE_BRUSH( "Common/Checkbox_Undetermined_Hovered", Icon16x16, FLinearColor( 0.5f, 0.5f, 0.5f ) ) );
  1628.  
  1629.         /* ...and add the new style */
  1630.         Set( "Menu.CheckBox", BasicMenuCheckBoxStyle );
  1631.                        
  1632.         /* Read-only checkbox that appears next to a menu item */
  1633.         /* Set images for various SCheckBox states associated with read-only menu check box items... */
  1634.         const FCheckBoxStyle BasicMenuCheckStyle = FCheckBoxStyle()
  1635.             .SetUncheckedImage( IMAGE_BRUSH( "Icons/Empty_14x", Icon14x14 ) )
  1636.             .SetUncheckedHoveredImage( IMAGE_BRUSH( "Icons/Empty_14x", Icon14x14 ) )
  1637.             .SetUncheckedPressedImage( IMAGE_BRUSH( "Common/SmallCheckbox_Hovered", Icon14x14 ) )
  1638.             .SetCheckedImage( IMAGE_BRUSH( "Common/SmallCheck", Icon14x14 ) )
  1639.             .SetCheckedHoveredImage( IMAGE_BRUSH( "Common/SmallCheck", Icon14x14 ) )
  1640.             .SetCheckedPressedImage( IMAGE_BRUSH( "Common/SmallCheck", Icon14x14 ) )
  1641.             .SetUndeterminedImage( IMAGE_BRUSH( "Icons/Empty_14x", Icon14x14 ) )
  1642.             .SetUndeterminedHoveredImage( FSlateNoResource() )
  1643.             .SetUndeterminedPressedImage( FSlateNoResource() );
  1644.  
  1645.         /* ...and add the new style */
  1646.         Set( "Menu.Check", BasicMenuCheckStyle );
  1647.  
  1648.         /* This radio button is actually just a check box with different images */
  1649.         /* Set images for various Menu radio button (SCheckBox) states... */
  1650.         const FCheckBoxStyle BasicMenuRadioButtonStyle = FCheckBoxStyle()
  1651.             .SetUncheckedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16 ) )
  1652.             .SetUncheckedHoveredImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16 ) )
  1653.             .SetUncheckedPressedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16 ) )
  1654.             .SetCheckedImage( IMAGE_BRUSH( "Common/RadioButton_Selected_16x", Icon16x16 ) )
  1655.             .SetCheckedHoveredImage( IMAGE_BRUSH( "Common/RadioButton_Selected_16x", Icon16x16, SelectionColor ) )
  1656.             .SetCheckedPressedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16, SelectionColor_Pressed ) )
  1657.             .SetUndeterminedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16 ) )
  1658.             .SetUndeterminedHoveredImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16, SelectionColor ) )
  1659.             .SetUndeterminedPressedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16, SelectionColor_Pressed ) );
  1660.  
  1661.         /* ...and set new style */
  1662.         Set( "Menu.RadioButton", BasicMenuRadioButtonStyle );
  1663.  
  1664.         /* Create style for "Menu.ToggleButton" widget ... */
  1665.         const FCheckBoxStyle MenuToggleButtonCheckBoxStyle = FCheckBoxStyle()
  1666.             .SetCheckBoxType( ESlateCheckBoxType::ToggleButton )
  1667.             .SetUncheckedImage( FSlateNoResource() )
  1668.             .SetUncheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ) )
  1669.             .SetUncheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor ) )
  1670.             .SetCheckedImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) )
  1671.             .SetCheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) )
  1672.             .SetCheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor ) );
  1673.         /* ... and add new style */
  1674.         Set( "Menu.ToggleButton", MenuToggleButtonCheckBoxStyle );
  1675.  
  1676.         Set( "Menu.Button", FButtonStyle( NoBorder )
  1677.             .SetNormal ( FSlateNoResource() )
  1678.             .SetPressed( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ) )
  1679.             .SetHovered( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor ) )
  1680.             .SetNormalPadding( FMargin(0,1) )
  1681.             .SetPressedPadding( FMargin(0,2,0,0) )
  1682.         );
  1683.  
  1684.         Set( "Menu.Button.Checked", new BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) );
  1685.         Set( "Menu.Button.Checked_Hovered", new BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) );
  1686.         Set( "Menu.Button.Checked_Pressed", new BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor ) );
  1687.  
  1688.         /* The style of a menu bar button when it has a sub menu open */
  1689.         Set( "Menu.Button.SubMenuOpen", new BORDER_BRUSH( "Common/Selection", FMargin(4.f/16.f), FLinearColor(0.10f, 0.10f, 0.10f) ) );
  1690.     }
  1691.  
  1692.     // ViewportLayoutToolbar
  1693.     {
  1694.         const FLinearColor LayoutSelectionColor_Hovered = FLinearColor(0.5f, 0.5f, 0.5f);
  1695.  
  1696.         Set( "ViewportLayoutToolbar.Background",    new FSlateNoResource() );
  1697.  
  1698.         /* Create style for "ViewportLayoutToolbar.ToggleButton" ... */
  1699.         const FCheckBoxStyle ViewportLayoutToolbarToggleButtonStyle = FCheckBoxStyle()
  1700.             .SetCheckBoxType( ESlateCheckBoxType::ToggleButton )
  1701.             .SetUncheckedImage( FSlateNoResource() )
  1702.             .SetUncheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, LayoutSelectionColor_Hovered ) )
  1703.             .SetUncheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, LayoutSelectionColor_Hovered ) )
  1704.             .SetCheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor ) )
  1705.             .SetCheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor ) )
  1706.             .SetCheckedImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor ) );
  1707.         /* ... and add new style */
  1708.         Set( "ViewportLayoutToolbar.ToggleButton", ViewportLayoutToolbarToggleButtonStyle );
  1709.  
  1710.         Set( "ViewportLayoutToolbar.SToolBarButtonBlock.Padding", FMargin(4.0f) );
  1711.         Set( "ViewportLayoutToolbar.SToolBarButtonBlock.CheckBox.Padding", FMargin(0.0f) );
  1712.         Set( "ViewportLayoutToolbar.SToolBarComboButtonBlock.ComboButton.Color", DefaultForeground );
  1713.         }
  1714.  
  1715.     // NotificationBar
  1716.     {
  1717.         Set( "NotificationBar.Background"new FSlateNoResource() );
  1718.         Set( "NotificationBar.Icon", new FSlateNoResource() );
  1719.         Set( "NotificationBar.Expand", new IMAGE_BRUSH( "Icons/toolbar_expand_16x", Icon16x16) );
  1720.         Set( "NotificationBar.SubMenuIndicator", new IMAGE_BRUSH( "Common/SubmenuArrow", Icon8x8 ) );
  1721.  
  1722.         Set( "NotificationBar.Block.IndentedPadding", FMargin( 0 ) );
  1723.         Set( "NotificationBar.Block.Padding", FMargin( 0 ) );
  1724.  
  1725.         Set( "NotificationBar.Separator", new BOX_BRUSH( "Old/Button", 4.0f/32.0f ) );
  1726.         Set( "NotificationBar.Separator.Padding", FMargin( 0.5f ) );
  1727.  
  1728.         Set( "NotificationBar.Label", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) ) );
  1729.         Set( "NotificationBar.EditableText", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) ) );
  1730.         Set( "NotificationBar.Keybinding", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) ) );
  1731.  
  1732.         Set( "NotificationBar.Heading", FTextBlockStyle(NormalText)
  1733.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) )
  1734.             .SetColorAndOpacity( FLinearColor( 0.4f, 0.4, 0.4f, 1.0f ) ) );
  1735.  
  1736.         const FCheckBoxStyle NotificationBarCheckBoxCheckBoxStyle = FCheckBoxStyle()
  1737.             .SetUncheckedImage( IMAGE_BRUSH( "Common/SmallCheckbox", Icon14x14 ) )
  1738.             .SetUncheckedPressedImage( IMAGE_BRUSH( "Common/SmallCheckbox_Hovered", Icon14x14, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  1739.             .SetUncheckedHoveredImage( IMAGE_BRUSH( "Common/SmallCheckbox_Hovered", Icon14x14 ) )
  1740.             .SetCheckedHoveredImage( IMAGE_BRUSH( "Common/SmallCheckbox_Checked_Hovered", Icon14x14 ) )
  1741.             .SetCheckedPressedImage( IMAGE_BRUSH( "Common/SmallCheckbox_Checked_Hovered", Icon14x14, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  1742.             .SetCheckedImage( IMAGE_BRUSH( "Common/SmallCheckbox_Checked",  Icon14x14 ) )
  1743.             .SetUndeterminedImage( IMAGE_BRUSH( "Common/Checkbox_Undetermined", Icon16x16 ) )
  1744.             .SetUndeterminedPressedImage( IMAGE_BRUSH( "Common/Checkbox_Undetermined_Hovered", Icon16x16, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  1745.             .SetUndeterminedHoveredImage( IMAGE_BRUSH( "Common/Checkbox_Checked_Hovered", Icon16x16 ) );
  1746.         Set( "NotificationBar.CheckBox", NotificationBarCheckBoxCheckBoxStyle );
  1747.  
  1748.         // Read-only checkbox that appears next to a menu item
  1749.         const FCheckBoxStyle NotificationBarCheckCheckBoxStyle = FCheckBoxStyle()
  1750.             .SetUncheckedImage( IMAGE_BRUSH( "Icons/Empty_14x", Icon14x14 ) )
  1751.             .SetUncheckedPressedImage( FSlateNoResource() )
  1752.             .SetUncheckedHoveredImage( FSlateNoResource() )
  1753.             .SetCheckedHoveredImage( IMAGE_BRUSH( "Common/SmallCheck",  Icon14x14 ) )
  1754.             .SetCheckedPressedImage( IMAGE_BRUSH( "Common/SmallCheck",  Icon14x14 ) )
  1755.             .SetCheckedImage( IMAGE_BRUSH( "Common/SmallCheck",  Icon14x14 ) )
  1756.             .SetUndeterminedImage( IMAGE_BRUSH( "Icons/Empty_14x", Icon14x14 ) )
  1757.             .SetUndeterminedPressedImage( FSlateNoResource() )
  1758.             .SetUndeterminedHoveredImage( FSlateNoResource() );
  1759.         Set( "NotificationBar.Check", NotificationBarCheckCheckBoxStyle );
  1760.  
  1761.         // This radio button is actually just a check box with different images
  1762.         const FCheckBoxStyle NotificationBarRadioButtonCheckBoxStyle = FCheckBoxStyle()
  1763.             .SetUncheckedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16 ) )
  1764.             .SetUncheckedPressedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16, SelectionColor_Pressed ) )
  1765.             .SetUncheckedHoveredImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16, SelectionColor ) )
  1766.             .SetCheckedHoveredImage( IMAGE_BRUSH( "Common/RadioButton_Selected_16x", Icon16x16, SelectionColor ) )
  1767.             .SetCheckedPressedImage( IMAGE_BRUSH( "Common/RadioButton_Selected_16x", Icon16x16, SelectionColor_Pressed ) )
  1768.             .SetCheckedImage( IMAGE_BRUSH( "Common/RadioButton_Selected_16x",  Icon16x16 ) );
  1769.         Set( "NotificationBar.RadioButton", NotificationBarRadioButtonCheckBoxStyle );
  1770.  
  1771.         const FCheckBoxStyle NotificationBarToggleButtonCheckBoxStyle = FCheckBoxStyle()
  1772.             .SetCheckBoxType( ESlateCheckBoxType::ToggleButton )
  1773.             .SetUncheckedImage( FSlateNoResource() )
  1774.             .SetUncheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ) )
  1775.             .SetUncheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor ) )
  1776.             .SetCheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) )
  1777.             .SetCheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor ) )
  1778.             .SetCheckedImage( BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) );
  1779.         Set( "NotificationBar.ToggleButton", NotificationBarToggleButtonCheckBoxStyle );
  1780.  
  1781.         Set( "NotificationBar.Button", FButtonStyle( NoBorder )
  1782.             .SetNormal ( FSlateNoResource() )
  1783.             .SetPressed( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ) )
  1784.             .SetHovered( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor ) )
  1785.             .SetNormalPadding( FMargin(0,1) )
  1786.             .SetPressedPadding( FMargin(0,2,0,0) )
  1787.             );
  1788.  
  1789.         Set( "NotificationBar.Button.Checked", new BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) );
  1790.         Set( "NotificationBar.Button.Checked_Hovered", new BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor_Pressed ) );
  1791.         Set( "NotificationBar.Button.Checked_Pressed", new BOX_BRUSH( "Common/RoundedSelection_16x",  4.0f/16.0f, SelectionColor ) );
  1792.  
  1793.         Set( "NotificationBar.SToolBarButtonBlock.CheckBox.Padding", FMargin(4.0f) );
  1794.         Set( "NotificationBar.SToolBarComboButtonBlock.ComboButton.Color", DefaultForeground );
  1795.     }
  1796.  
  1797.     // Viewport ToolbarBar
  1798.     {
  1799.         Set( "ViewportMenu.Background", new BOX_BRUSH( "Old/Menu_Background", FMargin(8.0f/64.0f), FLinearColor::Transparent ) );
  1800.         Set( "ViewportMenu.Icon", new IMAGE_BRUSH( "Icons/icon_tab_toolbar_16px", Icon16x16 ) );
  1801.         Set( "ViewportMenu.Expand", new IMAGE_BRUSH( "Icons/toolbar_expand_16x", Icon8x8) );
  1802.         Set( "ViewportMenu.SubMenuIndicator", new IMAGE_BRUSH( "Common/SubmenuArrow", Icon8x8) );
  1803.         Set( "ViewportMenu.SToolBarComboButtonBlock.Padding", FMargin(0));
  1804.         Set( "ViewportMenu.SToolBarButtonBlock.Padding", FMargin(0));
  1805.         Set( "ViewportMenu.SToolBarCheckComboButtonBlock.Padding", FMargin(0));
  1806.         Set( "ViewportMenu.SToolBarButtonBlock.CheckBox.Padding", FMargin(4.0f) );
  1807.         Set( "ViewportMenu.SToolBarComboButtonBlock.ComboButton.Color", FLinearColor(0.f,0.f,0.f,0.75f) );
  1808.  
  1809.         Set( "ViewportMenu.Separator", new BOX_BRUSH( "Old/Button", 8.0f/32.0f, FLinearColor::Transparent ) );
  1810.         Set( "ViewportMenu.Separator.Padding", FMargin( 100.0f ) );
  1811.  
  1812.         Set( "ViewportMenu.Label.Font", TTF_CORE_FONT( "Fonts/Roboto-Bold", 9) );
  1813.         Set( "ViewportMenu.EditableText.Font", TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) );
  1814.         Set( "ViewportMenu.Keybinding.Font", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  1815.  
  1816.         Set( "ViewportMenu.Block.IndentedPadding", FMargin( 0 ) );
  1817.         Set( "ViewportMenu.Block.Padding", FMargin( 0 ) );
  1818.  
  1819.         Set( "ViewportMenu.Heading.Font", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  1820.         Set( "ViewportMenu.Heading.ColorAndOpacity", FLinearColor( 0.4f, 0.4, 0.4f, 1.0f ) );
  1821.    
  1822.         const FCheckBoxStyle ViewportMenuCheckBoxCheckBoxStyle = FCheckBoxStyle()
  1823.             .SetUncheckedImage(         IMAGE_BRUSH( "Common/SmallCheckbox", Icon14x14 ) )
  1824.             .SetUncheckedPressedImage(  IMAGE_BRUSH( "Common/SmallCheckbox_Hovered", Icon14x14, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  1825.             .SetUncheckedHoveredImage(  IMAGE_BRUSH( "Common/SmallCheckbox_Hovered", Icon14x14 ) )
  1826.             .SetCheckedHoveredImage(    IMAGE_BRUSH( "Common/SmallCheckbox_Checked_Hovered", Icon14x14 ) )
  1827.             .SetCheckedPressedImage(    IMAGE_BRUSH( "Common/SmallCheckbox_Checked_Hovered", Icon14x14, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  1828.             .SetCheckedImage(           IMAGE_BRUSH( "Common/SmallCheckbox_Checked",  Icon14x14 ) );
  1829.         Set( "ViewportMenu.CheckBox", ViewportMenuCheckBoxCheckBoxStyle );
  1830.  
  1831.         // Read-only checkbox that appears next to a menu item
  1832.         const FCheckBoxStyle ViewportMenuCheckCheckBoxStyle = FCheckBoxStyle()
  1833.             .SetUncheckedImage(         IMAGE_BRUSH( "Icons/Empty_14x", Icon14x14 ) )
  1834.             .SetUncheckedPressedImage(  FSlateNoResource() )
  1835.             .SetUncheckedHoveredImage(  FSlateNoResource() )
  1836.             .SetCheckedHoveredImage(    IMAGE_BRUSH( "Common/SmallCheck",  Icon14x14 ) )
  1837.             .SetCheckedPressedImage(    IMAGE_BRUSH( "Common/SmallCheck",  Icon14x14 ) )
  1838.             .SetCheckedImage(           IMAGE_BRUSH( "Common/SmallCheck",  Icon14x14 ) );
  1839.         Set( "ViewportMenu.Check", ViewportMenuCheckCheckBoxStyle );
  1840.  
  1841.         const FString SmallRoundedButton            (TEXT("Common/SmallRoundedButton"));
  1842.         const FString SmallRoundedButtonStart       (TEXT("Common/SmallRoundedButtonLeft"));
  1843.         const FString SmallRoundedButtonMiddle  (TEXT("Common/SmallRoundedButtonCentre"));
  1844.         const FString SmallRoundedButtonEnd     (TEXT("Common/SmallRoundedButtonRight"));
  1845.  
  1846.         const FLinearColor NormalColor(1,1,1,0.75f);
  1847.         const FLinearColor PressedColor(1,1,1,1.f);
  1848.  
  1849.         const FCheckBoxStyle ViewportMenuRadioButtonCheckBoxStyle = FCheckBoxStyle()
  1850.             .SetUncheckedImage(         IMAGE_BRUSH( "Common/MenuItemRadioButton_Off", Icon14x14 ) )
  1851.             .SetUncheckedPressedImage(  IMAGE_BRUSH( "Common/MenuItemRadioButton_Off", Icon14x14, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  1852.             .SetUncheckedHoveredImage(  IMAGE_BRUSH( "Common/MenuItemRadioButton_Off", Icon14x14 ) )
  1853.             .SetCheckedHoveredImage(    IMAGE_BRUSH( "Common/MenuItemRadioButton_On", Icon14x14 ) )
  1854.             .SetCheckedPressedImage(    IMAGE_BRUSH( "Common/MenuItemRadioButton_On_Pressed", Icon14x14 ) )
  1855.             .SetCheckedImage(           IMAGE_BRUSH( "Common/MenuItemRadioButton_On",  Icon14x14 ) );
  1856.         Set( "ViewportMenu.RadioButton", ViewportMenuRadioButtonCheckBoxStyle );
  1857.  
  1858.         /* Create style for "ViewportMenu.ToggleButton" ... */
  1859.         const FCheckBoxStyle ViewportMenuToggleButtonStyle = FCheckBoxStyle()
  1860.             .SetCheckBoxType(           ESlateCheckBoxType::ToggleButton )
  1861.             .SetUncheckedImage(         BOX_BRUSH( *SmallRoundedButton, FMargin(7.f/16.f), NormalColor ) )
  1862.             .SetUncheckedPressedImage(  BOX_BRUSH( *SmallRoundedButton, FMargin(7.f/16.f), PressedColor ) )
  1863.             .SetUncheckedHoveredImage(  BOX_BRUSH( *SmallRoundedButton, FMargin(7.f/16.f), PressedColor ) )
  1864.             .SetCheckedHoveredImage(    BOX_BRUSH( *SmallRoundedButton, FMargin(7.f/16.f), SelectionColor_Pressed ) )
  1865.             .SetCheckedPressedImage(    BOX_BRUSH( *SmallRoundedButton, FMargin(7.f/16.f), SelectionColor_Pressed )  )
  1866.             .SetCheckedImage(           BOX_BRUSH( *SmallRoundedButton, FMargin(7.f/16.f), SelectionColor_Pressed ) );
  1867.         /* ... and add new style */
  1868.         Set( "ViewportMenu.ToggleButton", ViewportMenuToggleButtonStyle );
  1869.  
  1870.         /* Create style for "ViewportMenu.ToggleButton.Start" ... */
  1871.         const FCheckBoxStyle ViewportMenuToggleStartButtonStyle = FCheckBoxStyle()
  1872.             .SetCheckBoxType(           ESlateCheckBoxType::ToggleButton )
  1873.             .SetUncheckedImage(         BOX_BRUSH( *SmallRoundedButtonStart, FMargin(7.f/16.f), NormalColor ) )
  1874.             .SetUncheckedPressedImage(  BOX_BRUSH( *SmallRoundedButtonStart, FMargin(7.f/16.f), PressedColor ) )
  1875.             .SetUncheckedHoveredImage(  BOX_BRUSH( *SmallRoundedButtonStart, FMargin(7.f/16.f), PressedColor ) )
  1876.             .SetCheckedHoveredImage(    BOX_BRUSH( *SmallRoundedButtonStart, FMargin(7.f/16.f), SelectionColor_Pressed ) )
  1877.             .SetCheckedPressedImage(    BOX_BRUSH( *SmallRoundedButtonStart, FMargin(7.f/16.f), SelectionColor_Pressed )  )
  1878.             .SetCheckedImage(           BOX_BRUSH( *SmallRoundedButtonStart, FMargin(7.f/16.f), SelectionColor_Pressed ) );
  1879.         /* ... and add new style */
  1880.         Set( "ViewportMenu.ToggleButton.Start", ViewportMenuToggleStartButtonStyle );
  1881.  
  1882.         /* Create style for "ViewportMenu.ToggleButton.Middle" ... */
  1883.         const FCheckBoxStyle ViewportMenuToggleMiddleButtonStyle = FCheckBoxStyle()
  1884.             .SetCheckBoxType(           ESlateCheckBoxType::ToggleButton )
  1885.             .SetUncheckedImage(         BOX_BRUSH( *SmallRoundedButtonMiddle, FMargin(7.f/16.f), NormalColor ) )
  1886.             .SetUncheckedPressedImage(  BOX_BRUSH( *SmallRoundedButtonMiddle, FMargin(7.f/16.f), PressedColor ) )
  1887.             .SetUncheckedHoveredImage(  BOX_BRUSH( *SmallRoundedButtonMiddle, FMargin(7.f/16.f), PressedColor ) )
  1888.             .SetCheckedHoveredImage(    BOX_BRUSH( *SmallRoundedButtonMiddle, FMargin(7.f/16.f), SelectionColor_Pressed ) )
  1889.             .SetCheckedPressedImage(    BOX_BRUSH( *SmallRoundedButtonMiddle, FMargin(7.f/16.f), SelectionColor_Pressed )  )
  1890.             .SetCheckedImage(           BOX_BRUSH( *SmallRoundedButtonMiddle, FMargin(7.f/16.f), SelectionColor_Pressed ) );
  1891.         /* ... and add new style */
  1892.         Set( "ViewportMenu.ToggleButton.Middle", ViewportMenuToggleMiddleButtonStyle );
  1893.  
  1894.         /* Create style for "ViewportMenu.ToggleButton.End" ... */
  1895.         const FCheckBoxStyle ViewportMenuToggleEndButtonStyle = FCheckBoxStyle()
  1896.             .SetCheckBoxType(           ESlateCheckBoxType::ToggleButton )
  1897.             .SetUncheckedImage(         BOX_BRUSH( *SmallRoundedButtonEnd, FMargin(7.f/16.f), NormalColor ) )
  1898.             .SetUncheckedPressedImage(  BOX_BRUSH( *SmallRoundedButtonEnd, FMargin(7.f/16.f), PressedColor ) )
  1899.             .SetUncheckedHoveredImage(  BOX_BRUSH( *SmallRoundedButtonEnd, FMargin(7.f/16.f), PressedColor ) )
  1900.             .SetCheckedHoveredImage(    BOX_BRUSH( *SmallRoundedButtonEnd,  FMargin(7.f/16.f), SelectionColor_Pressed ) )
  1901.             .SetCheckedPressedImage(    BOX_BRUSH( *SmallRoundedButtonEnd,  FMargin(7.f/16.f), SelectionColor_Pressed )  )
  1902.             .SetCheckedImage(           BOX_BRUSH( *SmallRoundedButtonEnd,  FMargin(7.f/16.f), SelectionColor_Pressed ) );
  1903.         /* ... and add new style */
  1904.         Set( "ViewportMenu.ToggleButton.End", ViewportMenuToggleEndButtonStyle );
  1905.  
  1906.         const FMargin NormalPadding = FMargin(4.0f,4.0f,4.0f,4.0f);
  1907.         const FMargin PressedPadding = FMargin(4.0f,4.0f,4.0f,4.0f);
  1908.  
  1909.         const FButtonStyle ViewportMenuButton = FButtonStyle(Button)
  1910.             .SetNormal ( BOX_BRUSH( *SmallRoundedButton, 7.0f/16.0f, NormalColor))
  1911.             .SetPressed( BOX_BRUSH( *SmallRoundedButton, 7.0f/16.0f, PressedColor ) )
  1912.             .SetHovered( BOX_BRUSH( *SmallRoundedButton, 7.0f/16.0f, PressedColor ) )
  1913.             .SetPressedPadding(PressedPadding)
  1914.             .SetNormalPadding(NormalPadding);
  1915.  
  1916.         Set( "ViewportMenu.Button", ViewportMenuButton );
  1917.  
  1918.         Set( "ViewportMenu.Button.Start", FButtonStyle(ViewportMenuButton)
  1919.             .SetNormal ( BOX_BRUSH( *SmallRoundedButtonStart, 7.0f/16.0f, NormalColor))
  1920.             .SetPressed( BOX_BRUSH( *SmallRoundedButtonStart, 7.0f/16.0f, PressedColor ) )
  1921.             .SetHovered( BOX_BRUSH( *SmallRoundedButtonStart, 7.0f/16.0f, PressedColor ) )
  1922.             );
  1923.  
  1924.         Set( "ViewportMenu.Button.Middle", FButtonStyle(ViewportMenuButton)
  1925.             .SetNormal ( BOX_BRUSH( *SmallRoundedButtonMiddle, 7.0f/16.0f, NormalColor))
  1926.             .SetPressed( BOX_BRUSH( *SmallRoundedButtonMiddle, 7.0f/16.0f, PressedColor ) )
  1927.             .SetHovered( BOX_BRUSH( *SmallRoundedButtonMiddle, 7.0f/16.0f, PressedColor ) )
  1928.             );
  1929.  
  1930.         Set( "ViewportMenu.Button.End", FButtonStyle(ViewportMenuButton)
  1931.             .SetNormal ( BOX_BRUSH( *SmallRoundedButtonEnd, 7.0f/16.0f, NormalColor))
  1932.             .SetPressed( BOX_BRUSH( *SmallRoundedButtonEnd, 7.0f/16.0f, PressedColor ) )
  1933.             .SetHovered( BOX_BRUSH( *SmallRoundedButtonEnd, 7.0f/16.0f, PressedColor ) )
  1934.             );
  1935.     }
  1936.  
  1937.     // Viewport actor preview's pin/unpin buttons
  1938.     {
  1939.         Set( "ViewportActorPreview.Pinned", new IMAGE_BRUSH( "Common/PushPin_Down", Icon16x16 ) );
  1940.         Set( "ViewportActorPreview.Unpinned", new IMAGE_BRUSH( "Common/PushPin_Up", Icon16x16 ) );
  1941.     }
  1942.  
  1943.     // Standard Dialog Settings
  1944.     {
  1945.         Set("StandardDialog.ContentPadding",FMargin(12.0f,2.0f));
  1946.         Set("StandardDialog.SlotPadding",FMargin(6.0f, 0.0f, 6.0f, 0.0f));
  1947.         Set("StandardDialog.MinDesiredSlotWidth", 80.0f );
  1948.         Set("StandardDialog.MinDesiredSlotHeight", 0.0f );
  1949.         Set("StandardDialog.LargeFont",  TTF_CORE_FONT( "Fonts/Roboto-Regular", 11 ) );
  1950.     }
  1951.  
  1952.     // Highres Screenshot
  1953.     {
  1954.         Set("HighresScreenshot.WarningStrip", new IMAGE_BRUSH( "Common/WarningStripe", FVector2D(20,6), FLinearColor::White, ESlateBrushTileType::Horizontal ) );
  1955.         Set("HighresScreenshot.SpecifyCaptureRectangle", new IMAGE_BRUSH( "Icons/icon_CaptureRegion_24x", Icon24x24 ) );
  1956.         Set("HighresScreenshot.FullViewportCaptureRegion", new IMAGE_BRUSH( "Icons/icon_CaptureRegion_FullViewport_24x", Icon24x24 ) );
  1957.         Set("HighresScreenshot.Capture", new IMAGE_BRUSH( "Icons/icon_HighResScreenshotCapture_24px", Icon24x24 ) );
  1958.         Set("HighresScreenshot.AcceptCaptureRegion", new IMAGE_BRUSH( "Icons/icon_CaptureRegionAccept_24x", Icon24x24 ) );
  1959.         Set("HighresScreenshot.DiscardCaptureRegion", new IMAGE_BRUSH( "Icons/icon_CaptureRegionDiscard_24x", Icon24x24 ) );
  1960.     }
  1961.  
  1962.     // Scalability
  1963.     {
  1964.         const float Tint = 0.65f;
  1965.         Set("Scalability.RowBackground", new BOX_BRUSH( "Common/GroupBorder", FMargin(4.0f/16.0f), FLinearColor(Tint, Tint, Tint) ) );
  1966.         Set("Scalability.TitleFont", TTF_CORE_FONT( "Fonts/Roboto-Bold", 12 ) );
  1967.         Set("Scalability.GroupFont", TTF_CORE_FONT( "Fonts/Roboto-Bold", 10 ) );
  1968.     }
  1969.  
  1970.     // User Feedback
  1971.     {
  1972.         Set( "UserFeedback.Button", FButtonStyle()
  1973.             .SetNormalPadding(0)
  1974.             .SetPressedPadding(0)
  1975.             .SetNormal (IMAGE_BRUSH( "UserFeedback/Feedback_Normal", Icon16x16 ))
  1976.             .SetHovered(IMAGE_BRUSH( "UserFeedback/Feedback_Hovered", Icon16x16 ))
  1977.             .SetPressed(IMAGE_BRUSH( "UserFeedback/Feedback_Pressed", Icon16x16 ))
  1978.             );
  1979.  
  1980.         Set( "UserFeedback.PositiveIcon", new IMAGE_BRUSH( "UserFeedback/Feedback_Positive", Icon16x16) );
  1981.         Set( "UserFeedback.NegativeIcon", new IMAGE_BRUSH( "UserFeedback/Feedback_Negative", Icon16x16) );
  1982.     }
  1983. #endif // WITH_EDITOR || IS_PROGRAM
  1984. }
  1985.  
  1986. void FSlateEditorStyle::FStyle::SetupWindowStyles()
  1987. {
  1988.     // Window styling
  1989.     {
  1990.         Set( "Window.Background",                 new IMAGE_BRUSH( "Old/Window/WindowBackground", FVector2D(74, 74), FLinearColor::White, ESlateBrushTileType::Both) );
  1991.         Set( "Window.Border",                     new BOX_BRUSH( "Old/Window/WindowBorder", 0.48f ) );
  1992.         Set( "Window.Outline",                    new BORDER_BRUSH( "Old/Window/WindowOutline", FMargin(4.0f/32.0f) ) );
  1993.         Set( "Window.Outline.Color",              FLinearColor(0.1f, 0.1f, 0.1f, 1.0f) );
  1994.         Set( "Window.Title.Active",               new IMAGE_BRUSH( "Old/Window/WindowTitle", Icon32x32, FLinearColor(1,1,1,1), ESlateBrushTileType::Horizontal  ) );
  1995.         Set( "Window.Title.Inactive",             new IMAGE_BRUSH( "Old/Window/WindowTitle_Inactive", Icon32x32, FLinearColor(1,1,1,1), ESlateBrushTileType::Horizontal  ) );
  1996.         Set( "Window.Title.Flash",                new IMAGE_BRUSH( "Old/Window/WindowTitle_Flashing", Icon24x24, FLinearColor(1,1,1,1), ESlateBrushTileType::Horizontal  ) );
  1997.  
  1998. #if PLATFORM_MAC
  1999.         const FButtonStyle MinimizeButtonStyle = FButtonStyle(Button)
  2000.             .SetNormal ( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Minimize_Normal", FVector2D(20, 20) ) )
  2001.             .SetHovered( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Minimize_Hovered", FVector2D(20, 20) ) )
  2002.             .SetPressed( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Minimize_Pressed", FVector2D(20, 20) ) )
  2003.             .SetDisabled( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Disabled", FVector2D(20, 20) ) );
  2004.  
  2005.         Set( "Window.Buttons.Minimize.Normal",    new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Minimize_Normal", FVector2D(20, 20) ) );
  2006.         Set( "Window.Buttons.Minimize.Hovered",   new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Minimize_Hovered", FVector2D(20, 20) ) );
  2007.         Set( "Window.Buttons.Minimize.Pressed",   new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Minimize_Pressed", FVector2D(20, 20) ) );
  2008.         Set( "Window.Buttons.Minimize.Disabled",  new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Disabled", FVector2D(20, 20) ) );
  2009.  
  2010.         const FButtonStyle MaximizeButtonStyle = FButtonStyle(Button)
  2011.             .SetNormal ( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Maximize_Normal", FVector2D(20, 20) ) )
  2012.             .SetHovered( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Maximize_Hovered", FVector2D(20, 20) ) )
  2013.             .SetPressed( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Maximize_Pressed", FVector2D(20, 20) ) )
  2014.             .SetDisabled( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Disabled", FVector2D(20, 20) ) );
  2015.  
  2016.         Set( "Window.Buttons.Maximize.Normal",    new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Maximize_Normal", FVector2D(20, 20) ) );
  2017.         Set( "Window.Buttons.Maximize.Hovered",   new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Maximize_Hovered", FVector2D(20, 20) ) );
  2018.         Set( "Window.Buttons.Maximize.Pressed",   new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Maximize_Pressed", FVector2D(20, 20) ) );
  2019.         Set( "Window.Buttons.Maximize.Disabled",  new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Disabled", FVector2D(20, 20) ) );
  2020.  
  2021.         const FButtonStyle RestoreButtonStyle = FButtonStyle(Button)
  2022.             .SetNormal ( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Maximize_Normal", FVector2D(20, 20) ) )
  2023.             .SetHovered( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Maximize_Hovered", FVector2D(20, 20) ) )
  2024.             .SetPressed( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Maximize_Pressed", FVector2D(20, 20) ) );
  2025.  
  2026.         Set( "Window.Buttons.Restore.Normal",     new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Maximize_Normal", FVector2D(20, 20) ) );
  2027.         Set( "Window.Buttons.Restore.Hovered",    new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Maximize_Hovered", FVector2D(20, 20) ) );
  2028.         Set( "Window.Buttons.Restore.Pressed",    new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Maximize_Pressed", FVector2D(20, 20) ) );
  2029.  
  2030.         const FButtonStyle CloseButtonStyle = FButtonStyle(Button)
  2031.             .SetNormal ( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Close_Normal", FVector2D(20, 20) ) )
  2032.             .SetHovered( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Close_Hovered", FVector2D(20, 20) ) )
  2033.             .SetPressed( IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Close_Pressed", FVector2D(20, 20) ) );
  2034.  
  2035.         Set( "Window.Buttons.Close.Normal",       new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Close_Normal", FVector2D(20, 20) ) );
  2036.         Set( "Window.Buttons.Close.Hovered",      new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Close_Hovered", FVector2D(20, 20) ) );
  2037.         Set( "Window.Buttons.Close.Pressed",      new IMAGE_BRUSH( "Old/Window/WindowButton_Mac_Close_Pressed", FVector2D(20, 20) ) );
  2038. #else
  2039.         const FButtonStyle MinimizeButtonStyle = FButtonStyle(Button)
  2040.             .SetNormal ( IMAGE_BRUSH( "Old/Window/WindowButton_Minimize_Normal", FVector2D(27, 18) ) )
  2041.             .SetHovered( IMAGE_BRUSH( "Old/Window/WindowButton_Minimize_Hovered", FVector2D(27, 18) ) )
  2042.             .SetPressed( IMAGE_BRUSH( "Old/Window/WindowButton_Minimize_Pressed", FVector2D(27, 18) ) )
  2043.             .SetDisabled( IMAGE_BRUSH( "Old/Window/WindowButton_Minimize_Disabled", FVector2D(27, 18) ) );
  2044.  
  2045.         Set( "Window.Buttons.Minimize.Normal",    new IMAGE_BRUSH( "Old/Window/WindowButton_Minimize_Normal", FVector2D(27, 18) ) );
  2046.         Set( "Window.Buttons.Minimize.Hovered",   new IMAGE_BRUSH( "Old/Window/WindowButton_Minimize_Hovered", FVector2D(27, 18) ) );
  2047.         Set( "Window.Buttons.Minimize.Pressed",   new IMAGE_BRUSH( "Old/Window/WindowButton_Minimize_Pressed", FVector2D(27, 18) ) );
  2048.         Set( "Window.Buttons.Minimize.Disabled",   new IMAGE_BRUSH( "Old/Window/WindowButton_Minimize_Disabled", FVector2D(27, 18) ) );
  2049.  
  2050.         const FButtonStyle MaximizeButtonStyle = FButtonStyle(Button)
  2051.             .SetNormal ( IMAGE_BRUSH( "Old/Window/WindowButton_Maximize_Normal", FVector2D(23, 18) ) )
  2052.             .SetHovered( IMAGE_BRUSH( "Old/Window/WindowButton_Maximize_Hovered", FVector2D(23, 18) ) )
  2053.             .SetPressed( IMAGE_BRUSH( "Old/Window/WindowButton_Maximize_Pressed", FVector2D(23, 18) ) )
  2054.             .SetDisabled( IMAGE_BRUSH( "Old/Window/WindowButton_Maximize_Disabled", FVector2D(23, 18) ) );
  2055.  
  2056.         Set( "Window.Buttons.Maximize.Normal",    new IMAGE_BRUSH( "Old/Window/WindowButton_Maximize_Normal", FVector2D(23, 18) ) );
  2057.         Set( "Window.Buttons.Maximize.Hovered",   new IMAGE_BRUSH( "Old/Window/WindowButton_Maximize_Hovered", FVector2D(23, 18) ) );
  2058.         Set( "Window.Buttons.Maximize.Pressed",   new IMAGE_BRUSH( "Old/Window/WindowButton_Maximize_Pressed", FVector2D(23, 18) ) );
  2059.         Set( "Window.Buttons.Maximize.Disabled",   new IMAGE_BRUSH( "Old/Window/WindowButton_Maximize_Disabled", FVector2D(23, 18) ) );
  2060.  
  2061.         const FButtonStyle RestoreButtonStyle = FButtonStyle(Button)
  2062.             .SetNormal ( IMAGE_BRUSH( "Old/Window/WindowButton_Restore_Normal", FVector2D(23, 18) ) )
  2063.             .SetHovered( IMAGE_BRUSH( "Old/Window/WindowButton_Restore_Hovered", FVector2D(23, 18) ) )
  2064.             .SetPressed( IMAGE_BRUSH( "Old/Window/WindowButton_Restore_Pressed", FVector2D(23, 18) ) );
  2065.  
  2066.         Set( "Window.Buttons.Restore.Normal",     new IMAGE_BRUSH( "Old/Window/WindowButton_Restore_Normal", FVector2D(23, 18) ) );
  2067.         Set( "Window.Buttons.Restore.Hovered",    new IMAGE_BRUSH( "Old/Window/WindowButton_Restore_Hovered", FVector2D(23, 18) ) );
  2068.         Set( "Window.Buttons.Restore.Pressed",    new IMAGE_BRUSH( "Old/Window/WindowButton_Restore_Pressed", FVector2D(23, 18) ) );   
  2069.  
  2070.         const FButtonStyle CloseButtonStyle = FButtonStyle(Button)
  2071.             .SetNormal ( IMAGE_BRUSH( "Old/Window/WindowButton_Close_Normal", FVector2D(44, 18) ) )
  2072.             .SetHovered( IMAGE_BRUSH( "Old/Window/WindowButton_Close_Hovered", FVector2D(44, 18) ) )
  2073.             .SetPressed( IMAGE_BRUSH( "Old/Window/WindowButton_Close_Pressed", FVector2D(44, 18) ) );
  2074.  
  2075.         Set( "Window.Buttons.Close.Normal",       new IMAGE_BRUSH( "Old/Window/WindowButton_Close_Normal", FVector2D(44, 18) ) );
  2076.         Set( "Window.Buttons.Close.Hovered",      new IMAGE_BRUSH( "Old/Window/WindowButton_Close_Hovered", FVector2D(44, 18) ) );
  2077.         Set( "Window.Buttons.Close.Pressed",      new IMAGE_BRUSH( "Old/Window/WindowButton_Close_Pressed", FVector2D(44, 18) ) );
  2078. #endif
  2079.        
  2080.         Set( "Window.Buttons.Minimize", MinimizeButtonStyle );
  2081.         Set( "Window.Buttons.Maximize", MaximizeButtonStyle );
  2082.         Set( "Window.Buttons.Restore", RestoreButtonStyle );
  2083.         Set( "Window.Buttons.Close", CloseButtonStyle );
  2084.  
  2085.         // Title Text
  2086.         const FTextBlockStyle TitleTextStyle = FTextBlockStyle(NormalText)
  2087.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) )
  2088.             .SetColorAndOpacity( FLinearColor::White )
  2089.             .SetShadowOffset( FVector2D( 1,1 ) )
  2090.             .SetShadowColorAndOpacity( FLinearColor::Black );
  2091.         Set( "Window.TitleText", TitleTextStyle );
  2092.  
  2093.         Set( "ChildWindow.Background",            new IMAGE_BRUSH( "Common/NoiseBackground", FVector2D(64, 64), FLinearColor::White, ESlateBrushTileType::Both) );
  2094.  
  2095.         Set( "Window", FWindowStyle()
  2096.             .SetMinimizeButtonStyle( MinimizeButtonStyle )
  2097.             .SetMaximizeButtonStyle( MaximizeButtonStyle )
  2098.             .SetRestoreButtonStyle( RestoreButtonStyle )
  2099.             .SetCloseButtonStyle( CloseButtonStyle )
  2100.             .SetTitleTextStyle( TitleTextStyle )
  2101.             .SetActiveTitleBrush( IMAGE_BRUSH( "Old/Window/WindowTitle", Icon32x32, FLinearColor(1,1,1,1), ESlateBrushTileType::Horizontal  ) )
  2102.             .SetInactiveTitleBrush( IMAGE_BRUSH( "Old/Window/WindowTitle_Inactive", Icon32x32, FLinearColor(1,1,1,1), ESlateBrushTileType::Horizontal  ) )
  2103.             .SetFlashTitleBrush( IMAGE_BRUSH( "Old/Window/WindowTitle_Flashing", Icon24x24, FLinearColor(1,1,1,1), ESlateBrushTileType::Horizontal  ) )
  2104.             .SetOutlineBrush( BORDER_BRUSH( "Old/Window/WindowOutline", FMargin(4.0f/32.0f) ) )
  2105.             .SetOutlineColor( FLinearColor(0.1f, 0.1f, 0.1f, 1.0f) )
  2106.             .SetBorderBrush( BOX_BRUSH( "Old/Window/WindowBorder", 0.48f ) )
  2107.             .SetBackgroundBrush( IMAGE_BRUSH( "Old/Window/WindowBackground", FVector2D(74, 74), FLinearColor::White, ESlateBrushTileType::Both) )
  2108.             .SetChildBackgroundBrush( IMAGE_BRUSH( "Common/NoiseBackground", FVector2D(64, 64), FLinearColor::White, ESlateBrushTileType::Both) )
  2109.             );
  2110.     }
  2111.     }
  2112.    
  2113. void FSlateEditorStyle::FStyle::SetupDockingStyles()
  2114. {
  2115. #if WITH_EDITOR || IS_PROGRAM
  2116.     // Tabs, Docking, Flexible Layout
  2117.     {
  2118.         // Tab Text
  2119.         {
  2120.             Set( "Docking.TabFont", FTextBlockStyle(NormalText)
  2121.                 .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) )
  2122.                 .SetColorAndOpacity( FLinearColor(0.72f, 0.72f, 0.72f, 1.f) )
  2123.                 .SetShadowOffset( FVector2D( 1,1 ) )
  2124.                 .SetShadowColorAndOpacity( FLinearColor::Black )
  2125.                 );
  2126.         }
  2127.  
  2128.         {
  2129.             // Flash using the selection color for consistency with the rest of the UI scheme
  2130.             const FSlateColor& TabFlashColor = SelectionColor;
  2131.  
  2132.             const FButtonStyle CloseButton = FButtonStyle()
  2133.                 .SetNormal ( IMAGE_BRUSH( "/Docking/CloseApp_Normal", Icon16x16 ) )
  2134.                 .SetPressed( IMAGE_BRUSH( "/Docking/CloseApp_Pressed", Icon16x16 ) )
  2135.                 .SetHovered( IMAGE_BRUSH( "/Docking/CloseApp_Hovered", Icon16x16 ) );
  2136.  
  2137.             // Panel Tab
  2138.             // Legacy styles used by other editor specific widgets; see "Docking.Tab" in FCoreStyle for the current tab style
  2139.             Set( "Docking.Tab.Normal", new BOX_BRUSH( "/Docking/Tab_Inactive", 4/16.0f ) );
  2140.             Set( "Docking.Tab.Active", new BOX_BRUSH( "/Docking/Tab_Active", 4/16.0f ) );
  2141.             Set( "Docking.Tab.Foreground", new BOX_BRUSH( "/Docking/Tab_Foreground", 4/16.0f ) );
  2142.             Set( "Docking.Tab.Hovered", new BOX_BRUSH( "/Docking/Tab_Hovered", 4/16.0f ) );
  2143.             Set( "Docking.Tab.ColorOverlay", new BOX_BRUSH( "/Docking/Tab_ColorOverlay", 4/16.0f ) );
  2144.             Set( "Docking.Tab.Padding", FMargin(5, 2, 5, 2) );
  2145.             Set( "Docking.Tab.OverlapWidth", -1.0f );
  2146.             Set( "Docking.Tab.ContentAreaBrush", new BOX_BRUSH( "/Docking/TabContentArea", FMargin(4/16.0f) ) );
  2147.             Set( "Docking.Tab.TabWellBrush", new IMAGE_BRUSH( "/Docking/TabWellSeparator", FVector2D(16,4) ) );
  2148.             Set( "Docking.Tab.TabWellPadding", FMargin(0, 0, 4, 0) );
  2149.             Set( "Docking.Tab.FlashColor", TabFlashColor );
  2150.             Set( "Docking.Tab.CloseButton", CloseButton );
  2151.  
  2152.             // App Tab
  2153.             // Legacy styles used by other editor specific widgets; see "Docking.MajorTab" in FCoreStyle for the current tab style
  2154.             Set( "Docking.MajorTab.Normal", new BOX_BRUSH( "/Docking/AppTab_Inactive", FMargin(24.0f/64.0f, 4/32.0f) ) );
  2155.             Set( "Docking.MajorTab.Active", new BOX_BRUSH( "/Docking/AppTab_Active", FMargin(24.0f/64.0f, 4/32.0f) ) );
  2156.             Set( "Docking.MajorTab.ColorOverlay", new BOX_BRUSH( "/Docking/AppTab_ColorOverlay", FMargin(24.0f/64.0f, 4/32.0f) ) );
  2157.             Set( "Docking.MajorTab.Foreground", new BOX_BRUSH( "/Docking/AppTab_Foreground", FMargin(24.0f/64.0f, 4/32.0f) ) );
  2158.             Set( "Docking.MajorTab.Hovered", new BOX_BRUSH( "/Docking/AppTab_Hovered", FMargin(24.0f/64.0f, 4/32.0f) ) );
  2159.             Set( "Docking.MajorTab.Padding", FMargin(17, 4, 15, 4) );
  2160.             Set( "Docking.MajorTab.OverlapWidth", 21.0f );
  2161.             Set( "Docking.MajorTab.ContentAreaBrush", new BOX_BRUSH( "/Docking/AppTabContentArea", FMargin(4/16.0f) ) );
  2162.             Set( "Docking.MajorTab.TabWellBrush", new IMAGE_BRUSH( "/Docking/AppTabWellSeparator", FVector2D(16,2) ) );
  2163.             Set( "Docking.MajorTab.TabWellPadding", FMargin(0, 2, 0, 0) );
  2164.             Set( "Docking.MajorTab.FlashColor", TabFlashColor );
  2165.             Set( "Docking.MajorTab.CloseButton", FButtonStyle( CloseButton ) );
  2166.         }
  2167.  
  2168.         Set( "Docking.DefaultTabIcon", new IMAGE_BRUSH( "Old/Docking/DefaultTabIcon", Icon16x16 ) );
  2169.  
  2170.         Set( "Docking.TabConextButton.Normal", new IMAGE_BRUSH( "/Docking/TabContextButton", FVector2D(24,24) ) );
  2171.         Set( "Docking.TabConextButton.Pressed", new IMAGE_BRUSH( "/Docking/TabContextButton", FVector2D(24,24) ) );
  2172.         Set( "Docking.TabConextButton.Hovered", new IMAGE_BRUSH( "/Docking/TabContextButton", FVector2D(24,24) ) );
  2173.     }
  2174. #endif // WITH_EDITOR || IS_PROGRAM
  2175.     }
  2176.  
  2177. void FSlateEditorStyle::FStyle::SetupTutorialStyles()
  2178. {
  2179.     // Documentation tooltip defaults
  2180.     {
  2181.         const FTextBlockStyle DocumentationTooltipText = FTextBlockStyle(NormalText)
  2182.             .SetFont(TTF_CORE_FONT("Fonts/Roboto-Regular", 8));
  2183.         Set("Documentation.SDocumentationTooltip", FTextBlockStyle(DocumentationTooltipText));
  2184.     }
  2185.  
  2186.  
  2187.     // Documentation defaults
  2188.     const FTextBlockStyle DocumentationText = FTextBlockStyle(NormalText)
  2189.         .SetFont(TTF_CORE_FONT( "Fonts/Roboto-Regular", 12 ));
  2190.  
  2191.     const FTextBlockStyle DocumentationHyperlinkText = FTextBlockStyle(DocumentationText)
  2192.         .SetColorAndOpacity(FLinearColor::Blue);
  2193.  
  2194.     const FTextBlockStyle DocumentationHeaderText = FTextBlockStyle(NormalText)
  2195.         .SetFont(TTF_FONT("Fonts/Roboto-Black", 32));
  2196.  
  2197.     const FButtonStyle DocumentationHyperlink = FButtonStyle()
  2198.             .SetNormal(BORDER_BRUSH( "Old/HyperlinkDotted", FMargin(0,0,0,3/16.0f)))
  2199.             .SetPressed(FSlateNoResource())
  2200.             .SetHovered(BORDER_BRUSH( "Old/HyperlinkUnderline", FMargin(0,0,0,3/16.0f)));
  2201.  
  2202.     // Documentation
  2203.     {
  2204.         Set( "Documentation.Content", FTextBlockStyle(DocumentationText) );
  2205.         Set("Documentation.Hyperlink.Button", FButtonStyle(DocumentationHyperlink));
  2206.         Set("Documentation.Hyperlink.Text",   FTextBlockStyle(DocumentationHyperlinkText));
  2207.         Set("Documentation.NumberedContent",  FTextBlockStyle(DocumentationText));
  2208.         Set( "Documentation.BoldContent", FTextBlockStyle(DocumentationText)
  2209.             .SetFontName(RootToCoreContentDir("Fonts/Roboto-Bold", TEXT(".ttf"))));
  2210.  
  2211.         Set("Documentation.Header1", FTextBlockStyle(DocumentationHeaderText)
  2212.             .SetFontSize(32));
  2213.  
  2214.         Set("Documentation.Header2", FTextBlockStyle(DocumentationHeaderText)
  2215.             .SetFontSize(24));
  2216.  
  2217.         Set( "Documentation.Separator", new BOX_BRUSH( "Common/Separator", 1/4.0f, FLinearColor(1,1,1,0.5f) ) );
  2218.     }
  2219.  
  2220.     {
  2221.         Set("Documentation.ToolTip.Background", new BOX_BRUSH("Tutorials/TutorialContentBackground", FMargin(4 / 16.0f)));
  2222.     }
  2223.  
  2224.     // Tutorials
  2225.     {
  2226.         const FLinearColor TutorialButtonColor = FLinearColor(0.15f, 0.15f, 0.15f, 1.0f);
  2227.         const FLinearColor TutorialSelectionColor = FLinearColor(0.19f, 0.33f, 0.72f);
  2228.  
  2229.         const FTextBlockStyle TutorialText = FTextBlockStyle(DocumentationText)
  2230.             .SetColorAndOpacity(FLinearColor::Black);
  2231.  
  2232.         const FTextBlockStyle TutorialHeaderText = FTextBlockStyle(DocumentationHeaderText)
  2233.             .SetColorAndOpacity(FLinearColor::Black);
  2234.  
  2235.         Set( "Tutorials.ButtonColor", TutorialButtonColor );
  2236.         Set( "Tutorials.ButtonHighlightColor", TutorialSelectionColor );
  2237.         Set( "Tutorials.ButtonDisabledColor", SelectionColor_Inactive );
  2238.         Set( "Tutorials.ContentAreaBackground", new BOX_BRUSH( "Tutorials/TutorialContentBackground", FMargin(4/16.0f) ) );
  2239.         Set( "Tutorials.HomeContentAreaBackground", new BOX_BRUSH( "Tutorials/TutorialHomeContentBackground", FMargin(4/16.0f) ) );
  2240.         Set( "Tutorials.ContentAreaFrame", new BOX_BRUSH( "Tutorials/ContentAreaFrame", FMargin(26.0f/64.0f) ) );
  2241.         Set( "Tutorials.CurrentExcerpt", new IMAGE_BRUSH( "Tutorials/CurrentExcerpt", FVector2D(24.0f, 24.0f), TutorialSelectionColor ) );
  2242.         Set( "Tutorials.Home", new IMAGE_BRUSH( "Tutorials/HomeButton", FVector2D(32.0f, 32.0f) ) );
  2243.         Set( "Tutorials.Back", new IMAGE_BRUSH("Tutorials/BackButton", FVector2D(24.0f, 24.0f) ) );
  2244.         Set( "Tutorials.Next", new IMAGE_BRUSH("Tutorials/NextButton", FVector2D(24.0f, 24.0f) ) );
  2245.  
  2246.         Set("Tutorials.PageHeader", FTextBlockStyle(TutorialHeaderText)
  2247.             .SetFontSize(22));
  2248.  
  2249.         Set("Tutorials.CurrentExcerpt", FTextBlockStyle(TutorialHeaderText)
  2250.             .SetFontSize(16));
  2251.  
  2252.         Set("Tutorials.NavigationButtons", FTextBlockStyle(TutorialHeaderText)
  2253.             .SetFontSize(16));
  2254.  
  2255.         // UDN documentation styles
  2256.         Set("Tutorials.Content",         FTextBlockStyle(TutorialText));
  2257.         Set("Tutorials.Hyperlink.Text",  FTextBlockStyle(DocumentationHyperlinkText));
  2258.         Set("Tutorials.NumberedContent", FTextBlockStyle(TutorialText));
  2259.         Set("Tutorials.BoldContent",     FTextBlockStyle(TutorialText)
  2260.             .SetFontName(RootToCoreContentDir("Fonts/Roboto-Bold", TEXT(".ttf"))));
  2261.  
  2262.         Set("Tutorials.Header1", FTextBlockStyle(TutorialHeaderText)
  2263.             .SetFontSize(32));
  2264.  
  2265.         Set("Tutorials.Header2", FTextBlockStyle(TutorialHeaderText)
  2266.             .SetFontSize(24));
  2267.  
  2268.         Set( "Tutorials.Hyperlink.Button", FButtonStyle(DocumentationHyperlink)
  2269.             .SetNormal(BORDER_BRUSH( "Old/HyperlinkDotted", FMargin(0,0,0,3/16.0f), FLinearColor::Black))
  2270.             .SetHovered(BORDER_BRUSH( "Old/HyperlinkUnderline", FMargin(0,0,0,3/16.0f), FLinearColor::Black)));
  2271.  
  2272.         Set( "Tutorials.Separator", new BOX_BRUSH( "Common/Separator", 1/4.0f, FLinearColor::Black));
  2273.  
  2274.         Set( "Tutorials.ProgressBar", FProgressBarStyle()
  2275.             .SetBackgroundImage( BOX_BRUSH( "Common/ProgressBar_Background", FMargin(5.f/12.f) ) )
  2276.             .SetFillImage( BOX_BRUSH( "Common/ProgressBar_NeutralFill", FMargin(5.f/12.f) ) )
  2277.             .SetMarqueeImage( IMAGE_BRUSH( "Common/ProgressBar_Marquee", FVector2D(20,12), FLinearColor::White, ESlateBrushTileType::Horizontal ) )
  2278.             );
  2279.     }
  2280.     }
  2281.  
  2282. void FSlateEditorStyle::FStyle::SetupPropertyEditorStyles()
  2283.     {
  2284.     // Property / details Window / PropertyTable
  2285.     {
  2286.         Set( "PropertyEditor.Grid.TabIcon", new IMAGE_BRUSH( "Icons/icon_PropertyMatrix_16px", Icon16x16 ) );
  2287.         Set( "PropertyEditor.Properties.TabIcon", new IMAGE_BRUSH( "Icons/lens_16x", Icon16x16 ) );
  2288.  
  2289.         Set( "PropertyEditor.RemoveColumn", new IMAGE_BRUSH( "Common/PushPin_Down", Icon16x16, FColor( 96, 194, 253, 255 ).ReinterpretAsLinear() ) );
  2290.         Set( "PropertyEditor.AddColumn", new IMAGE_BRUSH( "Common/PushPin_Up", Icon16x16, FColor( 96, 194, 253, 255 ).ReinterpretAsLinear() ) );
  2291.  
  2292.         Set( "PropertyEditor.AddColumnOverlay", new IMAGE_BRUSH( "Common/TinyChalkArrow", FVector2D( 71, 20 ), FColor( 96, 194, 253, 255 ).ReinterpretAsLinear() ) );
  2293.         Set( "PropertyEditor.AddColumnMessage", FTextBlockStyle(NormalText)
  2294.             .SetFont( TTF_FONT( "Fonts/Roboto-BoldCondensedItalic", 10 ) )
  2295.             .SetColorAndOpacity(FColor( 96, 194, 253, 255 ).ReinterpretAsLinear())
  2296.         );
  2297.    
  2298.         Set( "PropertyEditor.AssetName", FTextBlockStyle(NormalText)
  2299.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 12 ) )
  2300.             .SetColorAndOpacity( FLinearColor::White )
  2301.             .SetShadowOffset( FVector2D(1,1) )
  2302.             .SetShadowColorAndOpacity( FLinearColor::Black )
  2303.         );
  2304.  
  2305.         Set( "PropertyEditor.AssetThumbnailShadow", new BOX_BRUSH( "ContentBrowser/ThumbnailShadow", FMargin( 5.0f / 64.0f ) ) );
  2306.         Set( "PropertyEditor.AssetClass", FTextBlockStyle(NormalText)
  2307.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) )
  2308.             .SetColorAndOpacity( FLinearColor::White )
  2309.             .SetShadowOffset( FVector2D(1,1) )
  2310.             .SetShadowColorAndOpacity( FLinearColor::Black )
  2311.         );
  2312.  
  2313.         const FButtonStyle AssetComboStyle = FButtonStyle()
  2314.             .SetNormal( BOX_BRUSH( "Common/ButtonHoverHint", FMargin(4/16.0f), FLinearColor(1,1,1,0.15f) ) )
  2315.             .SetHovered( BOX_BRUSH( "Common/ButtonHoverHint", FMargin(4/16.0f), FLinearColor(1,1,1,0.25f) ) )
  2316.             .SetPressed( BOX_BRUSH( "Common/ButtonHoverHint", FMargin(4/16.0f), FLinearColor(1,1,1,0.30f) ) )
  2317.             .SetNormalPadding( FMargin(0,0,0,1) )
  2318.             .SetPressedPadding( FMargin(0,1,0,0) );
  2319.         Set( "PropertyEditor.AssetComboStyle", AssetComboStyle );
  2320.  
  2321.         Set( "PropertyEditor.HorizontalDottedLine",     new IMAGE_BRUSH( "Common/HorizontalDottedLine_16x1px", FVector2D(16.0f, 1.0f), FLinearColor::White, ESlateBrushTileType::Horizontal ) );
  2322.         Set( "PropertyEditor.VerticalDottedLine",       new IMAGE_BRUSH( "Common/VerticalDottedLine_1x16px", FVector2D(1.0f, 16.0f), FLinearColor::White, ESlateBrushTileType::Vertical ) );
  2323.         Set( "PropertyEditor.SlateBrushPreview",        new BOX_BRUSH( "PropertyView/SlateBrushPreview_32px", Icon32x32, FMargin(3.f/32.f, 3.f/32.f, 15.f/32.f, 13.f/32.f) ) );
  2324.  
  2325.         Set( "PropertyTable.TableRow", FTableRowStyle()
  2326.             .SetEvenRowBackgroundBrush( FSlateColorBrush( FLinearColor( 0.70f, 0.70f, 0.70f, 255 ) ) )
  2327.             .SetEvenRowBackgroundHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor_Inactive ) )
  2328.             .SetOddRowBackgroundBrush( FSlateColorBrush( FLinearColor( 0.80f, 0.80f, 0.80f, 255 ) ) )
  2329.             .SetOddRowBackgroundHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor_Inactive ) )
  2330.             .SetSelectorFocusedBrush( BORDER_BRUSH( "Common/Selector", FMargin(4.f/16.f), SelectorColor ) )
  2331.             .SetActiveBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) )
  2332.             .SetActiveHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) )
  2333.             .SetInactiveBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor_Inactive ) )
  2334.             .SetInactiveHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor_Inactive ) )
  2335.             .SetTextColor( DefaultForeground )
  2336.             .SetSelectedTextColor( InvertedForeground )
  2337.             );
  2338.  
  2339.         const FTableColumnHeaderStyle PropertyTableColumnHeaderStyle = FTableColumnHeaderStyle()
  2340.             .SetSortAscendingImage( IMAGE_BRUSH( "Common/SortUpArrow", Icon8x4 ) )
  2341.             .SetSortDescendingImage( IMAGE_BRUSH( "Common/SortDownArrow", Icon8x4 ) )
  2342.             .SetNormalBrush( BOX_BRUSH( "Common/ColumnHeader", 4.f/32.f ) )
  2343.             .SetHoveredBrush( BOX_BRUSH( "Common/ColumnHeader_Hovered", 4.f/32.f ) )
  2344.             .SetMenuDropdownImage( IMAGE_BRUSH( "Common/ComboArrow", Icon8x8 ) )
  2345.             .SetMenuDropdownNormalBorderBrush( BOX_BRUSH( "Common/ColumnHeaderMenuButton_Normal", 4.f/32.f ) )
  2346.             .SetMenuDropdownHoveredBorderBrush( BOX_BRUSH( "Common/ColumnHeaderMenuButton_Hovered", 4.f/32.f ) );
  2347.  
  2348.         const FTableColumnHeaderStyle PropertyTableLastColumnHeaderStyle = FTableColumnHeaderStyle()
  2349.             .SetSortAscendingImage( IMAGE_BRUSH( "Common/SortUpArrow", Icon8x4 ) )
  2350.             .SetSortDescendingImage( IMAGE_BRUSH( "Common/SortDownArrow", Icon8x4 ) )
  2351.             .SetNormalBrush( FSlateNoResource() )
  2352.             .SetHoveredBrush( BOX_BRUSH( "Common/LastColumnHeader_Hovered", 4.f/32.f ) )
  2353.             .SetMenuDropdownImage( IMAGE_BRUSH( "Common/ComboArrow", Icon8x8 ) )
  2354.             .SetMenuDropdownNormalBorderBrush( BOX_BRUSH( "Common/ColumnHeaderMenuButton_Normal", 4.f/32.f ) )
  2355.             .SetMenuDropdownHoveredBorderBrush( BOX_BRUSH( "Common/ColumnHeaderMenuButton_Hovered", 4.f/32.f ) );
  2356.  
  2357.         const FSplitterStyle PropertyTableHeaderSplitterStyle = FSplitterStyle()
  2358.             .SetHandleNormalBrush( FSlateNoResource() )
  2359.             .SetHandleHighlightBrush( IMAGE_BRUSH( "Common/HeaderSplitterGrip", Icon8x8 ) );
  2360.  
  2361.         Set( "PropertyTable.HeaderRow", FHeaderRowStyle()
  2362.             .SetColumnStyle( PropertyTableColumnHeaderStyle )
  2363.             .SetLastColumnStyle( PropertyTableLastColumnHeaderStyle )
  2364.             .SetColumnSplitterStyle( PropertyTableHeaderSplitterStyle )
  2365.             .SetBackgroundBrush( BOX_BRUSH( "Common/TableViewHeader", 4.f/32.f ) )
  2366.             .SetForegroundColor( DefaultForeground )
  2367.             );
  2368.  
  2369.         Set( "PropertyTable.Selection.Active",                      new IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) );
  2370.  
  2371.         Set( "PropertyTable.HeaderRow.Column.PathDelimiter",        new IMAGE_BRUSH( "Common/SmallArrowRight", Icon10x10 ) );
  2372.  
  2373.         Set( "PropertyTable.RowHeader.Background",                  new BOX_BRUSH( "Old/Menu_Background", FMargin(4.f/64.f) ) );
  2374.         Set( "PropertyTable.RowHeader.BackgroundActive",            new BOX_BRUSH( "Old/Menu_Background", FMargin(4.f/64.f), SelectionColor_Inactive ) );
  2375.         Set( "PropertyTable.ColumnBorder",                          new BOX_BRUSH( "Common/ColumnBorder", FMargin(4.f/16.f), FLinearColor(0.1f, 0.1f, 0.1f, 0.5f) ) );
  2376.         Set( "PropertyTable.CellBorder",                            new BOX_BRUSH( "Common/CellBorder", FMargin(4.f/16.f), FLinearColor(0.1f, 0.1f, 0.1f, 0.5f) ) );
  2377.         Set( "PropertyTable.ReadOnlyEditModeCellBorder",            new BORDER_BRUSH( "Common/ReadOnlyEditModeCellBorder", FMargin(6.f/32.f), SelectionColor ) );
  2378.         Set( "PropertyTable.ReadOnlyCellBorder",                    new BOX_BRUSH( "Common/ReadOnlyCellBorder", FMargin(4.f/16.f), FLinearColor(0.1f, 0.1f, 0.1f, 0.5f) ) );
  2379.         Set( "PropertyTable.CurrentCellBorder",                     new BOX_BRUSH( "Common/CurrentCellBorder", FMargin(4.f/16.f), FLinearColor(0.0f, 0.0f, 0.0f, 1.0f) ) );
  2380.         Set( "PropertyTable.ReadOnlySelectedCellBorder",            new BOX_BRUSH( "Common/ReadOnlySelectedCellBorder", FMargin(4.f/16.f), FLinearColor(0.0f, 0.0f, 0.0f, 1.0f) ) );
  2381.         Set( "PropertyTable.ReadOnlyCurrentCellBorder",             new BOX_BRUSH( "Common/ReadOnlyCurrentCellBorder", FMargin(4.f/16.f), FLinearColor(0.0f, 0.0f, 0.0f, 1.0f) ) );
  2382.         Set( "PropertyTable.Cell.DropDown.Background",              new BOX_BRUSH( "Common/GroupBorder", FMargin(4.f/16.f) ) );
  2383.         Set( "PropertyTable.ContentBorder",                         new BOX_BRUSH( "Common/GroupBorder", FMargin(4.0f/16.0f) ) );  
  2384.         Set( "PropertyTable.NormalFont",                            TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) );
  2385.         Set( "PropertyTable.BoldFont",                              TTF_CORE_FONT( "Fonts/Roboto-Bold", 9 ) );
  2386.         Set( "PropertyTable.FilterFont",                            TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) );
  2387.  
  2388.         Set( "PropertyWindow.FilterSearch", new IMAGE_BRUSH( "Old/FilterSearch", Icon16x16 ) );
  2389.         Set( "PropertyWindow.FilterCancel", new IMAGE_BRUSH( "Old/FilterCancel", Icon16x16 ) );
  2390.         Set( "PropertyWindow.Favorites_Enabled", new IMAGE_BRUSH( "Icons/Star_16x", Icon16x16 ) );
  2391.         Set( "PropertyWindow.Favorites_Disabled", new IMAGE_BRUSH( "Icons/EmptyStar_16x", Icon16x16 ) );
  2392.         Set( "PropertyWindow.Locked", new IMAGE_BRUSH( "Icons/padlock_locked_16x", Icon16x16 ) );
  2393.         Set( "PropertyWindow.Unlocked", new IMAGE_BRUSH( "Icons/padlock_unlocked_16x", Icon16x16 ) );
  2394.         Set( "PropertyWindow.DiffersFromDefault", new IMAGE_BRUSH( "/PropertyView/DiffersFromDefault_8x8", FVector2D(8,8) ) ) ;
  2395.         Set( "PropertyWindow.NormalFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  2396.         Set( "PropertyWindow.BoldFont", TTF_CORE_FONT( "Fonts/Roboto-Bold", 8 ) );
  2397.         Set( "PropertyWindow.ItalicFont", TTF_FONT( "Fonts/Roboto-Italic", 8 ) );
  2398.         Set( "PropertyWindow.FilterFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) );
  2399.         Set( "PropertyWindow.NoOverlayColor", new FSlateNoResource() );
  2400.         Set( "PropertyWindow.EditConstColor", new FSlateColorBrush( FColor( 152, 152, 152, 80 ) ) );
  2401.         Set( "PropertyWindow.FilteredColor", new FSlateColorBrush( FColor( 0, 255, 0, 80 ) ) );
  2402.         Set( "PropertyWindow.FilteredEditConstColor", new FSlateColorBrush( FColor( 152, 152, 152, 80 ).ReinterpretAsLinear() * FColor(0,255,0,255).ReinterpretAsLinear() ) );
  2403.         Set( "PropertyWindow.CategoryBackground", new BOX_BRUSH( "/PropertyView/CategoryBackground", FMargin(4.f/16.f) ) );
  2404.         Set( "PropertyWindow.CategoryForeground", FLinearColor::Black );
  2405.         Set( "PropertyWindow.Button_Browse", new IMAGE_BRUSH( "Icons/lens_12x", Icon12x12 ) );
  2406.         Set( "PropertyWindow.Button_Use", new IMAGE_BRUSH( "Icons/assign_12x", Icon12x12 ) );
  2407.         Set( "PropertyWindow.Button_Delete", new IMAGE_BRUSH("Icons/cross_12x", Icon12x12 ) );
  2408.         Set( "PropertyWindow.Button_Clear", new IMAGE_BRUSH( "Icons/cross_12x", Icon12x12 ) );
  2409.         Set( "PropertyWindow.Button_Edit", new IMAGE_BRUSH( "Icons/wrench_16x", Icon12x12 ) );
  2410.         Set( "PropertyWindow.Button_EmptyArray", new IMAGE_BRUSH( "Icons/empty_set_12x", Icon12x12 ) );
  2411.         Set( "PropertyWindow.Button_AddToArray", new IMAGE_BRUSH( "Icons/PlusSymbol_12x", Icon12x12 ) );
  2412.         Set( "PropertyWindow.Button_RemoveFromArray", new IMAGE_BRUSH( "Icons/MinusSymbol_12x", Icon12x12 ) );
  2413.         Set( "PropertyWindow.Button_Ellipsis", new IMAGE_BRUSH( "Icons/Ellipsis_12x", Icon12x12 ) );
  2414.         Set( "PropertyWindow.Button_PickAsset", new IMAGE_BRUSH( "Icons/pillarray_12x", Icon12x12 ) );
  2415.         Set( "PropertyWindow.Button_PickActor", new IMAGE_BRUSH( "Icons/hiererchy_16x", Icon12x12 ) );
  2416.         Set( "PropertyWindow.Button_PickActorInteractive", new IMAGE_BRUSH( "Icons/eyedropper_16px", Icon12x12 ) );
  2417.  
  2418.         Set( "PropertyWindow.WindowBorder", new BOX_BRUSH( "Common/GroupBorder", FMargin(4.0f/16.0f) ) );
  2419.         Set( "DetailsView.NameChangeCommitted", new BOX_BRUSH( "Common/EditableTextSelectionBackground", FMargin(4.f/16.f) ) );
  2420.         Set( "DetailsView.HyperlinkStyle", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) ) );
  2421.         Set( "DetailsView.GroupSection", new BOX_BRUSH( "Common/RoundedSelection_16x", FMargin(4.0f/16.0f) ) );
  2422.  
  2423.         Set( "DetailsView.PulldownArrow.Down", new IMAGE_BRUSH( "PropertyView/AdvancedButton_Down", FVector2D(10,8) ) );
  2424.         Set( "DetailsView.PulldownArrow.Down.Hovered", new IMAGE_BRUSH( "PropertyView/AdvancedButton_Down_Hovered", FVector2D(10,8) ) );
  2425.         Set( "DetailsView.PulldownArrow.Up", new IMAGE_BRUSH( "PropertyView/AdvancedButton_Up", FVector2D(10,8) ) );
  2426.         Set( "DetailsView.PulldownArrow.Up.Hovered", new IMAGE_BRUSH( "PropertyView/AdvancedButton_Up_Hovered", FVector2D(10,8) ) );
  2427.  
  2428.         Set( "DetailsView.EditRawProperties", new IMAGE_BRUSH( "Icons/icon_PropertyMatrix_16px", Icon16x16, FLinearColor( 0, 0, 0, 255 ) ) );
  2429.  
  2430.         Set( "DetailsView.CollapsedCategory", new BOX_BRUSH( "Common/GroupBorder", FMargin(4.0f/16.0f) ) );
  2431.         Set( "DetailsView.CategoryTop", new BOX_BRUSH( "PropertyView/DetailCategoryTop", FMargin( 4/16.0f, 8.0f/16.0f, 4/16.0f, 4/16.0f ) ) );
  2432.         Set( "DetailsView.CollapsedCategory_Hovered", new BOX_BRUSH( "Common/GroupBorder", FMargin(4.0f/16.0f), FLinearColor(0.5f,0.5f,0.5f,1.0f)  ) );
  2433.         Set( "DetailsView.CategoryTop_Hovered", new BOX_BRUSH( "PropertyView/DetailCategoryTop", FMargin( 4/16.0f, 8.0f/16.0f, 4/16.0f, 4/16.0f ), FLinearColor(0.5f,0.5f,0.5f,1.0f) ) );
  2434.         Set( "DetailsView.CategoryBottom", new BOX_BRUSH( "PropertyView/DetailCategoryBottom", FMargin(4.0f/16.0f) ) );
  2435.         Set( "DetailsView.CategoryMiddle", new IMAGE_BRUSH( "PropertyView/DetailCategoryMiddle", FVector2D( 16, 16 ) ) );
  2436.  
  2437.         Set( "DetailsView.Splitter", FSplitterStyle()
  2438.             .SetHandleNormalBrush( IMAGE_BRUSH( "Common/SplitterHandleHighlight", Icon8x8, FLinearColor::Black ) )
  2439.             .SetHandleHighlightBrush( IMAGE_BRUSH( "Common/SplitterHandleHighlight", Icon8x8, FLinearColor::White ) )
  2440.             );
  2441.  
  2442.         Set( "DetailsView.AdvancedDropdownBorder", new BOX_BRUSH( "PropertyView/DetailCategoryAdvanced", FMargin(4.0f/16.0f) ) );
  2443.         Set( "DetailsView.AdvancedDropdownBorder.Open", new IMAGE_BRUSH( "Common/ScrollBoxShadowTop", FVector2D(64,8) ) );
  2444.         Set( "DetailsView.CategoryFontStyle", TTF_CORE_FONT( "Fonts/Roboto-Bold", 10 ) );
  2445.  
  2446.         Set( "DetailsView.EditBlueprintHyperlinkStyle", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) ).SetColorAndOpacity( FLinearColor( 0.25f, 0.5f, 1.0f ) ) );
  2447.         Set( "DetailsView.GoToCodeHyperlinkStyle", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) ).SetColorAndOpacity( FLinearColor( 0.7f, 0.7f, 0.7f ) ) );
  2448.  
  2449.         Set( "DetailsView.TreeView.TableRow", FTableRowStyle()
  2450.             .SetEvenRowBackgroundBrush( FSlateNoResource() )
  2451.             .SetEvenRowBackgroundHoveredBrush( FSlateNoResource() )
  2452.             .SetOddRowBackgroundBrush( FSlateNoResource() )
  2453.             .SetOddRowBackgroundHoveredBrush( FSlateNoResource() )
  2454.             .SetSelectorFocusedBrush( FSlateNoResource() )
  2455.             .SetActiveBrush( FSlateNoResource() )
  2456.             .SetActiveHoveredBrush( FSlateNoResource() )
  2457.             .SetInactiveBrush( FSlateNoResource() )
  2458.             .SetInactiveHoveredBrush( FSlateNoResource() )
  2459.             .SetTextColor( DefaultForeground )
  2460.             .SetSelectedTextColor( InvertedForeground )
  2461.             );
  2462.     }
  2463.     }
  2464.  
  2465. void FSlateEditorStyle::FStyle::SetupProfilerStyle()
  2466. {
  2467. #if WITH_EDITOR || IS_PROGRAM
  2468.     // Profiler
  2469.     {
  2470.         // Profiler group brushes
  2471.         Set( "Profiler.Group.16", new BOX_BRUSH( "Icons/Profiler/GroupBorder-16Gray", FMargin(4.0f/16.0f) ) );
  2472.  
  2473.         // Profiler toolbar icons
  2474.         Set( "Profiler.Tab", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Tab_16x", Icon16x16 ) );
  2475.         Set( "Profiler.Tab.GraphView", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Graph_View_Tab_16x", Icon16x16 ) );
  2476.         Set( "Profiler.Tab.EventGraph", new IMAGE_BRUSH( "Icons/Profiler/profiler_OpenEventGraph_32x", Icon16x16 ) );
  2477.         Set( "Profiler.Tab.FiltersAndPresets", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Filter_Presets_Tab_16x", Icon16x16 ) );
  2478.  
  2479.         Set( "ProfilerCommand.ProfilerManager_Load", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Load_Profiler_40x", Icon40x40 ) );
  2480.         Set( "ProfilerCommand.ProfilerManager_Load.Small", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Load_Profiler_40x", Icon20x20 ) );
  2481.  
  2482.         Set( "ProfilerCommand.Save", new IMAGE_BRUSH( "Icons/LV_Save", Icon40x40 ) );
  2483.         Set( "ProfilerCommand.Save.Small", new IMAGE_BRUSH( "Icons/LV_Save", Icon20x20 ) );
  2484.        
  2485.         Set( "ProfilerCommand.ProfilerManager_ToggleLivePreview", new IMAGE_BRUSH( "Automation/RefreshTests", Icon40x40) );
  2486.         Set( "ProfilerCommand.ProfilerManager_ToggleLivePreview.Small", new IMAGE_BRUSH( "Automation/RefreshTests", Icon20x20) );
  2487.  
  2488.         Set( "ProfilerCommand.StatsProfiler", new IMAGE_BRUSH( "Icons/Profiler/profiler_stats_40x", Icon40x40 ) );
  2489.         Set( "ProfilerCommand.StatsProfiler.Small", new IMAGE_BRUSH( "Icons/Profiler/profiler_stats_40x", Icon20x20 ) );
  2490.  
  2491.         Set( "ProfilerCommand.MemoryProfiler", new IMAGE_BRUSH( "Icons/Profiler/profiler_mem_40x", Icon40x40 ) );
  2492.         Set( "ProfilerCommand.MemoryProfiler.Small", new IMAGE_BRUSH( "Icons/Profiler/profiler_mem_40x", Icon20x20 ) );
  2493.  
  2494.         Set( "ProfilerCommand.FPSChart", new IMAGE_BRUSH( "Icons/Profiler/Profiler_FPS_Chart_40x", Icon40x40 ) );
  2495.         Set( "ProfilerCommand.FPSChart.Small", new IMAGE_BRUSH( "Icons/Profiler/Profiler_FPS_Chart_40x", Icon20x20 ) );
  2496.  
  2497.         Set( "ProfilerCommand.OpenSettings", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Settings_40x", Icon40x40 ) );
  2498.         Set( "ProfilerCommand.OpenSettings.Small", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Settings_40x", Icon20x20 ) );
  2499.  
  2500.         Set( "ProfilerCommand.ToggleDataPreview", new IMAGE_BRUSH( "Icons/Profiler/profiler_sync_40x", Icon40x40 ) );
  2501.         Set( "ProfilerCommand.ToggleDataPreview.Small", new IMAGE_BRUSH( "Icons/Profiler/profiler_sync_40x", Icon20x20 ) );
  2502.  
  2503.         Set( "ProfilerCommand.ToggleDataCapture", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Data_Capture_40x", Icon40x40 ) );
  2504.         Set( "ProfilerCommand.ToggleDataCapture.Small", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Data_Capture_40x", Icon20x20 ) );
  2505.  
  2506.         Set( "ProfilerCommand.ToggleDataCapture.Checked", new IMAGE_BRUSH( "Icons/icon_stop_40x", Icon40x40 ) );
  2507.         Set( "ProfilerCommand.ToggleDataCapture.Checked.Small", new IMAGE_BRUSH( "Icons/icon_stop_40x", Icon20x20 ) );
  2508.  
  2509.         Set( "ProfilerCommand.ToggleShowDataGraph", new IMAGE_BRUSH( "Icons/Profiler/profiler_ShowGraphData_32x", Icon32x32 ) );
  2510.         Set( "ProfilerCommand.OpenEventGraph", new IMAGE_BRUSH( "Icons/Profiler/profiler_OpenEventGraph_32x", Icon16x16 ) );
  2511.  
  2512.         // Generic
  2513.         Set( "Profiler.LineGraphArea", new IMAGE_BRUSH( "Old/White", Icon16x16, FLinearColor(1.0f,1.0f,1.0f,0.25f) ) );
  2514.        
  2515.         // Tooltip hint icon
  2516.         Set( "Profiler.Tooltip.HintIcon10", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Custom_Tooltip_12x", Icon12x12 ) );
  2517.  
  2518.         // Text styles
  2519.         Set( "Profiler.CaptionBold", FTextBlockStyle(NormalText)
  2520.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 10 ) )
  2521.             .SetColorAndOpacity( FLinearColor::White )
  2522.             .SetShadowOffset( FVector2D(1.0f, 1.0f) )
  2523.             .SetShadowColorAndOpacity( FLinearColor(0.f,0.f,0.f,0.5f) )
  2524.         );
  2525.  
  2526.         Set( "Profiler.Caption", FTextBlockStyle(NormalText)
  2527.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) )
  2528.             .SetColorAndOpacity( FLinearColor::White )
  2529.             .SetShadowOffset( FVector2D(1.0f, 1.0f) )
  2530.             .SetShadowColorAndOpacity( FLinearColor(0.f,0.f,0.f,0.5f) )
  2531.         );
  2532.  
  2533.         Set( "Profiler.TooltipBold", FTextBlockStyle(NormalText)
  2534.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 8 ) )
  2535.             .SetColorAndOpacity( FLinearColor(0.5f,0.5f,0.5f,1.0f) )
  2536.             .SetShadowOffset( FVector2D(1.0f, 1.0f) )
  2537.             .SetShadowColorAndOpacity( FLinearColor(0.f,0.f,0.f,0.5f) )
  2538.         );
  2539.  
  2540.         Set( "Profiler.Tooltip", FTextBlockStyle(NormalText)
  2541.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) )
  2542.             .SetColorAndOpacity( FLinearColor::White )
  2543.             .SetShadowOffset( FVector2D(1.0f, 1.0f) )
  2544.             .SetShadowColorAndOpacity( FLinearColor(0.f,0.f,0.f,0.5f) )
  2545.         );
  2546.  
  2547.         // Event graph icons
  2548.         Set( "Profiler.EventGraph.SetRoot", new IMAGE_BRUSH( "Icons/Profiler/profiler_SetRoot_32x", Icon32x32 ) );
  2549.         Set( "Profiler.EventGraph.CullEvents", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Cull_Events_16x", Icon16x16) );
  2550.         Set( "Profiler.EventGraph.FilterEvents", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Filter_Events_16x", Icon16x16) );
  2551.  
  2552.         Set( "Profiler.EventGraph.SelectStack", new IMAGE_BRUSH( "Icons/Profiler/profiler_SelectStack_32x", Icon32x32 ) );
  2553.  
  2554.         Set( "Profiler.EventGraph.ExpandAll", new IMAGE_BRUSH( "Icons/Profiler/profiler_ExpandAll_32x", Icon32x32 ) );
  2555.         Set( "Profiler.EventGraph.CollapseAll", new IMAGE_BRUSH( "Icons/Profiler/profiler_CollapseAll_32x", Icon32x32 ) );
  2556.        
  2557.         Set( "Profiler.EventGraph.ExpandSelection", new IMAGE_BRUSH( "Icons/Profiler/profiler_ExpandSelection_32x", Icon32x32 ) );
  2558.         Set( "Profiler.EventGraph.CollapseSelection", new IMAGE_BRUSH( "Icons/Profiler/profiler_CollapseSelection_32x", Icon32x32 ) );
  2559.  
  2560.         Set( "Profiler.EventGraph.ExpandThread", new IMAGE_BRUSH( "Icons/Profiler/profiler_ExpandThread_32x", Icon32x32 ) );
  2561.         Set( "Profiler.EventGraph.CollapseThread", new IMAGE_BRUSH( "Icons/Profiler/profiler_CollapseThread_32x", Icon32x32 ) );
  2562.  
  2563.         Set( "Profiler.EventGraph.ExpandHotPath", new IMAGE_BRUSH( "Icons/Profiler/profiler_ExpandHotPath_32x", Icon32x32 ) );
  2564.         Set( "Profiler.EventGraph.HotPathSmall", new IMAGE_BRUSH( "Icons/Profiler/profiler_HotPath_32x", Icon12x12 ) );
  2565.  
  2566.         Set( "Profiler.EventGraph.ExpandHotPath16", new IMAGE_BRUSH( "Icons/Profiler/profiler_HotPath_32x", Icon16x16 ) );
  2567.  
  2568.         Set( "Profiler.EventGraph.GameThread", new IMAGE_BRUSH( "Icons/Profiler/profiler_GameThread_32x", Icon32x32 ) );
  2569.         Set( "Profiler.EventGraph.RenderThread", new IMAGE_BRUSH( "Icons/Profiler/profiler_RenderThread_32x", Icon32x32 ) );
  2570.    
  2571.         Set( "Profiler.EventGraph.ViewColumn", new IMAGE_BRUSH( "Icons/Profiler/profiler_ViewColumn_32x", Icon32x32 ) );
  2572.         Set( "Profiler.EventGraph.ResetColumn", new IMAGE_BRUSH( "Icons/Profiler/profiler_ResetColumn_32x", Icon32x32 ) );
  2573.  
  2574.         Set( "Profiler.EventGraph.HistoryBack", new IMAGE_BRUSH( "Icons/Profiler/Profiler_History_Back_16x", Icon16x16) );
  2575.         Set( "Profiler.EventGraph.HistoryForward", new IMAGE_BRUSH( "Icons/Profiler/Profiler_History_Fwd_16x", Icon16x16) );
  2576.  
  2577.         Set( "Profiler.EventGraph.MaximumIcon", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Max_Event_Graph_16x", Icon16x16) );
  2578.         Set( "Profiler.EventGraph.AverageIcon", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Average_Event_Graph_16x", Icon16x16) );
  2579.  
  2580.         Set( "Profiler.EventGraph.FlatIcon", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Events_Flat_16x", Icon16x16) );
  2581.         Set( "Profiler.EventGraph.FlatCoalescedIcon", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Events_Flat_Coalesced_16x", Icon16x16) );
  2582.         Set( "Profiler.EventGraph.HierarchicalIcon", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Events_Hierarchial_16x", Icon16x16) );
  2583.  
  2584.         Set( "Profiler.EventGraph.HasCulledEventsSmall", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Has_Culled_Children_12x", Icon12x12) );
  2585.         Set( "Profiler.EventGraph.CulledEvent", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Culled_12x", Icon12x12) );
  2586.         Set( "Profiler.EventGraph.FilteredEvent", new IMAGE_BRUSH( "Icons/Profiler/Profiler_Filtered_12x", Icon12x12) );
  2587.  
  2588.         Set( "Profiler.EventGraph.DarkText", FTextBlockStyle(NormalText)
  2589.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) )
  2590.             .SetColorAndOpacity( FLinearColor::Black )
  2591.             .SetShadowOffset( FVector2D(0.0f, 0.0f) )
  2592.             );
  2593.  
  2594.         // Event graph selected event border
  2595.         Set( "Profiler.EventGraph.Border.TB", new BOX_BRUSH( "Icons/Profiler/Profiler_Border_TB_16x", FMargin(4.0f/16.0f) ) );
  2596.         Set( "Profiler.EventGraph.Border.L", new BOX_BRUSH( "Icons/Profiler/Profiler_Border_L_16x",   FMargin(4.0f/16.0f) ) );
  2597.         Set( "Profiler.EventGraph.Border.R", new BOX_BRUSH( "Icons/Profiler/Profiler_Border_R_16x",   FMargin(4.0f/16.0f) ) );
  2598.  
  2599.         // Misc
  2600.         Set( "Profiler.Misc.WarningSmall", new IMAGE_BRUSH( "ContentBrowser/SCC_NotAtHeadRevision", Icon12x12 ) );
  2601.  
  2602.         Set( "Profiler.Misc.SortBy", new IMAGE_BRUSH( "Icons/Profiler/profiler_SortBy_32x", Icon32x32 ) );
  2603.         Set( "Profiler.Misc.SortAscending", new IMAGE_BRUSH( "Icons/Profiler/profiler_SortAscending_32x", Icon32x32 ) );
  2604.         Set( "Profiler.Misc.SortDescending", new IMAGE_BRUSH( "Icons/Profiler/profiler_SortDescending_32x", Icon32x32 ) );
  2605.  
  2606.         Set( "Profiler.Misc.ResetToDefault", new IMAGE_BRUSH( "Icons/Profiler/profiler_ResetToDefault_32x", Icon32x32 ) );
  2607.  
  2608.         Set( "Profiler.Misc.Save16", new IMAGE_BRUSH( "Icons/LV_Save", Icon16x16 ) );
  2609.         Set( "Profiler.Misc.Reset16", new IMAGE_BRUSH( "Icons/Profiler/profiler_ResetToDefault_32x", Icon16x16 ) );
  2610.  
  2611.         Set( "Profiler.Type.Calls", new IMAGE_BRUSH( "Icons/Profiler/profiler_Calls_32x", Icon16x16 ) );
  2612.         Set( "Profiler.Type.Event", new IMAGE_BRUSH( "Icons/Profiler/profiler_Event_32x", Icon16x16 ) );
  2613.         Set( "Profiler.Type.Memory", new IMAGE_BRUSH( "Icons/Profiler/profiler_Memory_32x", Icon16x16 ) );
  2614.         Set( "Profiler.Type.Number", new IMAGE_BRUSH( "Icons/Profiler/profiler_Number_32x", Icon16x16 ) );
  2615.  
  2616.         // NumberInt, NumberFloat, Memory, Hierarchical
  2617.         Set( "Profiler.Type.NumberInt", new IMAGE_BRUSH( "Icons/Profiler/profiler_Number_32x", Icon16x16 ) );
  2618.         Set( "Profiler.Type.NumberFloat", new IMAGE_BRUSH( "Icons/Profiler/profiler_Number_32x", Icon16x16 ) );
  2619.         Set( "Profiler.Type.Memory", new IMAGE_BRUSH( "Icons/Profiler/profiler_Memory_32x", Icon16x16 ) );
  2620.         Set( "Profiler.Type.Hierarchical", new IMAGE_BRUSH( "Icons/Profiler/profiler_Event_32x", Icon16x16 ) );
  2621.  
  2622.         Set( "Profiler.Misc.GenericFilter", new IMAGE_BRUSH( "Icons/Profiler/profiler_GenericFilter_32x", Icon16x16 ) );
  2623.         Set( "Profiler.Misc.GenericGroup", new IMAGE_BRUSH( "Icons/Profiler/profiler_GenericGroup_32x", Icon16x16 ) );
  2624.         Set( "Profiler.Misc.CopyToClipboard", new IMAGE_BRUSH( "Icons/Profiler/profiler_CopyToClipboard_32x", Icon32x32 ) );
  2625.    
  2626.         Set( "Profiler.Misc.Disconnect", new IMAGE_BRUSH( "Icons/Profiler/profiler_Disconnect_32x", Icon32x32 ) );
  2627.  
  2628.         //Set( "Profiler.Type.Calls", new IMAGE_BRUSH( "Icons/Profiler/profiler_Calls_32x", Icon40x40) );
  2629.         //Set( "Profiler.Type.Calls.Small", new IMAGE_BRUSH( "Icons/Profiler/profiler_Calls_32x", Icon20x20) );
  2630.     }
  2631. #endif // WITH_EDITOR || IS_PROGRAM
  2632. }
  2633.    
  2634. void FSlateEditorStyle::FStyle::SetupGraphEditorStyles()
  2635. {
  2636.     // Graph Editor
  2637. #if WITH_EDITOR || IS_PROGRAM
  2638.     {
  2639.         Set( "Graph.ForegroundColor", FLinearColor(218.0f/255.0f, 218.0f/255.0f, 218.0f/255.0f, 1.0f) );
  2640.  
  2641.         Set( "Graph.TitleBackground", new BOX_BRUSH( "Old/Graph/GraphTitleBackground", FMargin(0) ) );
  2642.         Set( "Graph.Shadow", new BOX_BRUSH( "Old/Window/WindowBorder", 0.48f ) );
  2643.         Set( "Graph.Arrow", new IMAGE_BRUSH( "Old/Graph/Arrow", Icon16x16 ) );
  2644.         Set( "Graph.ExecutionBubble", new IMAGE_BRUSH( "Old/Graph/ExecutionBubble", Icon16x16 ) );
  2645.  
  2646.         Set( "Graph.PlayInEditor", new BOX_BRUSH( "/Graph/RegularNode_shadow_selected", FMargin(18.0f/64.0f) ) );
  2647.  
  2648.         Set( "Graph.Panel.SolidBackground", new IMAGE_BRUSH( "/Graph/GraphPanel_SolidBackground", FVector2D(16, 16), FLinearColor::White, ESlateBrushTileType::Both) );
  2649.         Set( "Graph.Panel.GridLineColor",   FLinearColor(0.035f, 0.035f, 0.035f) );
  2650.         Set( "Graph.Panel.GridRuleColor",   FLinearColor(0.008f, 0.008f, 0.008f) );
  2651.         Set( "Graph.Panel.GridCenterColor", FLinearColor(0.000f, 0.000f, 0.000f) );
  2652.        
  2653.         Set( "Graph.Panel.GridRulePeriod", 8.0f ); // should be a strictly positive integral value
  2654.  
  2655.         Set( "Graph.Node.Separator", new IMAGE_BRUSH( "Old/Graph/NodeVerticalSeparator", FVector2D(8,8) ) );
  2656.         Set( "Graph.Node.TitleBackground", new BOX_BRUSH( "Old/Graph/NodeTitleBackground", FMargin(12.0f/64) ) );
  2657.         Set( "Graph.Node.NodeBackground", new BOX_BRUSH( "Old/Graph/NodeBackground", FMargin(12.0f/64) ) );
  2658.  
  2659.         Set( "Graph.Node.Body", new BOX_BRUSH( "/Graph/RegularNode_body", FMargin(16.f/64.f, 25.f/64.f, 16.f/64.f, 16.f/64.f) ) );
  2660.         Set( "Graph.Node.TitleGloss", new BOX_BRUSH( "/Graph/RegularNode_title_gloss", FMargin(12.0f/64.0f) ) );
  2661.         Set( "Graph.Node.ColorSpill", new BOX_BRUSH( "/Graph/RegularNode_color_spill", FMargin(8.0f/64.0f, 3.0f/32.0f, 0, 0) ) );
  2662.         Set( "Graph.Node.TitleHighlight", new BOX_BRUSH( "/Graph/RegularNode_title_highlight", FMargin(16.0f/64.0f, 1.0f, 16.0f/64.0f, 0.0f) ) );
  2663.  
  2664.         Set( "Graph.Node.ShadowSize", FVector2D(12,12) );
  2665.         Set( "Graph.Node.ShadowSelected", new BOX_BRUSH( "/Graph/RegularNode_shadow_selected", FMargin(18.0f/64.0f) ) );
  2666.         Set( "Graph.Node.Shadow", new BOX_BRUSH( "/Graph/RegularNode_shadow", FMargin(18.0f/64.0f) ) );
  2667.  
  2668.         Set( "Graph.CompactNode.Body", new BOX_BRUSH( "/Graph/MathNode_body", FMargin(4.0f/64.0f, 26.0f/64.0f, 4.0f/64.0f, 4.0f/64.0f) ) );
  2669.         Set( "Graph.CompactNode.ShadowSelected", new BOX_BRUSH( "/Graph/MathNode_shadow_selected", FMargin(18.0f/64.0f) ) );
  2670.        
  2671.  
  2672.         Set( "Graph.Node.CommentBubble", new BOX_BRUSH( "Old/Graph/CommentBubble", FMargin(8/32.0f) ) );
  2673.         Set( "Graph.Node.CommentArrow", new IMAGE_BRUSH( "Old/Graph/CommentBubbleArrow", FVector2D(8,8) ) );
  2674.         Set( "Graph.Node.CommentFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) );
  2675.         Set( "Graph.Node.Comment.TextColor", FLinearColor::Black );
  2676.         Set( "Graph.Node.Comment.BubblePadding", FVector2D(3,3) );
  2677.  
  2678.         Set( "Graph.VarNode.Body", new BOX_BRUSH( "/Graph/VarNode_body", FMargin(16.f/64.f, 12.f/28.f) ) );
  2679.         Set( "Graph.VarNode.ColorSpill", new IMAGE_BRUSH( "/Graph/VarNode_color_spill", FVector2D(132,28) ) );
  2680.         Set( "Graph.VarNode.Gloss", new BOX_BRUSH( "/Graph/VarNode_gloss", FMargin(16.f/64.f, 16.f/28.f, 16.f/64.f, 4.f/28.f) ) );
  2681.        
  2682.         Set( "Graph.VarNode.ShadowSelected", new BOX_BRUSH( "/Graph/VarNode_shadow_selected", FMargin(26.0f/64.0f) ) );
  2683.         Set( "Graph.VarNode.Shadow", new BOX_BRUSH( "/Graph/VarNode_shadow", FMargin(26.0f/64.0f) ) );
  2684.  
  2685.         Set( "Graph.CollapsedNode.Body", new BOX_BRUSH( "/Graph/RegularNode_body", FMargin(16.f/64.f, 25.f/64.f, 16.f/64.f, 16.f/64.f) ) );
  2686.         Set( "Graph.CollapsedNode.BodyColorSpill", new BOX_BRUSH( "/Graph/CollapsedNode_Body_ColorSpill", FMargin(16.f/64.f, 25.f/64.f, 16.f/64.f, 16.f/64.f) ) );
  2687.  
  2688.         {
  2689.             // State or conduit node
  2690.             {
  2691.                 Set( "Graph.StateNode.Body", new BOX_BRUSH( "/Persona/StateMachineEditor/StateNode_Node_Body", FMargin(16.f/64.f, 25.f/64.f, 16.f/64.f, 16.f/64.f) ) );
  2692.                 Set( "Graph.StateNode.ColorSpill", new BOX_BRUSH( "/Persona/StateMachineEditor/StateNode_Node_ColorSpill", FMargin(4.0f/64.0f, 4.0f/32.0f) ) );
  2693.  
  2694.                 Set( "Graph.StateNode.Icon", new IMAGE_BRUSH( "/Persona/StateMachineEditor/State_Node_Icon_32x", Icon16x16 ) );
  2695.                 Set( "Graph.ConduitNode.Icon", new IMAGE_BRUSH( "/Persona/StateMachineEditor/Conduit_Node_Icon_32x", Icon16x16 ) );
  2696.  
  2697.                 Set( "Graph.StateNode.Pin.BackgroundHovered", new BOX_BRUSH( "/Persona/StateMachineEditor/StateNode_Pin_HoverCue", FMargin(12.0f/64.0f,12.0f/64.0f,12.0f/64.0f,12.0f/64.0f)));
  2698.                 Set( "Graph.StateNode.Pin.Background", new FSlateNoResource() );
  2699.             }
  2700.  
  2701.             {
  2702.                 FTextBlockStyle GraphStateNodeTitle = FTextBlockStyle(NormalText)
  2703.                     .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 14 ) )
  2704.                     .SetColorAndOpacity( FLinearColor(230.0f/255.0f,230.0f/255.0f,230.0f/255.0f) )
  2705.                     .SetShadowOffset( FVector2D( 2,2 ) )
  2706.                     .SetShadowColorAndOpacity( FLinearColor(0.f,0.f,0.f, 0.7f) );
  2707.                 Set( "Graph.StateNode.NodeTitle", GraphStateNodeTitle );
  2708.  
  2709.                 FEditableTextBoxStyle GraphStateNodeTitleEditableText = FEditableTextBoxStyle()
  2710.                     .SetFont(NormalText.Font)
  2711.                     .SetBackgroundImageNormal( BOX_BRUSH( "Common/TextBox", FMargin(4.0f/16.0f) ) )
  2712.                     .SetBackgroundImageHovered( BOX_BRUSH( "Common/TextBox_Hovered", FMargin(4.0f/16.0f) ) )
  2713.                     .SetBackgroundImageFocused( BOX_BRUSH( "Common/TextBox_Hovered", FMargin(4.0f/16.0f) ) )
  2714.                     .SetBackgroundImageReadOnly( BOX_BRUSH( "Common/TextBox_ReadOnly", FMargin(4.0f/16.0f) ) );
  2715.                 Set( "Graph.StateNode.NodeTitleEditableText", GraphStateNodeTitleEditableText );
  2716.  
  2717.                 Set( "Graph.StateNode.NodeTitleInlineEditableText", FInlineEditableTextBlockStyle()
  2718.                     .SetTextStyle(GraphStateNodeTitle)
  2719.                     .SetEditableTextBoxStyle(GraphStateNodeTitleEditableText)
  2720.                     );
  2721.             }
  2722.  
  2723.             // Transition node
  2724.             {
  2725.                 FMargin TestMargin(16.f/64.f, 16.f/28.f, 16.f/64.f, 4.f/28.f);
  2726.                 Set( "Graph.TransitionNode.Body", new BOX_BRUSH( "/Persona/StateMachineEditor/Trans_Node_Body", FMargin(16.f/64.f, 12.f/28.f) ) );
  2727.                 Set( "Graph.TransitionNode.ColorSpill", new BOX_BRUSH( "/Persona/StateMachineEditor/Trans_Node_ColorSpill", TestMargin ) );
  2728.                 Set( "Graph.TransitionNode.Gloss", new BOX_BRUSH( "/Persona/StateMachineEditor/Trans_Node_Gloss", TestMargin) );
  2729.                 Set( "Graph.TransitionNode.Icon", new IMAGE_BRUSH( "/Persona/StateMachineEditor/Trans_Node_Icon", FVector2D(25,25) ) );
  2730.             }
  2731.  
  2732.             // Transition rule tooltip name
  2733.             {
  2734.                 Set( "Graph.TransitionNode.TooltipName", FTextBlockStyle(NormalText)
  2735.                     .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 12 ) )
  2736.                     .SetColorAndOpacity( FLinearColor(218.0f/255.0f,218.0f/255.0f,218.0f/255.0f) )
  2737.                     .SetShadowOffset( FVector2D(1.0f, 1.0f) )
  2738.                     .SetShadowColorAndOpacity( FLinearColor(0.f,0.f,0.f, 0.7f) )
  2739.                 );
  2740.             }
  2741.  
  2742.             // Transition rule tooltip caption
  2743.             {
  2744.                 Set( "Graph.TransitionNode.TooltipRule", FTextBlockStyle(NormalText)
  2745.                     .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 8 ) )
  2746.                     .SetColorAndOpacity( FLinearColor(180.0f/255.0f,180.0f/255.0f,180.0f/255.0f) )
  2747.                     .SetShadowOffset( FVector2D(1.0f, 1.0f) )
  2748.                     .SetShadowColorAndOpacity( FLinearColor(0.f,0.f,0.f, 0.7f) )
  2749.                 );
  2750.             }
  2751.         }
  2752.  
  2753.         // Behavior Tree Editor
  2754.         {
  2755.             Set( "BTEditor.Graph.BTNode.Body", new BOX_BRUSH( "/BehaviorTree/BTNode_ColorSpill", FMargin(16.f/64.f, 25.f/64.f, 16.f/64.f, 16.f/64.f) ) );
  2756.             Set( "BTEditor.Graph.BTNode.Icon", new IMAGE_BRUSH( "/Persona/StateMachineEditor/State_Node_Icon_32x", Icon16x16 ) );
  2757.  
  2758.             Set( "BTEditor.Graph.BTNode.Composite.Icon", new IMAGE_BRUSH( "/BehaviorTree/Composite_Node_Icon_32x", Icon16x16 ) );
  2759.             Set( "BTEditor.Graph.BTNode.CompositeDecorator.Icon", new IMAGE_BRUSH( "/BehaviorTree/CompositeDecorator_Node_Icon_32x", Icon16x16 ) );
  2760.             Set( "BTEditor.Graph.BTNode.Decorator.Icon", new IMAGE_BRUSH( "/BehaviorTree/Decorator_Node_Icon_32x", Icon16x16 ) );
  2761.             Set( "BTEditor.Graph.BTNode.Root.Icon", new IMAGE_BRUSH( "/BehaviorTree/Root_Node_Icon_32x", Icon16x16 ) );
  2762.             Set( "BTEditor.Graph.BTNode.Service.Icon", new IMAGE_BRUSH( "/BehaviorTree/Service_Node_Icon_32x", Icon16x16 ) );
  2763.             Set( "BTEditor.Graph.BTNode.Task.Icon", new IMAGE_BRUSH( "/BehaviorTree/Task_Node_Icon_32x", Icon16x16 ) );
  2764.  
  2765.             Set( "BTEditor.Graph.FlowControl.Icon", new IMAGE_BRUSH( "/Persona/StateMachineEditor/Conduit_Node_Icon_32x", Icon16x16 ) );
  2766.  
  2767.             Set( "BTEditor.Debugger.ShowPrevStep", new IMAGE_BRUSH( "Icons/icon_step_back_40x", Icon40x40 ) );
  2768.             Set( "BTEditor.Debugger.ShowPrevStep.Small", new IMAGE_BRUSH( "Icons/icon_step_back_40x", Icon20x20 ) );
  2769.             Set( "BTEditor.Debugger.ShowNextStep", new IMAGE_BRUSH( "Icons/icon_step_40x", Icon40x40 ) );
  2770.             Set( "BTEditor.Debugger.ShowNextStep.Small", new IMAGE_BRUSH( "Icons/icon_step_40x", Icon20x20 ) );
  2771.             Set( "BTEditor.Debugger.Step", new IMAGE_BRUSH( "Icons/icon_findnode_40x", Icon40x40 ) );
  2772.             Set( "BTEditor.Debugger.Step.Small", new IMAGE_BRUSH( "Icons/icon_findnode_40x", Icon20x20 ) );
  2773.  
  2774.             Set( "BTEditor.Debugger.PausePlaySession", new IMAGE_BRUSH( "Icons/icon_pause_40x", Icon40x40 ) );
  2775.             Set( "BTEditor.Debugger.PausePlaySession.Small", new IMAGE_BRUSH( "Icons/icon_pause_40x", Icon20x20 ) );
  2776.             Set( "BTEditor.Debugger.ResumePlaySession", new IMAGE_BRUSH( "Icons/icon_play_40x", Icon40x40 ) );
  2777.             Set( "BTEditor.Debugger.ResumePlaySession.Small", new IMAGE_BRUSH( "Icons/icon_play_40x", Icon20x20 ) );
  2778.             Set( "BTEditor.Debugger.StopPlaySession", new IMAGE_BRUSH( "Icons/icon_stop_40x", Icon40x40 ) );
  2779.             Set( "BTEditor.Debugger.StopPlaySession.Small", new IMAGE_BRUSH( "Icons/icon_stop_40x", Icon20x20 ) );
  2780.  
  2781.             Set( "BTEditor.DebuggerOverlay.Breakpoint.Disabled", new IMAGE_BRUSH( "Old/Kismet2/Breakpoint_Disabled", Icon32x32 ) );
  2782.             Set( "BTEditor.DebuggerOverlay.Breakpoint.Enabled", new IMAGE_BRUSH( "Old/Kismet2/Breakpoint_Valid", Icon32x32 ) );
  2783.             Set( "BTEditor.DebuggerOverlay.ActiveNodePointer", new IMAGE_BRUSH( "Old/Kismet2/IP_Normal", FVector2D(128,96)) );
  2784.             Set( "BTEditor.DebuggerOverlay.SearchTriggerPointer", new IMAGE_BRUSH( "/BehaviorTree/SearchTriggerPointer", FVector2D(48,64)) );
  2785.             Set( "BTEditor.DebuggerOverlay.FailedTriggerPointer", new IMAGE_BRUSH( "/BehaviorTree/FailedTriggerPointer", FVector2D(48,64)) );
  2786.             Set( "BTEditor.DebuggerOverlay.BreakOnBreakpointPointer", new IMAGE_BRUSH( "Old/Kismet2/IP_Breakpoint", FVector2D(128,96)) );
  2787.  
  2788.         }
  2789.  
  2790.         // Visible on hover button for transition node
  2791.         {
  2792.             Set( "TransitionNodeButton.Normal", new FSlateNoResource() );
  2793.             Set( "TransitionNodeButton.Hovered", new IMAGE_BRUSH( "/Persona/StateMachineEditor/Trans_Button_Hovered", FVector2D(12,25) ) );
  2794.             Set( "TransitionNodeButton.Pressed", new IMAGE_BRUSH( "/Persona/StateMachineEditor/Trans_Button_Pressed", FVector2D(12,25) ) );
  2795.         }
  2796.  
  2797.         {
  2798.             Set( "Graph.AnimationResultNode.Body", new IMAGE_BRUSH( "/Graph/Animation/AnimationNode_Result_128x", FVector2D(128, 128) ) );
  2799.         }
  2800.  
  2801.         // SoundCueEditor Graph Nodes
  2802.         {
  2803.             Set( "Graph.SoundResultNode.Body", new IMAGE_BRUSH( "/Graph/SoundCue_SpeakerIcon", FVector2D(144, 144) ) );
  2804.         }
  2805.  
  2806.         Set( "Graph.Node.NodeEntryTop", new IMAGE_BRUSH( "Old/Graph/NodeEntryTop", FVector2D(64,12) ) );
  2807.         Set( "Graph.Node.NodeEntryBottom", new IMAGE_BRUSH( "Old/Graph/NodeEntryBottom", FVector2D(64,12) ) );
  2808.         Set( "Graph.Node.NodeExitTop", new IMAGE_BRUSH( "Old/Graph/NodeExitTop", FVector2D(64,12) ) );
  2809.         Set( "Graph.Node.NodeExitBottom", new IMAGE_BRUSH( "Old/Graph/NodeExitBottom", FVector2D(64,12) ) );
  2810.  
  2811.         Set( "Graph.Node.NodeEntryShadow", new BOX_BRUSH( "Old/Graph/NodeEntryShadow", FMargin(5.f/80, 21.f/52) ) );
  2812.         Set( "Graph.Node.NodeEntryShadowSelected", new BOX_BRUSH( "Old/Graph/NodeEntryShadowSelected", FMargin(5.f/80, 21.f/52) ) );
  2813.         Set( "Graph.Node.NodeExitShadow", new BOX_BRUSH( "Old/Graph/NodeExitShadow", FMargin(5.f/80, 21.f/52) ) );
  2814.         Set( "Graph.Node.NodeExitShadowSelected", new BOX_BRUSH( "Old/Graph/NodeExitShadowSelected", FMargin(5.f/80, 21.f/52) ) );
  2815.  
  2816.         Set( "Graph.Node.Autoplay", new IMAGE_BRUSH( "Graph/Icons/Overlay_Autoplay", FVector2D(22,22) ) );
  2817.         Set( "Graph.Node.Loop", new IMAGE_BRUSH( "Graph/Icons/Overlay_Loop", FVector2D(22,22) ) );
  2818.  
  2819.         {
  2820.             FTextBlockStyle GraphNodeTitle = FTextBlockStyle(NormalText)
  2821.                 .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 10 ) )
  2822.                 .SetColorAndOpacity( FLinearColor(218.0f/255.0f,218.0f/255.0f,218.0f/255.0f) )
  2823.                 .SetShadowOffset( FVector2D::ZeroVector )
  2824.                 .SetShadowColorAndOpacity( FLinearColor(0.f,0.f,0.f, 0.7f) );
  2825.             Set( "Graph.Node.NodeTitle", GraphNodeTitle );
  2826.  
  2827.             FEditableTextBoxStyle GraphNodeTitleEditableText = FEditableTextBoxStyle()
  2828.                 .SetFont(NormalText.Font)
  2829.                 .SetBackgroundImageNormal( BOX_BRUSH( "Common/TextBox", FMargin(4.0f/16.0f) ) )
  2830.                 .SetBackgroundImageHovered( BOX_BRUSH( "Common/TextBox_Hovered", FMargin(4.0f/16.0f) ) )
  2831.                 .SetBackgroundImageFocused( BOX_BRUSH( "Common/TextBox_Hovered", FMargin(4.0f/16.0f) ) )
  2832.                 .SetBackgroundImageReadOnly( BOX_BRUSH( "Common/TextBox_ReadOnly", FMargin(4.0f/16.0f) ) );
  2833.             Set( "Graph.Node.NodeTitleEditableText", GraphNodeTitleEditableText );
  2834.  
  2835.             Set( "Graph.Node.NodeTitleInlineEditableText", FInlineEditableTextBlockStyle()
  2836.                 .SetTextStyle(GraphNodeTitle)
  2837.                 .SetEditableTextBoxStyle(GraphNodeTitleEditableText)
  2838.             );
  2839.  
  2840.             Set( "Graph.Node.NodeTitleExtraLines", FTextBlockStyle(NormalText)
  2841.                 .SetFont( TTF_FONT( "Fonts/Roboto-Italic", 9 ) )
  2842.                 .SetColorAndOpacity( FLinearColor(218.0f/255.0f,218.0f/255.0f,96.0f/255.0f, 0.5f) )
  2843.                 .SetShadowOffset( FVector2D::ZeroVector )
  2844.                 .SetShadowColorAndOpacity( FLinearColor(0.f,0.f,0.f, 0.7f) )
  2845.             );
  2846.        
  2847.             FTextBlockStyle GraphCommentBlockTitle = FTextBlockStyle(NormalText)
  2848.                 .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 18 ) )
  2849.                 .SetColorAndOpacity( FLinearColor(218.0f/255.0f,218.0f/255.0f,218.0f/255.0f) )
  2850.                 .SetShadowOffset( FVector2D(1.5f, 1.5f) )
  2851.                 .SetShadowColorAndOpacity( FLinearColor(0.f,0.f,0.f, 0.7f) );
  2852.             Set( "Graph.CommentBlock.Title", GraphCommentBlockTitle );
  2853.  
  2854.             FEditableTextBoxStyle GraphCommentBlockTitleEditableText = FEditableTextBoxStyle()
  2855.                 .SetFont(GraphCommentBlockTitle.Font)
  2856.                 .SetBackgroundImageNormal( BOX_BRUSH( "Common/TextBox", FMargin(4.0f/16.0f) ) )
  2857.                 .SetBackgroundImageHovered( BOX_BRUSH( "Common/TextBox_Hovered", FMargin(4.0f/16.0f) ) )
  2858.                 .SetBackgroundImageFocused( BOX_BRUSH( "Common/TextBox_Hovered", FMargin(4.0f/16.0f) ) )
  2859.                 .SetBackgroundImageReadOnly( BOX_BRUSH( "Common/TextBox_ReadOnly", FMargin(4.0f/16.0f) ) );
  2860.             Set( "Graph.CommentBlock.TitleEditableText", GraphCommentBlockTitleEditableText );
  2861.  
  2862.             Set( "Graph.CommentBlock.TitleInlineEditableText", FInlineEditableTextBlockStyle()
  2863.                 .SetTextStyle(GraphCommentBlockTitle)
  2864.                 .SetEditableTextBoxStyle(GraphCommentBlockTitleEditableText)
  2865.                 );
  2866.  
  2867.             Set( "Graph.CompactNode.Title", FTextBlockStyle(NormalText)
  2868.                 .SetFont( TTF_FONT( "Fonts/Roboto-BoldCondensed", 40 ) )
  2869.                 .SetColorAndOpacity( FLinearColor(218.0f/255.0f, 218.0f/255.0f, 218.0f/255.0f, 0.25f) )
  2870.                 .SetShadowOffset( FVector2D::ZeroVector )
  2871.                 .SetShadowColorAndOpacity( FLinearColor::White )
  2872.             );
  2873.  
  2874.             Set( "Graph.ArrayCompactNode.Title", FTextBlockStyle(NormalText)
  2875.                 .SetFont( TTF_FONT( "Fonts/Roboto-BoldCondensed", 20 ) )
  2876.                 .SetColorAndOpacity( FLinearColor(1.0f, 1.0f, 1.0f, 0.5f) ) //218.0f/255.0f, 218.0f/255.0f, 218.0f/255.0f, 0.25f) )
  2877.                 .SetShadowOffset( FVector2D::ZeroVector )
  2878.                 .SetShadowColorAndOpacity( FLinearColor::White )
  2879.                 );
  2880.  
  2881.             Set( "Graph.Node.PinName", FTextBlockStyle(NormalText)
  2882.                 .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) )
  2883.                 .SetColorAndOpacity( FLinearColor(218.0f/255.0f,218.0f/255.0f,218.0f/255.0f) )
  2884.                 .SetShadowOffset( FVector2D::ZeroVector )
  2885.                 .SetShadowColorAndOpacity( FLinearColor(0.8f,0.8f,0.8f, 0.5) )
  2886.             );
  2887.         }
  2888.  
  2889.         {
  2890.             const FLinearColor BrighterColor(1.0f, 1.0f, 1.0f, 0.4f);
  2891.             const FLinearColor DarkerColor(0.8f, 0.8f, 0.8f, 0.4f);
  2892.             const float MarginSize = 9.0f/16.0f;
  2893.  
  2894.             /* Set states for various SCheckBox images ... */
  2895.             const FCheckBoxStyle GraphNodeAdvancedViewCheckBoxStyle = FCheckBoxStyle()
  2896.                 .SetCheckBoxType(ESlateCheckBoxType::ToggleButton)
  2897.                 .SetUncheckedImage( FSlateNoResource() )
  2898.                 .SetUncheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x", MarginSize, DarkerColor ) )
  2899.                 .SetCheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x", MarginSize, BrighterColor ) )
  2900.                 .SetCheckedImage( FSlateNoResource() )
  2901.                 .SetCheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x", MarginSize, DarkerColor ) )
  2902.                 .SetCheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x", MarginSize, BrighterColor ) );
  2903.             /* ... and add new style */
  2904.             Set( "Graph.Node.AdvancedView", GraphNodeAdvancedViewCheckBoxStyle );
  2905.         }
  2906.  
  2907.         // Special style for switch statements default pin label
  2908.         {
  2909.             Set( "Graph.Node.DefaultPinName", FTextBlockStyle(NormalText)
  2910.                 .SetFont( TTF_FONT( "Fonts/Roboto-Italic", 9 ) )
  2911.                 .SetColorAndOpacity( FLinearColor(218.0f/255.0f,218.0f/255.0f,218.0f/255.0f) )
  2912.                 .SetShadowOffset( FVector2D::ZeroVector )
  2913.                 .SetShadowColorAndOpacity( FLinearColor(0.8f,0.8f,0.8f, 0.5) )
  2914.             );
  2915.         }
  2916.         Set( "Graph.Pin.DefaultPinSeparator", new IMAGE_BRUSH( "/Graph/PinSeparator", FVector2D(64,8) ) );
  2917.  
  2918.         /** Original Pin Styles */
  2919.         Set( "Graph.Pin.Connected", new IMAGE_BRUSH( "/Graph/Pin_connected", FVector2D(11,11) ) );
  2920.         Set( "Graph.Pin.Disconnected", new IMAGE_BRUSH( "/Graph/Pin_disconnected", FVector2D(11,11) ) );
  2921.         Set( "Graph.ArrayPin.Connected", new IMAGE_BRUSH( "/Graph/ArrayPin_connected", FVector2D(11,11) ) );
  2922.         Set( "Graph.ArrayPin.Disconnected", new IMAGE_BRUSH( "/Graph/ArrayPin_disconnected", FVector2D(11,11) ) );
  2923.         Set( "Graph.RefPin.Connected", new IMAGE_BRUSH( "/Graph/RefPin_connected", FVector2D(11,11) ) );
  2924.         Set( "Graph.RefPin.Disconnected", new IMAGE_BRUSH( "/Graph/RefPin_disconnected", FVector2D(11,11) ) );
  2925.         Set( "Graph.Pin.ConnectedHovered", new IMAGE_BRUSH( "/Graph/Pin_connected", FVector2D(11,11) ) );
  2926.         Set( "Graph.Pin.DisconnectedHovered", new IMAGE_BRUSH( "/Graph/Pin_disconnected", FVector2D(11,11) ) );
  2927.         Set( "Graph.ArrayPin.ConnectedHovered", new IMAGE_BRUSH( "/Graph/ArrayPin_connected", FVector2D(11,11) ) );
  2928.         Set( "Graph.ArrayPin.DisconnectedHovered", new IMAGE_BRUSH( "/Graph/ArrayPin_disconnected", FVector2D(11,11) ) );
  2929.         Set( "Graph.RefPin.ConnectedHovered", new IMAGE_BRUSH( "/Graph/RefPin_connected", FVector2D(11,11) ) );
  2930.         Set( "Graph.RefPin.DisconnectedHovered", new IMAGE_BRUSH( "/Graph/RefPin_disconnected", FVector2D(11,11) ) );
  2931.  
  2932.         /** Variant A Pin Styles */
  2933.         Set( "Graph.Pin.Connected_VarA", new IMAGE_BRUSH( "/Graph/Pin_connected_VarA", FVector2D(15,11)) );
  2934.         Set( "Graph.Pin.Disconnected_VarA", new IMAGE_BRUSH( "/Graph/Pin_disconnected_VarA", FVector2D(15,11)) );
  2935.         Set( "Graph.Pin.ConnectedHovered_VarA", new IMAGE_BRUSH( "/Graph/Pin_connected_VarA", FVector2D(15,11) ) );
  2936.         Set( "Graph.Pin.DisconnectedHovered_VarA", new IMAGE_BRUSH( "/Graph/Pin_disconnected_VarA", FVector2D(15,11) ) );
  2937.  
  2938.         Set( "Graph.DelegatePin.Connected", new IMAGE_BRUSH( "/Graph/DelegatePin_connected", FVector2D(11,11) ) );
  2939.         Set( "Graph.DelegatePin.Disconnected", new IMAGE_BRUSH( "/Graph/DelegatePin_disconnected", FVector2D(11,11) ) );
  2940.         Set( "Graph.DelegatePin.ConnectedHovered", new IMAGE_BRUSH( "/Graph/DelegatePin_connected", FVector2D(11,11) ) );
  2941.         Set( "Graph.DelegatePin.DisconnectedHovered", new IMAGE_BRUSH( "/Graph/DelegatePin_disconnected", FVector2D(11,11) ) );
  2942.  
  2943.         Set( "Graph.Replication.AuthorityOnly", new IMAGE_BRUSH( "/Graph/AuthorityOnly", FVector2D(32,32) ) );
  2944.         Set( "Graph.Replication.ClientEvent", new IMAGE_BRUSH( "/Graph/ClientEvent", FVector2D(32,32) ) );
  2945.         Set( "Graph.Replication.Replicated", new IMAGE_BRUSH( "/Graph/Replicated", FVector2D(32,32) ) );
  2946.  
  2947.         Set( "Graph.Event.InterfaceEventIcon", new IMAGE_BRUSH("/Graph/InterfaceEventIcon", FVector2D(32,32) ) );
  2948.  
  2949.         Set( "Graph.Latent.LatentIcon", new IMAGE_BRUSH("/Graph/LatentIcon", FVector2D(32,32) ) );
  2950.         Set( "Graph.Message.MessageIcon", new IMAGE_BRUSH("/Graph/MessageIcon", FVector2D(32,32) ) );
  2951.  
  2952.         Set( "Graph.ExecPin.Connected", new IMAGE_BRUSH( "Old/Graph/ExecPin_Connected", Icon12x16 ) );
  2953.         Set( "Graph.ExecPin.Disconnected", new IMAGE_BRUSH( "Old/Graph/ExecPin_Disconnected", Icon12x16 ) );
  2954.         Set( "Graph.ExecPin.ConnectedHovered", new IMAGE_BRUSH( "Old/Graph/ExecPin_Connected", Icon12x16, FLinearColor(0.8f,0.8f,0.8f) ) );
  2955.         Set( "Graph.ExecPin.DisconnectedHovered", new IMAGE_BRUSH( "Old/Graph/ExecPin_Disconnected", Icon12x16, FLinearColor(0.8f,0.8f,0.8f) ) );
  2956.  
  2957.         const FVector2D Icon15x28(15.0f, 28.0f);
  2958.         Set("Graph.PosePin.Connected", new IMAGE_BRUSH("Graph/Animation/PosePin_Connected_15x28", Icon15x28));
  2959.         Set("Graph.PosePin.Disconnected", new IMAGE_BRUSH("Graph/Animation/PosePin_Disconnected_15x28", Icon15x28));
  2960.         Set("Graph.PosePin.ConnectedHovered", new IMAGE_BRUSH("Graph/Animation/PosePin_Connected_15x28", Icon15x28, FLinearColor(0.8f, 0.8f, 0.8f)));
  2961.         Set("Graph.PosePin.DisconnectedHovered", new IMAGE_BRUSH("Graph/Animation/PosePin_Disconnected_15x28", Icon15x28, FLinearColor(0.8f, 0.8f, 0.8f)));
  2962.  
  2963.         // Events Exec Pins
  2964.         Set( "Graph.ExecEventPin.Connected", new IMAGE_BRUSH( "Graph/EventPin_Connected", Icon16x16 ) );
  2965.         Set( "Graph.ExecEventPin.Disconnected", new IMAGE_BRUSH( "Graph/EventPin_Disconnected", Icon16x16 ) );
  2966.         Set( "Graph.ExecEventPin.ConnectedHovered", new IMAGE_BRUSH( "Graph/EventPin_Connected", Icon16x16, FLinearColor(0.8f,0.8f,0.8f) ) );
  2967.         Set( "Graph.ExecEventPin.DisconnectedHovered", new IMAGE_BRUSH( "Graph/EventPin_Disconnected", Icon16x16, FLinearColor(0.8f,0.8f,0.8f) ) );
  2968.  
  2969.         Set( "Graph.WatchedPinIcon_Pinned", new IMAGE_BRUSH( "Old/Graph/WatchedPinIcon_Pinned", Icon16x16 ) );
  2970.  
  2971.         Set( "Graph.Pin.BackgroundHovered", new IMAGE_BRUSH( "/Graph/Pin_hover_cue", FVector2D(32,8)));
  2972.         Set( "Graph.Pin.Background", new FSlateNoResource() );
  2973.  
  2974.         Set( "Graph.Pin.ObjectSet", new IMAGE_BRUSH( "Old/Graph/Pin_ObjectSet", Icon12x12 ) );
  2975.         Set( "Graph.Pin.ObjectEmpty", new IMAGE_BRUSH( "Old/Graph/Pin_ObjectEmpty", Icon12x12 ) );
  2976.  
  2977.         Set( "Graph.ConnectorFeedback.Border", new BOX_BRUSH( "Old/Menu_Background", FMargin(8.0f/64.0f) ) );
  2978.         Set( "Graph.ConnectorFeedback.OK", new IMAGE_BRUSH( "Old/Graph/Feedback_OK", Icon16x16 ) );
  2979.         Set( "Graph.ConnectorFeedback.OKWarn", new IMAGE_BRUSH( "Old/Graph/Feedback_OKWarn", Icon16x16 ) );
  2980.         Set( "Graph.ConnectorFeedback.Error", new IMAGE_BRUSH( "Old/Graph/Feedback_Error", Icon16x16 ) );
  2981.         Set( "Graph.ConnectorFeedback.NewNode", new IMAGE_BRUSH( "Old/Graph/Feedback_NewNode", Icon16x16 ) );
  2982.         Set( "Graph.ConnectorFeedback.ViaCast", new IMAGE_BRUSH( "Old/Graph/Feedback_ConnectViaCast", Icon16x16 ) );
  2983.         Set( "Graph.ConnectorFeedback.ShowNode", new IMAGE_BRUSH( "Graph/Feedback_ShowNode", Icon16x16 ) );
  2984.  
  2985.         {
  2986.             Set( "Graph.CornerText", FTextBlockStyle(NormalText)
  2987.                 .SetFont( TTF_FONT( "Fonts/Roboto-BoldCondensed", 48 ) )
  2988.                 .SetColorAndOpacity( FLinearColor(0.8, 0.8f, 0.8f, 0.2f) )
  2989.                 .SetShadowOffset( FVector2D::ZeroVector )
  2990.             );
  2991.  
  2992.             Set( "Graph.SimulatingText", FTextBlockStyle(NormalText)
  2993.                 .SetFont( TTF_FONT( "Fonts/Roboto-BoldCondensed", 48 ) )
  2994.                 .SetColorAndOpacity( FLinearColor(0.8, 0.8f, 0.0f, 0.2f) )
  2995.                 .SetShadowOffset( FVector2D::ZeroVector )
  2996.             );
  2997.  
  2998.             Set( "GraphPreview.CornerText", FTextBlockStyle(NormalText)
  2999.                 .SetFont( TTF_FONT( "Fonts/Roboto-BoldCondensed", 16 ) )
  3000.                 .SetColorAndOpacity( FLinearColor(0.8, 0.8f, 0.8f, 0.2f) )
  3001.                 .SetShadowOffset( FVector2D::ZeroVector )
  3002.             );
  3003.         }
  3004.  
  3005.         {
  3006.             Set( "Graph.ZoomText", FTextBlockStyle(NormalText)
  3007.                 .SetFont( TTF_FONT( "Fonts/Roboto-BoldCondensed", 16 ) )
  3008.             );
  3009.         }
  3010.  
  3011.         Set( "GraphEditor.Default_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_Node_16x", Icon16x16));
  3012.         Set( "GraphEditor.EventGraph_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_EventGraph_16x", Icon16x16 ) );
  3013.         Set( "GraphEditor.InterfaceFunction_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_Interfacefunction_16x", Icon16x16 ) );
  3014.         Set( "GraphEditor.Macro_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_Macro_16x", Icon16x16 ) );
  3015.         Set( "GraphEditor.Function_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_NewFunction_16x", Icon16x16 ) );
  3016.         Set( "GraphEditor.PotentialOverrideFunction_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_OverrideableFunction_16x", Icon16x16 ) );
  3017.         Set( "GraphEditor.OverrideFunction_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_OverrideFunction_16x", Icon16x16 ) );
  3018.         Set( "GraphEditor.SubGraph_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_SubgraphComposite_16x", Icon16x16 ) );
  3019.         Set( "GraphEditor.Animation_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_Anim_16x", Icon16x16 ) );
  3020.         Set( "GraphEditor.Conduit_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_Conduit_16x", Icon16x16 ) );
  3021.         Set( "GraphEditor.Rule_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_Rule_16x", Icon16x16 ) );
  3022.         Set( "GraphEditor.State_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_State_16x", Icon16x16 ) );
  3023.         Set( "GraphEditor.StateMachine_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_StateMachine_16x", Icon16x16 ) );
  3024.         Set( "GraphEditor.Event_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_Event_16x", Icon16x16 ) );
  3025.         Set( "GraphEditor.CustomEvent_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_CustomEvent_16x", Icon16x16 ) );
  3026.         Set( "GraphEditor.Timeline_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_Timeline_16x", Icon16x16));
  3027.         Set( "GraphEditor.Comment_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_Comment_16x", Icon16x16));
  3028.         Set( "GraphEditor.Switch_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_Switch_16x", Icon16x16));
  3029.         Set( "GraphEditor.BreakStruct_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_BreakStruct_16x", Icon16x16));
  3030.         Set( "GraphEditor.MakeStruct_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_MakeStruct_16x", Icon16x16));
  3031.         Set( "GraphEditor.Sequence_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_Sequence_16x", Icon16x16));
  3032.         Set( "GraphEditor.Branch_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_Branch_16x", Icon16x16));
  3033.         Set( "GraphEditor.SpawnActor_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_SpawnActor_16x", Icon16x16));
  3034.         Set( "GraphEditor.PadEvent_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_PadEvent_16x", Icon16x16));
  3035.         Set( "GraphEditor.MouseEvent_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_MouseEvent_16x", Icon16x16));
  3036.         Set( "GraphEditor.KeyEvent_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_KeyboardEvent_16x", Icon16x16));
  3037.         Set( "GraphEditor.TouchEvent_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_TouchEvent_16x", Icon16x16));
  3038.         Set( "GraphEditor.MakeArray_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_MakeArray_16x", Icon16x16));
  3039.         Set( "GraphEditor.Enum_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_Enum_16x", Icon16x16));
  3040.         Set( "GraphEditor.Select_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_Select_16x", Icon16x16));
  3041.         Set( "GraphEditor.Cast_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_Cast_16x", Icon16x16));
  3042.  
  3043.         Set( "GraphEditor.Macro.Loop_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_Loop_16x", Icon16x16));
  3044.         Set( "GraphEditor.Macro.Gate_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_Gate_16x", Icon16x16));
  3045.         Set( "GraphEditor.Macro.DoN_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_DoN_16x", Icon16x16));
  3046.         Set( "GraphEditor.Macro.DoOnce_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_DoOnce_16x", Icon16x16));
  3047.         Set( "GraphEditor.Macro.IsValid_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_IsValid_16x", Icon16x16));
  3048.         Set( "GraphEditor.Macro.FlipFlop_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_FlipFlop_16x", Icon16x16));
  3049.         Set( "GraphEditor.Macro.ForEach_16x", new IMAGE_BRUSH("Icons/icon_Blueprint_ForEach_16x", Icon16x16));
  3050.  
  3051.         Set( "GraphEditor.Delegate_16x", new IMAGE_BRUSH( "Icons/icon_Blueprint_Delegate_16x", Icon16x16 ) );
  3052.         Set( "GraphEditor.Delegate_24x", new IMAGE_BRUSH( "Icons/icon_Blueprint_Delegate_24x", Icon24x24 ) );
  3053.  
  3054.         Set( "GraphEditor.EventGraph_24x", new IMAGE_BRUSH( "Icons/icon_Blueprint_EventGraph_24x", Icon24x24 ) );
  3055.         Set( "GraphEditor.InterfaceFunction_24x", new IMAGE_BRUSH( "Icons/icon_Blueprint_Interfacefunction_24x", Icon24x24 ) );
  3056.         Set( "GraphEditor.Macro_24x", new IMAGE_BRUSH( "Icons/icon_Blueprint_Macro_24x", Icon24x24 ) );
  3057.         Set( "GraphEditor.Function_24x", new IMAGE_BRUSH( "Icons/icon_Blueprint_NewFunction_24x", Icon24x24 ) );
  3058.         Set( "GraphEditor.PotentialOverrideFunction_24x", new IMAGE_BRUSH( "Icons/icon_Blueprint_OverrideableFunction_24x", Icon24x24 ) );
  3059.         Set( "GraphEditor.OverrideFunction_24x", new IMAGE_BRUSH( "Icons/icon_Blueprint_OverrideFunction_24x", Icon24x24 ) );
  3060.         Set( "GraphEditor.SubGraph_24x", new IMAGE_BRUSH( "Icons/icon_Blueprint_SubgraphComposite_24x", Icon24x24 ) );
  3061.         Set( "GraphEditor.Animation_24x", new IMAGE_BRUSH( "Icons/icon_Blueprint_Anim_24x", Icon24x24 ) );
  3062.         Set( "GraphEditor.Conduit_24x", new IMAGE_BRUSH( "Icons/icon_Blueprint_Conduit_24x", Icon24x24 ) );
  3063.         Set( "GraphEditor.Rule_24x", new IMAGE_BRUSH( "Icons/icon_Blueprint_Rule_24x", Icon24x24 ) );
  3064.         Set( "GraphEditor.State_24x", new IMAGE_BRUSH( "Icons/icon_Blueprint_State_24x", Icon24x24 ) );
  3065.         Set( "GraphEditor.StateMachine_24x", new IMAGE_BRUSH( "Icons/icon_Blueprint_StateMachine_24x", Icon24x24 ) );
  3066.  
  3067.         Set( "GraphEditor.FunctionGlyph", new IMAGE_BRUSH( "Graph/Icons/Function", Icon22x22, FLinearColor::White) );
  3068.         Set( "GraphEditor.NodeGlyph", new IMAGE_BRUSH( "Graph/Icons/Node", Icon22x22, FLinearColor::White) );
  3069.         Set( "GraphEditor.PinIcon", new IMAGE_BRUSH( "Graph/Icons/Pin", Icon22x22, FLinearColor::White) );
  3070.         Set( "GraphEditor.ArrayPinIcon", new IMAGE_BRUSH( "Graph/Icons/ArrayPin", Icon22x22, FLinearColor::White ) );
  3071.         Set( "GraphEditor.RefPinIcon", new IMAGE_BRUSH( "Graph/Icons/RefPin", Icon22x22, FLinearColor::White ) );
  3072.         Set( "GraphEditor.UbergraphGlyph", new IMAGE_BRUSH( "Graph/Icons/EventGraph", Icon22x22, FLinearColor::White) );       
  3073.         Set( "GraphEditor.SubgraphGlyph", new IMAGE_BRUSH( "Graph/Icons/Subgraph", Icon22x22, FLinearColor::White) );      
  3074.         Set( "GraphEditor.AnimationGlyph", new IMAGE_BRUSH( "Graph/Icons/Robot", Icon22x22, FLinearColor::White) );
  3075.         Set( "GraphEditor.MacroGlyph", new IMAGE_BRUSH( "Graph/Icons/Macro", Icon22x22, FLinearColor::White) );
  3076.         Set( "GraphEditor.EnumGlyph", new IMAGE_BRUSH( "Graph/Icons/Enum", Icon22x22, FLinearColor::White) );
  3077.         Set( "GraphEditor.TimelineGlyph", new IMAGE_BRUSH( "Graph/Icons/Timeline", Icon22x22, FLinearColor::White) );
  3078.         Set( "GraphEditor.EventGlyph", new IMAGE_BRUSH( "Graph/Icons/Event", Icon22x22, FLinearColor::White) );
  3079.         Set( "GraphEditor.EventCustomGlyph", new IMAGE_BRUSH( "Graph/Icons/Event_Custom", Icon22x22, FLinearColor::White) );
  3080.         Set( "GraphEditor.SCSGlyph", new IMAGE_BRUSH( "Graph/Icons/Hammer", Icon22x22, FLinearColor::White) );
  3081.         // Find In Blueprints
  3082.         Set( "GraphEditor.FIB_CallFunction", new IMAGE_BRUSH( "Graph/Icons/FIB_CallFunction", Icon22x22, FLinearColor::White) );
  3083.         Set( "GraphEditor.FIB_MacroInstance", new IMAGE_BRUSH( "Graph/Icons/FIB_MacroInstance", Icon22x22, FLinearColor::White) );
  3084.         Set( "GraphEditor.FIB_Event", new IMAGE_BRUSH( "Graph/Icons/FIB_Event", Icon22x22, FLinearColor::White) );
  3085.         Set( "GraphEditor.FIB_VariableGet", new IMAGE_BRUSH( "Graph/Icons/FIB_VarGet", Icon22x22, FLinearColor::White) );
  3086.         Set( "GraphEditor.FIB_VariableSet", new IMAGE_BRUSH( "Graph/Icons/FIB_VarSet", Icon22x22, FLinearColor::White) );
  3087.  
  3088.         Set( "GraphEditor.FunctionOL.Interface", new IMAGE_BRUSH( "Graph/Icons/Overlay_Interface", Icon22x22 ) );
  3089.         Set( "GraphEditor.FunctionOL.New", new IMAGE_BRUSH( "Graph/Icons/Overlay_New", Icon22x22 ) );
  3090.         Set( "GraphEditor.FunctionOL.Override", new IMAGE_BRUSH( "Graph/Icons/Overlay_Override", Icon22x22 ) );
  3091.         Set( "GraphEditor.FunctionOL.PotentialOverride", new IMAGE_BRUSH( "Graph/Icons/Overlay_PotentialOverride", Icon22x22 ) );
  3092.  
  3093.         Set( "GraphEditor.HideUnusedPins", new IMAGE_BRUSH( "Icons/Hide_UnusedPins", Icon40x40 ) );
  3094.         Set( "GraphEditor.HideUnusedPins.Small", new IMAGE_BRUSH( "Icons/Hide_UnusedPins", Icon20x20 ) );
  3095.  
  3096.         // Graph editor widgets
  3097.         {
  3098.             // EditableTextBox
  3099.             {
  3100.                 Set( "Graph.EditableTextBox", FEditableTextBoxStyle()
  3101.                     .SetBackgroundImageNormal( BOX_BRUSH( "Graph/CommonWidgets/TextBox", FMargin(4.0f/16.0f) ) )
  3102.                     .SetBackgroundImageHovered( BOX_BRUSH( "Graph/CommonWidgets/TextBox_Hovered", FMargin(4.0f/16.0f) ) )
  3103.                     .SetBackgroundImageFocused( BOX_BRUSH( "Graph/CommonWidgets/TextBox_Hovered", FMargin(4.0f/16.0f) ) )
  3104.                     .SetBackgroundImageReadOnly( BOX_BRUSH( "Graph/CommonWidgets/TextBox", FMargin(4.0f/16.0f) ) )
  3105.                     );
  3106.             }
  3107.  
  3108.             // Check Box
  3109.             {
  3110.                 /* Set images for various SCheckBox states of style Graph.Checkbox ... */
  3111.                 const FCheckBoxStyle BasicGraphCheckBoxStyle = FCheckBoxStyle()
  3112.                     .SetUncheckedImage( IMAGE_BRUSH( "/Graph/CommonWidgets/Checkbox", Icon16x16 ) )
  3113.                     .SetUncheckedHoveredImage( IMAGE_BRUSH( "/Graph/CommonWidgets/Checkbox_Hovered", Icon16x16 ) )
  3114.                     .SetUncheckedPressedImage( IMAGE_BRUSH( "/Graph/CommonWidgets/Checkbox_Hovered", Icon16x16 ) )
  3115.                     .SetCheckedImage( IMAGE_BRUSH( "/Graph/CommonWidgets/Checkbox_Checked", Icon16x16 ) )
  3116.                     .SetCheckedHoveredImage( IMAGE_BRUSH( "/Graph/CommonWidgets/Checkbox_Checked_Hovered", Icon16x16 ) )
  3117.                     .SetCheckedPressedImage( IMAGE_BRUSH( "/Graph/CommonWidgets/Checkbox_Checked", Icon16x16, FLinearColor( 0.5f, 0.5f, 0.5f ) ) )
  3118.                     .SetUndeterminedImage( IMAGE_BRUSH( "/Graph/CommonWidgets/Checkbox_Undetermined", Icon16x16 ) )
  3119.                     .SetUndeterminedHoveredImage( IMAGE_BRUSH( "/Graph/CommonWidgets/Checkbox_Undetermined_Hovered", Icon16x16 ) )
  3120.                     .SetUndeterminedPressedImage( IMAGE_BRUSH( "/Graph/CommonWidgets/Checkbox_Undetermined_Hovered", Icon16x16, FLinearColor( 0.5f, 0.5f, 0.5f ) ) );
  3121.  
  3122.                 /* ... and add the new style */
  3123.                 Set( "Graph.Checkbox", BasicGraphCheckBoxStyle );
  3124.             }
  3125.         }
  3126.  
  3127.         // SCSEditor
  3128.         Set("SCSEditor.ToggleComponentEditing" , new IMAGE_BRUSH( "Icons/icon_translate_40x", Icon40x40) );
  3129.         Set("SCSEditor.ToggleComponentEditing.Small" , new IMAGE_BRUSH( "Icons/icon_translate_40x", Icon20x20) );
  3130.  
  3131.         // Timeline Editor
  3132.         {
  3133.             Set( "TimelineEditor.AddFloatTrack", new IMAGE_BRUSH( "Icons/icon_TrackAddFloat_36x24px", Icon36x24, FLinearColor::Black ) );
  3134.             Set( "TimelineEditor.AddVectorTrack", new IMAGE_BRUSH( "Icons/icon_TrackAddVector_36x24px", Icon36x24, FLinearColor::Black ) );
  3135.             Set( "TimelineEditor.AddEventTrack", new IMAGE_BRUSH( "Icons/icon_TrackAddEvent_36x24px", Icon36x24, FLinearColor::Black ) );
  3136.             Set( "TimelineEditor.AddColorTrack", new IMAGE_BRUSH( "Icons/icon_TrackAddColor_36x24px", Icon36x24, FLinearColor::Black ) );
  3137.             Set( "TimelineEditor.AddCurveAssetTrack", new IMAGE_BRUSH( "Icons/icon_TrackAddCurve_36x24px", Icon36x24, FLinearColor::Black ) );
  3138.             Set( "TimelineEditor.DeleteTrack", new IMAGE_BRUSH( "Icons/icon_TrackDelete_36x24px", Icon36x24, FLinearColor::Black ) );
  3139.         }
  3140.     }
  3141.  
  3142.     // Notify editor
  3143.     {
  3144.         Set( "Persona.NotifyEditor.NotifyTrackBackground", new BOX_BRUSH( "/Persona/NotifyEditor/NotifyTrackBackground", FMargin(8.0f/64.0f, 3.0f/32.0f) ) );
  3145.     }
  3146.  
  3147.     // Blueprint modes
  3148.     {
  3149.         Set( "ModeSelector.ToggleButton.Normal", new FSlateNoResource() );      // Note: Intentionally transparent background
  3150.         Set( "ModeSelector.ToggleButton.Pressed", new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ) );
  3151.         Set( "ModeSelector.ToggleButton.Hovered", new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor ) );
  3152.  
  3153.  
  3154.         Set( "BlueprintEditor.PipelineSeparator", new BOX_BRUSH( "Old/Kismet2/BlueprintModeSeparator", FMargin(15.0f/16.0f, 20.0f/20.0f, 1.0f/16.0f, 0.0f/20.0f), FLinearColor(1,1,1,0.5f) ) );
  3155.     }
  3156.  
  3157.     // Persona modes
  3158.     {
  3159.         Set( "Persona.PipelineSeparator", new BOX_BRUSH( "Persona/Modes/PipelineSeparator", FMargin(15.0f/16.0f, 22.0f/24.0f, 1.0f/16.0f, 1.0f/24.0f), FLinearColor(1,1,1,0.5f) ) );
  3160.     }
  3161. #endif // WITH_EDITOR || IS_PROGRAM
  3162.     }
  3163.  
  3164. void FSlateEditorStyle::FStyle::SetupLevelEditorStyle()
  3165.     {
  3166.     // Level editor tool bar icons
  3167. #if WITH_EDITOR
  3168.     {
  3169.         Set("LevelEditor.BrowseDocumentation", new IMAGE_BRUSH("Icons/Help/icon_Help_Documentation_16x", Icon16x16));
  3170.         Set("LevelEditor.BrowseAPIReference", new IMAGE_BRUSH("Icons/Help/icon_Help_api-1_16x", Icon16x16));
  3171.         Set("LevelEditor.Tutorials", new IMAGE_BRUSH("Icons/Help/icon_Help_tutorials_16x", Icon16x16));
  3172.         Set("LevelEditor.BrowseViewportControls", new IMAGE_BRUSH("Icons/Help/icon_Help_Documentation_16x", Icon16x16));
  3173.  
  3174.         Set("MainFrame.VisitAskAQuestionPage", new IMAGE_BRUSH("Icons/Help/icon_Help_ask_16x", Icon16x16));
  3175.         Set("MainFrame.VisitWiki", new IMAGE_BRUSH("Icons/Help/icon_Help_Documentation_16x", Icon16x16));
  3176.         Set("MainFrame.VisitForums", new IMAGE_BRUSH("Icons/Help/icon_Help_Documentation_16x", Icon16x16));
  3177.         Set("MainFrame.VisitSearchForAnswersPage", new IMAGE_BRUSH("Icons/Help/icon_Help_search_16x", Icon16x16));
  3178.         Set("MainFrame.VisitSupportWebSite", new IMAGE_BRUSH("Icons/Help/icon_Help_support_16x", Icon16x16));
  3179.         Set("MainFrame.VisitEpicGamesDotCom", new IMAGE_BRUSH("Icons/Help/icon_Help_epic_16x", Icon16x16));
  3180.         Set("MainFrame.AboutUnrealEd", new IMAGE_BRUSH("Icons/Help/icon_Help_unreal_16x", Icon16x16));
  3181.  
  3182.         const FLinearColor IconColor = FLinearColor::Black;
  3183.         Set( "EditorViewport.TranslateMode", new IMAGE_BRUSH( "Icons/icon_translateb_16x", Icon16x16 ) );
  3184.         Set( "EditorViewport.TranslateMode.Small", new IMAGE_BRUSH( "Icons/icon_translateb_16x", Icon16x16 ) );
  3185.         Set( "EditorViewport.RotateMode", new IMAGE_BRUSH( "Icons/icon_rotateb_16x", Icon16x16 ) );
  3186.         Set( "EditorViewport.RotateMode.Small", new IMAGE_BRUSH( "Icons/icon_rotateb_16x", Icon16x16 ) );
  3187.         Set( "EditorViewport.ScaleMode", new IMAGE_BRUSH( "Icons/icon_scaleb_16x", Icon16x16 ) );
  3188.         Set( "EditorViewport.ScaleMode.Small", new IMAGE_BRUSH( "Icons/icon_scaleb_16x", Icon16x16 ) );
  3189.         Set( "EditorViewport.TranslateRotateMode", new IMAGE_BRUSH( "Icons/icon_translate_rotate_40x", Icon20x20 ) );
  3190.         Set( "EditorViewport.TranslateRotateMode.Small", new IMAGE_BRUSH( "Icons/icon_translate_rotate_40x", Icon20x20 ) );
  3191.         Set( "EditorViewport.ToggleRealTime", new IMAGE_BRUSH( "Icons/icon_MatEd_Realtime_40x", Icon40x40 ) );
  3192.         Set( "EditorViewport.ToggleRealTime.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Realtime_40x", Icon20x20 ) );
  3193.         Set( "EditorViewport.LocationGridSnap", new IMAGE_BRUSH( "Old/LevelEditor/LocationGridSnap", Icon14x14, IconColor) );
  3194.         Set( "EditorViewport.RotationGridSnap", new IMAGE_BRUSH( "Old/LevelEditor/RotationGridSnap", Icon14x14, IconColor ) );
  3195.         Set( "EditorViewport.ScaleGridSnap", new IMAGE_BRUSH( "Old/LevelEditor/ScaleGridSnap", Icon14x14, IconColor ) );
  3196.         Set( "EditorViewport.RelativeCoordinateSystem_Local", new IMAGE_BRUSH( "Icons/icon_axis_local_16px", Icon16x16, IconColor ) );
  3197.         Set( "EditorViewport.RelativeCoordinateSystem_Local.Small", new IMAGE_BRUSH( "Icons/icon_axis_local_16px", Icon16x16, IconColor ) );
  3198.         Set( "EditorViewport.RelativeCoordinateSystem_World", new IMAGE_BRUSH( "Icons/icon_axis_world_16px", Icon16x16, IconColor ) );
  3199.         Set( "EditorViewport.RelativeCoordinateSystem_World.Small", new IMAGE_BRUSH( "Icons/icon_axis_world_16px", Icon16x16, IconColor ) );
  3200.         Set( "EditorViewport.CamSpeedSetting", new IMAGE_BRUSH( "Icons/icon_CameraSpeed_24x16px", FVector2D( 24, 16 ), IconColor ) );
  3201.        
  3202.         Set( "EditorViewport.LitMode", new IMAGE_BRUSH( "Icons/icon_ViewMode_Lit_16px", Icon16x16 ) );
  3203.         Set( "EditorViewport.UnlitMode", new IMAGE_BRUSH( "Icons/icon_ViewMode_Unlit_16px", Icon16x16 ) );
  3204.         Set( "EditorViewport.WireframeMode", new IMAGE_BRUSH( "Icons/icon_ViewMode_BrushWireframe_16px", Icon16x16 ) );
  3205.         Set( "EditorViewport.DetailLightingMode", new IMAGE_BRUSH( "Icons/icon_ViewMode_DetailLighting_16px", Icon16x16 ) );
  3206.         Set( "EditorViewport.LightingOnlyMode", new IMAGE_BRUSH( "Icons/icon_ViewMode_LightingOnly_16px", Icon16x16 ) );
  3207.         Set( "EditorViewport.LightComplexityMode", new IMAGE_BRUSH( "Icons/icon_ViewMode_LightComplexity_16px", Icon16x16 ) );
  3208.         Set( "EditorViewport.ShaderComplexityMode", new IMAGE_BRUSH( "Icons/icon_ViewMode_Shadercomplexity_16px", Icon16x16 ) );
  3209.         Set( "EditorViewport.StationaryLightOverlapMode", new IMAGE_BRUSH( "Icons/icon_ViewMode_StationaryLightOverlap_16px", Icon16x16 ) );
  3210.         Set( "EditorViewport.LightmapDensityMode", new IMAGE_BRUSH( "Icons/icon_ViewMode_LightmapDensity_16px", Icon16x16 ) );
  3211.         Set( "EditorViewport.VisualizeGBufferMode", new IMAGE_BRUSH( "Icons/icon_ViewMode_VisualisationGBuffer_16px", Icon16x16 ) );
  3212.         Set( "EditorViewport.ReflectionOverrideMode", new IMAGE_BRUSH( "Icons/icon_ViewMode_ReflectionOverride_16px", Icon16x16 ) );
  3213.         Set( "EditorViewport.VisualizeBufferMode", new IMAGE_BRUSH( "Icons/icon_ViewMode_VisualisationGBuffer_16px", Icon16x16 ) );
  3214.         Set( "EditorViewport.CollisionPawn", new IMAGE_BRUSH( "Icons/icon_ViewMode_CollsionPawn_16px", Icon16x16 ) );
  3215.         Set( "EditorViewport.CollisionVisibility", new IMAGE_BRUSH( "Icons/icon_ViewMode_CollisionVisibility_16px", Icon16x16 ) );
  3216.         Set( "EditorViewport.Perspective", new IMAGE_BRUSH( "Icons/icon_ViewMode_ViewPerspective_16px", Icon16x16 ) );
  3217.         Set( "EditorViewport.Top", new IMAGE_BRUSH( "Icons/icon_ViewMode_ViewTop_16px", Icon16x16 ) );
  3218.         Set( "EditorViewport.Side", new IMAGE_BRUSH( "Icons/icon_ViewMode_ViewSide_16px", Icon16x16 ) );
  3219.         Set( "EditorViewport.Front", new IMAGE_BRUSH( "Icons/icon_ViewMode_ViewFront_16px", Icon16x16 ) );
  3220. #endif
  3221.  
  3222. #if WITH_EDITOR || IS_PROGRAM
  3223.         {
  3224.             Set( "LevelEditor.Tabs.Details", new IMAGE_BRUSH( "/Icons/icon_tab_SelectionDetails_16x", Icon16x16 ) );
  3225.             Set( "LevelEditor.Tabs.EditorModes", new IMAGE_BRUSH( "/Icons/icon_tab_Tools_16x", Icon16x16 ) );
  3226.             Set( "LevelEditor.Tabs.Modes", new IMAGE_BRUSH( "/Icons/icon_tab_Tools_16x", Icon16x16 ) );
  3227.             Set( "LevelEditor.Tabs.Properties", new IMAGE_BRUSH( "/Icons/properties_16x", Icon16x16 ) );
  3228.             Set( "LevelEditor.Tabs.Outliner", new IMAGE_BRUSH( "/Icons/icon_tab_SceneOutliner_16x", Icon16x16 ) );
  3229.             Set( "LevelEditor.Tabs.ContentBrowser", new IMAGE_BRUSH( "/Icons/icon_tab_ContentBrowser_16x", Icon16x16 ) );
  3230.             Set( "LevelEditor.Tabs.Levels", new IMAGE_BRUSH( "/Icons/icon_tab_Levels_16x", Icon16x16 ) );
  3231.             Set( "LevelEditor.Tabs.WorldBrowser", new IMAGE_BRUSH( "/Icons/icon_tab_Levels_16x", Icon16x16 ) );
  3232.             Set( "LevelEditor.Tabs.Layers", new IMAGE_BRUSH( "/Icons/icon_tab_Layers_16x", Icon16x16 ) );
  3233.             Set( "LevelEditor.Tabs.BuildAndSubmit", new IMAGE_BRUSH( "/Icons/icon_tab_BuildSubmit_16x", Icon16x16 ) );
  3234.             Set( "LevelEditor.Tabs.StatsViewer", new IMAGE_BRUSH( "/Icons/icon_tab_Stats_16x", Icon16x16 ) );
  3235.             Set( "LevelEditor.Tabs.Toolbar", new IMAGE_BRUSH( "/Icons/icon_tab_Toolbars_16x", Icon16x16 ) );
  3236.             Set( "LevelEditor.Tabs.Viewports", new IMAGE_BRUSH( "/Icons/icon_tab_Viewports_16x", Icon16x16 ) );
  3237.         }
  3238. #endif
  3239.  
  3240. #if WITH_EDITOR
  3241.         Set( "LevelEditor.NewLevel", new IMAGE_BRUSH( "icons/icon_file_new_16px", Icon16x16 ) );
  3242.         Set( "LevelEditor.OpenLevel", new IMAGE_BRUSH( "icons/icon_file_open_16px", Icon16x16 ) );
  3243.         Set( "LevelEditor.Save", new IMAGE_BRUSH( "icons/icon_file_save_16px", Icon16x16 ) );
  3244.         Set( "LevelEditor.SaveAs", new IMAGE_BRUSH( "icons/icon_file_saveas_16px", Icon16x16 ) );
  3245.         Set( "LevelEditor.SaveAllLevels", new IMAGE_BRUSH( "icons/icon_file_savelevels_16px", Icon16x16 ) );
  3246.  
  3247.         Set( "LevelEditor.Build", new IMAGE_BRUSH( "Icons/icon_build_40x", Icon40x40 ) );
  3248.         Set( "LevelEditor.Build.Small", new IMAGE_BRUSH( "Icons/icon_build_40x", Icon20x20 ) );
  3249.         Set( "LevelEditor.MapCheck", new IMAGE_BRUSH( "Icons/icon_MapCheck_40x", Icon40x40 ) );
  3250.  
  3251.         Set( "LevelEditor.Recompile", new IMAGE_BRUSH( "Icons/icon_compile_40x", Icon40x40 ) );
  3252.         Set( "LevelEditor.Recompile.Small", new IMAGE_BRUSH( "Icons/icon_compile_40x", Icon20x20 ) );
  3253.  
  3254.         Set( "LevelEditor.ViewOptions", new IMAGE_BRUSH( "Icons/icon_view_40x", Icon40x40 ) );
  3255.         Set( "LevelEditor.ViewOptions.Small", new IMAGE_BRUSH( "Icons/icon_view_40x", Icon20x20 ) );
  3256.  
  3257.         Set( "LevelEditor.Create", new IMAGE_BRUSH( "Icons/icon_Mode_Placement_40px", Icon40x40 ) );
  3258.         Set( "LevelEditor.Create.Small", new IMAGE_BRUSH( "Icons/icon_Mode_Placement_40px", Icon20x20 ) );
  3259.         Set( "LevelEditor.Create.OutlineHoriz", new IMAGE_BRUSH( "Common/WorkingFrame_Marquee", FVector2D(34.0f, 3.0f), FLinearColor::White, ESlateBrushTileType::Horizontal) );
  3260.         Set( "LevelEditor.Create.OutlineVert", new IMAGE_BRUSH( "Common/WorkingFrame_Marquee_Vert", FVector2D(3.0f, 34.0f), FLinearColor::White, ESlateBrushTileType::Vertical) );
  3261.  
  3262.         Set( "LevelEditor.EditorModes", new IMAGE_BRUSH( "Icons/icon_Editor_Modes_40x", Icon40x40 ) );
  3263.         Set( "LevelEditor.EditorModes.Small", new IMAGE_BRUSH( "Icons/icon_Editor_Modes_40x", Icon20x20 ) );
  3264.         Set( "LevelEditor.EditorModes.Menu", new IMAGE_BRUSH( "Icons/icon_Editor_Modes_16x", Icon16x16 ) );
  3265.  
  3266.         Set( "LevelEditor.PlacementMode", new IMAGE_BRUSH( "Icons/icon_Mode_Placement_40px", Icon40x40 ) );
  3267.         Set( "LevelEditor.PlacementMode.Small", new IMAGE_BRUSH( "Icons/icon_Mode_Placement_40px", Icon20x20 ) );
  3268.         Set( "LevelEditor.PlacementMode.Selected", new IMAGE_BRUSH( "Icons/icon_Mode_Placement_selected_40x", Icon40x40 ) );
  3269.         Set( "LevelEditor.PlacementMode.Selected.Small", new IMAGE_BRUSH( "Icons/icon_Mode_Placement_selected_40x", Icon20x20 ) );
  3270.  
  3271.         Set( "LevelEditor.MeshPaintMode", new IMAGE_BRUSH( "Icons/icon_Mode_MeshPaint_40x", Icon40x40 ) );
  3272.         Set( "LevelEditor.MeshPaintMode.Small", new IMAGE_BRUSH( "Icons/icon_Mode_MeshPaint_40x", Icon20x20 ) );
  3273.         Set( "LevelEditor.MeshPaintMode.Selected", new IMAGE_BRUSH( "Icons/icon_Mode_Meshpaint_selected_40x", Icon40x40 ) );
  3274.         Set( "LevelEditor.MeshPaintMode.Selected.Small", new IMAGE_BRUSH( "Icons/icon_Mode_Meshpaint_selected_40x", Icon20x20 ) );
  3275.  
  3276.         Set( "LevelEditor.LandscapeMode", new IMAGE_BRUSH( "Icons/icon_Mode_Landscape_40x", Icon40x40 ) );
  3277.         Set( "LevelEditor.LandscapeMode.Small", new IMAGE_BRUSH( "Icons/icon_Mode_Landscape_40x", Icon20x20 ) );
  3278.         Set( "LevelEditor.LandscapeMode.Selected", new IMAGE_BRUSH( "Icons/icon_Mode_Landscape_selected_40x", Icon40x40 ) );
  3279.         Set( "LevelEditor.LandscapeMode.Selected.Small", new IMAGE_BRUSH( "Icons/icon_Mode_Landscape_selected_40x", Icon20x20 ) );
  3280.  
  3281.         Set( "LevelEditor.FoliageMode", new IMAGE_BRUSH( "Icons/icon_Mode_Foliage_40x", Icon40x40 ) );
  3282.         Set( "LevelEditor.FoliageMode.Small", new IMAGE_BRUSH( "Icons/icon_Mode_Foliage_40x", Icon20x20 ) );
  3283.         Set( "LevelEditor.FoliageMode.Selected", new IMAGE_BRUSH( "Icons/icon_Mode_Foliage_selected_40x", Icon40x40 ) );
  3284.         Set( "LevelEditor.FoliageMode.Selected.Small", new IMAGE_BRUSH( "Icons/icon_Mode_Foliage_selected_40x", Icon20x20 ) );
  3285.  
  3286.         Set( "LevelEditor.BspMode", new IMAGE_BRUSH( "Icons/icon_Mode_GeoEdit_40px", Icon40x40 ) );
  3287.         Set( "LevelEditor.BspMode.Small", new IMAGE_BRUSH( "Icons/icon_Mode_GeoEdit_40px", Icon20x20 ) );
  3288.         Set( "LevelEditor.BspMode.Selected", new IMAGE_BRUSH( "Icons/icon_Mode_GeoEdit-a_40px", Icon40x40 ) );
  3289.         Set( "LevelEditor.BspMode.Selected.Small", new IMAGE_BRUSH( "Icons/icon_Mode_GeoEdit-a_40px", Icon20x20 ) );
  3290.  
  3291.         Set( "LevelEditor.WorldProperties", new IMAGE_BRUSH( "Icons/icon_worldscript_40x", Icon40x40 ) );
  3292.         Set( "LevelEditor.WorldProperties.Small", new IMAGE_BRUSH( "Icons/icon_worldscript_40x", Icon20x20 ) );
  3293.         Set( "LevelEditor.WorldProperties.Tab", new IMAGE_BRUSH( "Icons/icon_worldscript_40x", Icon16x16 ) );
  3294.         Set( "LevelEditor.OpenContentBrowser", new IMAGE_BRUSH( "Icons/icon_ContentBrowser_40x", Icon40x40 ) );
  3295.         Set( "LevelEditor.OpenContentBrowser.Small", new IMAGE_BRUSH( "Icons/icon_ContentBrowser_40x", Icon20x20 ) );
  3296.         Set( "LevelEditor.OpenMarketplace", new IMAGE_BRUSH( "Icons/icon_Samples_Download_40x", Icon40x40 ) );
  3297.         Set( "LevelEditor.OpenMarketplace.Small", new IMAGE_BRUSH( "Icons/icon_Samples_Download_20x", Icon20x20 ) );
  3298.         Set( "LevelEditor.OpenLevelBlueprint", new IMAGE_BRUSH( "Icons/icon_kismet2_40x", Icon40x40 ) );
  3299.         Set( "LevelEditor.OpenLevelBlueprint.Small", new IMAGE_BRUSH( "Icons/icon_kismet2_40x", Icon20x20 ) );
  3300.         Set( "LevelEditor.CreateClassBlueprint", new IMAGE_BRUSH("Icons/icon_class_Blueprint_New_16x", Icon16x16));
  3301.         Set( "LevelEditor.OpenClassBlueprint", new IMAGE_BRUSH("Icons/icon_class_Blueprint_Open_16x", Icon16x16));
  3302.         Set( "LevelEditor.EditMatinee", new IMAGE_BRUSH( "Icons/icon_matinee_40x", Icon40x40 ) );
  3303.         Set( "LevelEditor.EditMatinee.Small", new IMAGE_BRUSH( "Icons/icon_matinee_40x", Icon20x20 ) );
  3304.        
  3305.         Set( "PlacementBrowser.OptionsMenu", new IMAGE_BRUSH( "Icons/icon_Blueprint_Macro_16x", Icon16x16 ) );
  3306.  
  3307.         Set( "PlacementBrowser.AssetToolTip.AssetName", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 9 ) ) );
  3308.         Set( "PlacementBrowser.AssetToolTip.AssetClassName", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) ) );
  3309.         Set( "PlacementBrowser.AssetToolTip.AssetPath", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) ) );
  3310.  
  3311.         Set( "PlacementBrowser.Asset", FButtonStyle( Button )
  3312.             .SetNormal( FSlateNoResource() )
  3313.             .SetHovered( IMAGE_BRUSH( "Common/Selection", Icon8x8, FLinearColor( 1.0f, 1.0f, 1.0f, 0.1f ) ) )
  3314.             .SetPressed( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) )
  3315.             .SetNormalPadding( 0 )
  3316.             .SetPressedPadding( 0 )
  3317.             );
  3318.  
  3319.         /* Create style for "ToolBar.ToggleButton" widget ... */
  3320.         const FCheckBoxStyle ToolBarToggleButtonCheckBoxStyle = FCheckBoxStyle()
  3321.             .SetCheckBoxType( ESlateCheckBoxType::ToggleButton )
  3322.             .SetUncheckedImage( FSlateNoResource() )
  3323.             .SetUncheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f / 16.0f, SelectionColor_Pressed ) )
  3324.             .SetUncheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f / 16.0f, SelectionColor ) )
  3325.             .SetCheckedImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f / 16.0f, SelectionColor_Pressed ) )
  3326.             .SetCheckedHoveredImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f / 16.0f, SelectionColor_Pressed ) )
  3327.             .SetCheckedPressedImage( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f / 16.0f, SelectionColor ) );
  3328.         /* ... and add new style */
  3329.         Set( "ToolBar.ToggleButton", ToolBarToggleButtonCheckBoxStyle );
  3330.  
  3331.         FLinearColor DimBackground = FLinearColor( FColor( 64, 64, 64 ) );
  3332.         FLinearColor DimBackgroundHover = FLinearColor( FColor( 50, 50, 50 ) );
  3333.         FLinearColor DarkBackground = FLinearColor( FColor( 42, 42, 42 ) );
  3334.  
  3335.         Set( "PlacementBrowser.Tab", FCheckBoxStyle()
  3336.             .SetCheckBoxType( ESlateCheckBoxType::ToggleButton )
  3337.             .SetUncheckedImage( BOX_BRUSH( "Common/Selection", 8.0f / 32.0f, DimBackground ) )
  3338.             .SetUncheckedPressedImage( BOX_BRUSH( "PlacementMode/TabActive", 8.0f / 32.0f ) )
  3339.             .SetUncheckedHoveredImage( BOX_BRUSH( "Common/Selection", 8.0f / 32.0f, DimBackgroundHover ) )
  3340.             .SetCheckedImage( BOX_BRUSH( "PlacementMode/TabActive", 8.0f / 32.0f ) )
  3341.             .SetCheckedHoveredImage( BOX_BRUSH( "PlacementMode/TabActive", 8.0f / 32.0f ) )
  3342.             .SetCheckedPressedImage( BOX_BRUSH( "PlacementMode/TabActive", 8.0f / 32.0f ) )
  3343.             .SetPadding( 0 ) );
  3344.  
  3345.         Set( "PlacementBrowser.Tab.ImportantText", FTextBlockStyle( NormalText )
  3346.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 10 ) )
  3347.             .SetColorAndOpacity( FLinearColor( 1.0f, 1.0f, 1.0f, 1.0f ) )
  3348.             .SetHighlightColor( FLinearColor( 1.0f, 1.0f, 1.0f ) )
  3349.             .SetShadowOffset( FVector2D( 1, 1 ) )
  3350.             .SetShadowColorAndOpacity( FLinearColor( 0, 0, 0, 0.9f ) ) );
  3351.  
  3352.         Set( "PlacementBrowser.Tab.Text", FTextBlockStyle( NormalText )
  3353.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 10 ) )
  3354.             .SetColorAndOpacity( FLinearColor( 1.0f, 1.0f, 1.0f, 0.9f ) )
  3355.             .SetHighlightColor( FLinearColor( 1.0f, 1.0f, 1.0f ) )
  3356.             .SetShadowOffset( FVector2D( 1, 1 ) )
  3357.             .SetShadowColorAndOpacity( FLinearColor( 0, 0, 0, 0.9f ) ) );
  3358.  
  3359.         Set( "PlacementBrowser.Asset.Name", FTextBlockStyle( NormalText )
  3360.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) )
  3361.             .SetColorAndOpacity( FLinearColor( 1.0f, 1.0f, 1.0f, 0.9f ) )
  3362.             .SetHighlightColor( FLinearColor( 1.0f, 1.0f, 1.0f ) )
  3363.             .SetShadowOffset( FVector2D( 1, 1 ) )
  3364.             .SetShadowColorAndOpacity( FLinearColor( 0, 0, 0, 0.9f ) ) );
  3365.  
  3366.         Set( "PlacementBrowser.Asset.Type", FTextBlockStyle( NormalText )
  3367.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) )
  3368.             .SetColorAndOpacity( FLinearColor( 0.8f, 0.8f, 0.8f, 0.9f ) )
  3369.             .SetHighlightColor( FLinearColor( 1.0f, 1.0f, 1.0f ) )
  3370.             .SetShadowOffset( FVector2D( 1, 1 ) )
  3371.             .SetShadowColorAndOpacity( FLinearColor( 0, 0, 0, 0.9f ) ) );
  3372.  
  3373.         Set( "PlacementBrowser.ActiveTabNub", new IMAGE_BRUSH( "Icons/TabTriangle_24x", Icon24x24, FLinearColor( FColor( 42, 42, 42 ) ) ) );
  3374.         Set( "PlacementBrowser.ActiveTabBar", new IMAGE_BRUSH( "Common/Selection", FVector2D(2.0f, 2.0f), SelectionColor ) );
  3375.  
  3376.         Set( "PlacementBrowser.ShowAllContent", new IMAGE_BRUSH( "Icons/icon_Placement_AllContent_20px", Icon20x20 ) );
  3377.         Set( "PlacementBrowser.ShowAllContent.Small", new IMAGE_BRUSH( "Icons/icon_Placement_AllContent_20px", Icon20x20 ) );
  3378.         Set( "PlacementBrowser.ShowCollections", new IMAGE_BRUSH( "Icons/icon_Placement_Collections_20px", Icon20x20 ) );
  3379.         Set( "PlacementBrowser.ShowCollections.Small", new IMAGE_BRUSH( "Icons/icon_Placement_Collections_20px", Icon20x20 ) );
  3380.  
  3381.         Set( "ContentPalette.ShowAllPlaceables", new IMAGE_BRUSH( "Icons/icon_Placement_FilterAll_20px", Icon20x20 ) );
  3382.         Set( "ContentPalette.ShowAllPlaceables.Small", new IMAGE_BRUSH( "Icons/icon_Placement_FilterAll_20px", Icon20x20 ) );
  3383.         Set( "ContentPalette.ShowProps", new IMAGE_BRUSH( "Icons/icon_Placement_FilterProps_20px", Icon20x20 ) );
  3384.         Set( "ContentPalette.ShowProps.Small", new IMAGE_BRUSH( "Icons/icon_Placement_FilterProps_20px", Icon20x20 ) );
  3385.         Set( "ContentPalette.ShowParticles", new IMAGE_BRUSH( "Icons/icon_Placement_FilterParticles_20px", Icon20x20 ) );
  3386.         Set( "ContentPalette.ShowParticles.Small", new IMAGE_BRUSH( "Icons/icon_Placement_FilterParticles_20px", Icon20x20 ) );
  3387.         Set( "ContentPalette.ShowAudio", new IMAGE_BRUSH( "Icons/icon_Placement_FilterAudio_20px", Icon20x20 ) );
  3388.         Set( "ContentPalette.ShowAudio.Small", new IMAGE_BRUSH( "Icons/icon_Placement_FilterAudio_20px", Icon20x20 ) );
  3389.         Set( "ContentPalette.ShowMisc", new IMAGE_BRUSH( "Icons/icon_Placement_FilterMisc_20px", Icon20x20 ) );
  3390.         Set( "ContentPalette.ShowMisc.Small", new IMAGE_BRUSH( "Icons/icon_Placement_FilterMisc_20px", Icon20x20 ) );
  3391.         Set( "ContentPalette.ShowRecentlyPlaced", new IMAGE_BRUSH( "Icons/icon_Placement_RecentlyPlaced_20x", Icon20x20 ) );
  3392.         Set( "ContentPalette.ShowRecentlyPlaced.Small", new IMAGE_BRUSH( "Icons/icon_Placement_RecentlyPlaced_20x", Icon20x20 ) );
  3393.     }
  3394.  
  3395.     {
  3396.  
  3397.         Set( "AssetDeleteDialog.Background", new IMAGE_BRUSH( "Common/Selection", Icon8x8, FLinearColor( 0.016, 0.016, 0.016 ) ) );
  3398.     }
  3399.  
  3400.     // Level editor tool box icons
  3401.     {
  3402.         Set( "LevelEditor.RecompileGameCode", new IMAGE_BRUSH( "Old/MainToolBar/RecompileGameCode", Icon40x40 ) );
  3403.     }
  3404.  
  3405.     // Level viewport layout command icons
  3406.     {
  3407.         const FVector2D IconLayoutSize(49.0f, 37.0f);
  3408.         const FVector2D IconLayoutSizeSmall(49.0f, 37.0f);      // small version set to same size as these are in their own menu and don't clutter the UI
  3409.  
  3410.         Set( "LevelViewport.ViewportConfig_TwoPanesH", new IMAGE_BRUSH( "Icons/ViewportLayout_TwoPanesHoriz", IconLayoutSize ) );
  3411.         Set( "LevelViewport.ViewportConfig_TwoPanesH.Small", new IMAGE_BRUSH( "Icons/ViewportLayout_TwoPanesHoriz", IconLayoutSizeSmall ) );
  3412.         Set( "LevelViewport.ViewportConfig_TwoPanesV", new IMAGE_BRUSH( "Icons/ViewportLayout_TwoPanesVert", IconLayoutSize ) );
  3413.         Set( "LevelViewport.ViewportConfig_TwoPanesV.Small", new IMAGE_BRUSH( "Icons/ViewportLayout_TwoPanesVert", IconLayoutSizeSmall ) );
  3414.         Set( "LevelViewport.ViewportConfig_ThreePanesLeft", new IMAGE_BRUSH( "Icons/ViewportLayout_ThreePanesLeft", IconLayoutSize ) );
  3415.         Set( "LevelViewport.ViewportConfig_ThreePanesLeft.Small", new IMAGE_BRUSH( "Icons/ViewportLayout_ThreePanesLeft", IconLayoutSizeSmall ) );
  3416.         Set( "LevelViewport.ViewportConfig_ThreePanesRight", new IMAGE_BRUSH( "Icons/ViewportLayout_ThreePanesRight", IconLayoutSize ) );
  3417.         Set( "LevelViewport.ViewportConfig_ThreePanesRight.Small", new IMAGE_BRUSH( "Icons/ViewportLayout_ThreePanesRight", IconLayoutSizeSmall ) );
  3418.         Set( "LevelViewport.ViewportConfig_ThreePanesTop", new IMAGE_BRUSH( "Icons/ViewportLayout_ThreePanesTop", IconLayoutSize ) );
  3419.         Set( "LevelViewport.ViewportConfig_ThreePanesTop.Small", new IMAGE_BRUSH( "Icons/ViewportLayout_ThreePanesTop", IconLayoutSizeSmall ) );
  3420.         Set( "LevelViewport.ViewportConfig_ThreePanesBottom", new IMAGE_BRUSH( "Icons/ViewportLayout_ThreePanesBottom", IconLayoutSize ) );
  3421.         Set( "LevelViewport.ViewportConfig_ThreePanesBottom.Small", new IMAGE_BRUSH( "Icons/ViewportLayout_ThreePanesBottom", IconLayoutSizeSmall ) );
  3422.         Set( "LevelViewport.ViewportConfig_FourPanesLeft", new IMAGE_BRUSH( "Icons/ViewportLayout_FourPanesLeft", IconLayoutSize ) );
  3423.         Set( "LevelViewport.ViewportConfig_FourPanesLeft.Small", new IMAGE_BRUSH( "Icons/ViewportLayout_FourPanesLeft", IconLayoutSizeSmall ) );
  3424.         Set( "LevelViewport.ViewportConfig_FourPanesRight", new IMAGE_BRUSH( "Icons/ViewportLayout_FourPanesRight", IconLayoutSize ) );
  3425.         Set( "LevelViewport.ViewportConfig_FourPanesRight.Small", new IMAGE_BRUSH( "Icons/ViewportLayout_FourPanesRight", IconLayoutSizeSmall ) );
  3426.         Set( "LevelViewport.ViewportConfig_FourPanesTop", new IMAGE_BRUSH( "Icons/ViewportLayout_FourPanesTop", IconLayoutSize ) );
  3427.         Set( "LevelViewport.ViewportConfig_FourPanesTop.Small", new IMAGE_BRUSH( "Icons/ViewportLayout_FourPanesTop", IconLayoutSizeSmall ) );
  3428.         Set( "LevelViewport.ViewportConfig_FourPanesBottom", new IMAGE_BRUSH( "Icons/ViewportLayout_FourPanesBottom", IconLayoutSize ) );
  3429.         Set( "LevelViewport.ViewportConfig_FourPanesBottom.Small", new IMAGE_BRUSH( "Icons/ViewportLayout_FourPanesBottom", IconLayoutSizeSmall ) );
  3430.         Set( "LevelViewport.ViewportConfig_FourPanes2x2", new IMAGE_BRUSH( "Icons/ViewportLayout_FourPanes2x2", IconLayoutSize ) );
  3431.         Set( "LevelViewport.ViewportConfig_FourPanes2x2.Small", new IMAGE_BRUSH( "Icons/ViewportLayout_FourPanes2x2", IconLayoutSizeSmall ) );
  3432.     }
  3433.  
  3434.     // Level editor status bar
  3435.     {
  3436.         Set( "TransformSettings.RelativeCoordinateSettings", new IMAGE_BRUSH( "Icons/icon_axis_16px", FVector2D( 16, 16 ) ) );
  3437.     }
  3438.  
  3439.     // Mesh Proxy Window
  3440.     {
  3441.         Set("MeshProxy.SimplygonLogo", new IMAGE_BRUSH( "Icons/SimplygonBanner_Sml", FVector2D(174, 36) ) );
  3442.     }
  3443. #endif // WITH_EDITOR || IS_PROGRAM
  3444.  
  3445.     // Level viewport
  3446. #if WITH_EDITOR || IS_PROGRAM
  3447.     {
  3448.         Set( "LevelViewport.ActiveViewportBorder", new BORDER_BRUSH( "Old/White", FMargin(1), SelectionColor ) );
  3449.         Set( "LevelViewport.NoViewportBorder", new FSlateNoResource() );
  3450.         Set( "LevelViewport.DebugBorder", new BOX_BRUSH( "Old/Window/ViewportDebugBorder", 0.8f, FLinearColor(.7,0,0,.5) ) );
  3451.         Set( "LevelViewport.BlackBackground", new FSlateColorBrush( FLinearColor::Black ) );
  3452.         Set( "LevelViewport.StartingPlayInEditorBorder", new BOX_BRUSH( "Old/Window/ViewportDebugBorder", 0.8f, FLinearColor(0.1f,1.0f,0.1f,1.0f) ) );
  3453.         Set( "LevelViewport.StartingSimulateBorder", new BOX_BRUSH( "Old/Window/ViewportDebugBorder", 0.8f, FLinearColor(1.0f,1.0f,0.1f,1.0f) ) );
  3454.         Set( "LevelViewport.ReturningToEditorBorder", new BOX_BRUSH( "Old/Window/ViewportDebugBorder", 0.8f, FLinearColor(0.1f,0.1f,1.0f,1.0f) ) );
  3455.         Set( "LevelViewport.ActorLockIcon", new IMAGE_BRUSH( "Icons/ActorLockedViewport", Icon32x32 ) );
  3456.         Set( "LevelViewport.Icon", new IMAGE_BRUSH( "Icons/icon_tab_viewport_16px", Icon16x16 ) );
  3457.  
  3458.         Set( "LevelViewportContextMenu.ActorType.Text", FTextBlockStyle(NormalText)
  3459.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) )
  3460.             .SetColorAndOpacity( FLinearColor(0.72f, 0.72f, 0.72f, 1.f) ) );
  3461.  
  3462.         Set( "LevelViewportContextMenu.AssetLabel.Text", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) ) );
  3463.  
  3464.         Set( "LevelViewport.CursorIcon", new IMAGE_BRUSH( "Common/Cursor", Icon16x16 ) );
  3465.  
  3466.         Set( "LevelViewport.AntiAliasing", new IMAGE_BRUSH( "Icons/icon_ShowAnti-aliasing_16x", Icon16x16 ) );
  3467.         Set( "LevelViewport.Atmosphere", new IMAGE_BRUSH( "Icons/icon_ShowAtmosphere_16x", Icon16x16 ) );
  3468.         Set( "LevelViewport.BSP", new IMAGE_BRUSH( "Icons/icon_ShowBSP_16x", Icon16x16 ) );
  3469.         Set( "LevelViewport.Collision", new IMAGE_BRUSH( "Icons/icon_ShowCollision_16x", Icon16x16 ) );
  3470.         Set( "LevelViewport.Decals", new IMAGE_BRUSH( "Icons/icon_ShowDecals_16x", Icon16x16 ) );
  3471.         Set( "LevelViewport.Fog", new IMAGE_BRUSH( "Icons/icon_ShowFog_16x", Icon16x16 ) );
  3472.         Set( "LevelViewport.Grid", new IMAGE_BRUSH( "Icons/icon_ShowGrid_16x", Icon16x16 ) );
  3473.         Set( "LevelViewport.Landscape", new IMAGE_BRUSH( "Icons/icon_ShowLandscape_16x", Icon16x16 ) );
  3474.         Set( "LevelViewport.Navigation", new IMAGE_BRUSH( "Icons/icon_ShowNavigation_16x", Icon16x16 ) );
  3475.         Set( "LevelViewport.Particles", new IMAGE_BRUSH( "Icons/icon_ShowParticlesSprite_16x", Icon16x16 ) );
  3476.         Set( "LevelViewport.SkeletalMeshes", new IMAGE_BRUSH( "Icons/icon_ShowSkeletalMeshes_16x", Icon16x16 ) );
  3477.         Set( "LevelViewport.StaticMeshes", new IMAGE_BRUSH( "Icons/icon_ShowStaticMeshes_16x", Icon16x16 ) );
  3478.         Set( "LevelViewport.Translucency", new IMAGE_BRUSH( "Icons/icon_ShowTranslucency_16x", Icon16x16 ) );
  3479.     }
  3480.  
  3481.     // Level editor ui command icons
  3482.     {
  3483.         Set( "LevelEditor.ShowAll", new IMAGE_BRUSH( "Old/SelectionDetails/ShowAll", FVector2D(32,32) ) );
  3484.         Set( "LevelEditor.ShowSelectedOnly", new IMAGE_BRUSH( "Old/SelectionDetails/ShowSelected", FVector2D(32,32) ) );
  3485.         Set( "LevelEditor.ShowSelected", new IMAGE_BRUSH( "Old/SelectionDetails/ShowSelected", FVector2D(32,32) ) );
  3486.         Set( "LevelEditor.HideSelected", new IMAGE_BRUSH( "Old/SelectionDetails/HideSelected", FVector2D(32,32) ) );
  3487.     }
  3488.  
  3489.     // Level viewport toolbar
  3490.     {
  3491.         Set( "EditorViewportToolBar.MenuButton", FButtonStyle(Button)
  3492.             .SetNormal(BOX_BRUSH( "Common/SmallRoundedButton", FMargin(7.f/16.f), FLinearColor(1,1,1,0.75f)))
  3493.             .SetHovered(BOX_BRUSH( "Common/SmallRoundedButton", FMargin(7.f/16.f), FLinearColor(1,1,1, 1.0f)))
  3494.             .SetPressed(BOX_BRUSH( "Common/SmallRoundedButton", FMargin(7.f/16.f) ))
  3495.         );
  3496.  
  3497.         Set( "EditorViewportToolBar.Button", HoverHintOnly );
  3498.  
  3499.         /* Set style structure for "EditorViewportToolBar.Button" ... */
  3500.         const FCheckBoxStyle EditorViewportToolBarButton = FCheckBoxStyle()
  3501.             .SetCheckBoxType(ESlateCheckBoxType::ToggleButton)
  3502.             .SetUncheckedImage( FSlateNoResource() )
  3503.             .SetUncheckedPressedImage( BOX_BRUSH( "Old/LevelViewportToolBar/MenuButton_Pressed", 4.0f/16.0f ) )
  3504.             .SetUncheckedHoveredImage( BOX_BRUSH( "Old/Border", 4.0f/16.0f ) )
  3505.             .SetCheckedImage( FSlateNoResource() )
  3506.             .SetCheckedHoveredImage( BOX_BRUSH( "Old/Border", 4.0f/16.0f ) )
  3507.             .SetCheckedPressedImage( BOX_BRUSH( "Old/LevelViewportToolBar/MenuButton_Pressed", 4.0f/16.0f ) );
  3508.         /* ... and set new style */
  3509.         Set( "LevelViewportToolBar.CheckBoxButton", EditorViewportToolBarButton );
  3510.  
  3511.         Set( "EditorViewportToolBar.MenuDropdown", new IMAGE_BRUSH( "Common/ComboArrow", Icon8x8 ) );
  3512.         Set( "LevelViewportToolBar.Maximize.Normal", new IMAGE_BRUSH( "Old/LevelViewportToolbar/Maximized_Unchecked", Icon16x16 ) );
  3513.         Set( "LevelViewportToolBar.Maximize.Checked", new IMAGE_BRUSH( "Old/LevelViewportToolbar/Maximized_Checked", Icon16x16 ) );
  3514.         Set( "LevelViewportToolBar.RestoreFromImmersive.Normal", new IMAGE_BRUSH( "Icons/icon_RestoreFromImmersive_16px", Icon16x16 ) );
  3515.     }
  3516. #endif // WITH_EDITOR || IS_PROGRAM
  3517.  
  3518.     // Mesh Paint
  3519.     {
  3520.         Set( "MeshPaint.Fill", new IMAGE_BRUSH( "/Icons/icon_MeshPaint_Fill_16x", Icon16x16 ) );
  3521.         Set( "MeshPaint.CopyInstVertColors", new IMAGE_BRUSH( "/Icons/icon_MeshPaint_Copy_16x", Icon16x16 ) );
  3522.         Set( "MeshPaint.ImportVertColors", new IMAGE_BRUSH( "/Icons/icon_MeshPaint_Import_16x", Icon16x16 ) );
  3523.         Set( "MeshPaint.FindInCB", new IMAGE_BRUSH( "/Icons/icon_MeshPaint_Find_16x", Icon16x16 ) );
  3524.         Set( "MeshPaint.SavePackage", new IMAGE_BRUSH( "/Icons/icon_MeshPaint_Save_16x", Icon16x16 ) );
  3525.         Set( "MeshPaint.CommitChanges", new IMAGE_BRUSH( "/Icons/assign_right_16x", Icon16x16 ) );
  3526.         Set( "MeshPaint.Swap", new IMAGE_BRUSH( "/Icons/icon_MeshPaint_Swap_16x", Icon16x16 ) );
  3527.     }
  3528.  
  3529.     // EditorModesToolbar
  3530.     {
  3531.         Set( "EditorModesToolbar.Background", new FSlateNoResource() );
  3532.         Set( "EditorModesToolbar.Icon", new IMAGE_BRUSH( "Icons/icon_tab_toolbar_16px", Icon16x16 ) );
  3533.         Set( "EditorModesToolbar.Expand", new IMAGE_BRUSH( "Icons/toolbar_expand_16x", Icon16x16) );
  3534.         Set( "EditorModesToolbar.SubMenuIndicator", new IMAGE_BRUSH( "Common/SubmenuArrow", Icon8x8 ) );
  3535.         Set( "EditorModesToolbar.SToolBarComboButtonBlock.Padding", FMargin( 0 ) );
  3536.         Set( "EditorModesToolbar.SToolBarComboButtonBlock.ComboButton.Color", DefaultForeground );
  3537.         Set( "EditorModesToolbar.SToolBarButtonBlock.Padding", FMargin( 1.0f, 0.0f, 0.0f, 0 ) );
  3538.         Set( "EditorModesToolbar.SToolBarButtonBlock.CheckBox.Padding", FMargin( 6.0f, 4.0f, 6.0f, 6.0f ) );
  3539.         Set( "EditorModesToolbar.SToolBarCheckComboButtonBlock.Padding", FMargin( 0 ) );
  3540.  
  3541.         Set( "EditorModesToolbar.Block.IndentedPadding", FMargin( 0 ) );
  3542.         Set( "EditorModesToolbar.Block.Padding", FMargin( 0 ) );
  3543.  
  3544.         Set( "EditorModesToolbar.Separator", new BOX_BRUSH( "Old/Button", 4.0f / 32.0f ) );
  3545.         Set( "EditorModesToolbar.Separator.Padding", FMargin( 0.5f ) );
  3546.  
  3547.         Set( "EditorModesToolbar.Label.Font", TTF_CORE_FONT( "Fonts/Roboto-Regular", 7 ) );
  3548.         Set( "EditorModesToolbar.EditableText.Font", TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) );
  3549.         Set( "EditorModesToolbar.Keybinding.Font", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  3550.  
  3551.         Set( "EditorModesToolbar.Heading.Font", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  3552.         Set( "EditorModesToolbar.Heading.ColorAndOpacity", FLinearColor( 0.4f, 0.4, 0.4f, 1.0f ) );
  3553.  
  3554.         /* Create style for "EditorModesToolbar.CheckBox" ... */
  3555.         const FCheckBoxStyle EditorModesToolbarCheckBoxStyle = FCheckBoxStyle()
  3556.             .SetUncheckedImage( IMAGE_BRUSH( "Common/SmallCheckbox", Icon14x14 ) )
  3557.             .SetCheckedImage( IMAGE_BRUSH( "Common/SmallCheckbox_Checked",  Icon14x14 ) )
  3558.             .SetUncheckedHoveredImage( IMAGE_BRUSH( "Common/SmallCheckbox_Hovered", Icon14x14 ) )
  3559.             .SetCheckedHoveredImage( IMAGE_BRUSH( "Common/SmallCheckbox_Checked_Hovered", Icon14x14 ) )
  3560.             .SetCheckedPressedImage( IMAGE_BRUSH( "Common/SmallCheckbox_Hovered", Icon14x14, FLinearColor( 0.5f, 0.5f, 0.5f ) ) );
  3561.         /* ... and set new style */
  3562.         Set( "EditorModesToolbar.CheckBox", EditorModesToolbarCheckBoxStyle );
  3563.  
  3564.         // Read-only checkbox that appears next to a menu item
  3565.         /* Create style for "EditorModesToolbar.Check" ... */
  3566.         const FCheckBoxStyle EditorModesToolbarCheckStyle = FCheckBoxStyle()
  3567.             .SetUncheckedImage(IMAGE_BRUSH( "Icons/Empty_14x", Icon14x14 ) )
  3568.             .SetCheckedImage( IMAGE_BRUSH( "Common/SmallCheck",  Icon14x14 ) )
  3569.             .SetUncheckedHoveredImage( FSlateNoResource() )
  3570.             .SetUncheckedPressedImage( FSlateNoResource() )
  3571.             .SetCheckedPressedImage( IMAGE_BRUSH( "Common/SmallCheck",  Icon14x14 ) );
  3572.         /*  ... and set new style  */
  3573.         Set( "EditorModesToolbar.Check", EditorModesToolbarCheckStyle );
  3574.  
  3575.         // This radio button is actually just a check box with different images
  3576.         /* Create style for "EditorModesToolbar.RadioButton" ... */
  3577.         const FCheckBoxStyle EditorModesToolbarRadioButtonStyle = FCheckBoxStyle()
  3578.             .SetUncheckedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16 ) )
  3579.             .SetCheckedImage( IMAGE_BRUSH( "Common/RadioButton_Selected_16x",  Icon16x16 ) )
  3580.             .SetUncheckedHoveredImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16, SelectionColor ) )
  3581.             .SetCheckedHoveredImage( IMAGE_BRUSH( "Common/RadioButton_Selected_16x", Icon16x16, SelectionColor ) )
  3582.             .SetUncheckedPressedImage( IMAGE_BRUSH( "Common/RadioButton_Unselected_16x", Icon16x16, SelectionColor_Pressed ) )
  3583.             .SetCheckedPressedImage( IMAGE_BRUSH( "Common/RadioButton_Selected_16x", Icon16x16, SelectionColor_Pressed ) );
  3584.         /* ... and add new style */
  3585.         Set( "EditorModesToolbar.RadioButton", EditorModesToolbarRadioButtonStyle );
  3586.  
  3587.         /* Create style for "EditorModesToolbar.ToggleButton" ... */
  3588.         const FCheckBoxStyle EditorModesToolbarToggleButtonStyle = FCheckBoxStyle()
  3589.             .SetCheckBoxType( ESlateCheckBoxType::ToggleButton )
  3590.             .SetUncheckedImage( BOX_BRUSH( "/EditorModes/Tab_Inactive", 4 / 16.0f ) )
  3591.             .SetUncheckedPressedImage( BOX_BRUSH( "/EditorModes/Tab_Active", 4 / 16.0f ) )
  3592.             .SetUncheckedHoveredImage( BOX_BRUSH( "/EditorModes/Tab_Active", 4 / 16.0f ) )
  3593.             .SetCheckedHoveredImage( BOX_BRUSH( "/EditorModes/Tab_Active", 4 / 16.0f ) )
  3594.             .SetCheckedPressedImage( BOX_BRUSH( "/EditorModes/Tab_Active", 4 / 16.0f ) )
  3595.             .SetCheckedImage( BOX_BRUSH( "/EditorModes/Tab_Active", 4 / 16.0f ) );
  3596.  
  3597.         /* ... and add new style */
  3598.         Set( "EditorModesToolbar.ToggleButton", EditorModesToolbarToggleButtonStyle );
  3599.  
  3600.         Set( "EditorModesToolbar.Button", FButtonStyle( Button )
  3601.             .SetNormal( FSlateNoResource() )
  3602.             .SetPressed( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f / 16.0f, SelectionColor_Pressed ) )
  3603.             .SetHovered( BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f / 16.0f, SelectionColor ) )
  3604.             );
  3605.  
  3606.         Set( "EditorModesToolbar.Button.Normal", new FSlateNoResource() );
  3607.         Set( "EditorModesToolbar.Button.Pressed", new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f / 16.0f, SelectionColor_Pressed ) );
  3608.         Set( "EditorModesToolbar.Button.Hovered", new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f / 16.0f, SelectionColor ) );
  3609.  
  3610.         Set( "EditorModesToolbar.Button.Checked", new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f / 16.0f, SelectionColor_Pressed ) );
  3611.         Set( "EditorModesToolbar.Button.Checked_Hovered", new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f / 16.0f, SelectionColor_Pressed ) );
  3612.         Set( "EditorModesToolbar.Button.Checked_Pressed", new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f / 16.0f, SelectionColor ) );
  3613.  
  3614.     {
  3615.             Set( "MultiBox.GenericToolBarIcon", new IMAGE_BRUSH( "Icons/icon_Cascade_RestartSim_40x", Icon40x40 ) );
  3616.             Set( "MultiBox.GenericToolBarIcon.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_RestartSim_40x", Icon20x20 ) );
  3617.  
  3618.             Set( "MultiBox.DeleteButton", FButtonStyle()
  3619.                 .SetNormal ( IMAGE_BRUSH( "/Docking/CloseApp_Hovered", Icon16x16 ) )
  3620.                 .SetPressed( IMAGE_BRUSH( "/Docking/CloseApp_Pressed", Icon16x16 ) )
  3621.                 .SetHovered( IMAGE_BRUSH( "/Docking/CloseApp_Hovered", Icon16x16 ) ) );
  3622.         }
  3623.     }
  3624.     }
  3625.  
  3626. void FSlateEditorStyle::FStyle::SetupPersonaStyle()
  3627. {
  3628.     // Persona
  3629. #if WITH_EDITOR
  3630.     {
  3631.         Set( "Persona.ConvertAnimationGraph", new IMAGE_BRUSH( "Old/Graph/ConvertIcon", Icon40x40 ) );
  3632.         Set( "AnimViewportMenu.TranslateMode", new IMAGE_BRUSH( "Icons/icon_translate_40x", Icon32x32) );
  3633.         Set( "AnimViewportMenu.TranslateMode.Small", new IMAGE_BRUSH( "Icons/icon_translate_40x", Icon16x16 ) );
  3634.         Set( "AnimViewportMenu.RotateMode", new IMAGE_BRUSH( "Icons/icon_rotate_40x", Icon32x32) );
  3635.         Set( "AnimViewportMenu.RotateMode.Small", new IMAGE_BRUSH( "Icons/icon_rotate_40x", Icon16x16 ) );
  3636.         Set( "Persona.ReimportAsset", new IMAGE_BRUSH( "Icons/reimport_12x", Icon12x12 ) );
  3637.         Set( "AnimViewportMenu.CameraFollow", new IMAGE_BRUSH( "Persona/Viewport/Camera_FollowBounds_40px", Icon32x32) );
  3638.         Set( "AnimViewportMenu.CameraFollow.Small", new IMAGE_BRUSH( "Persona/Viewport/Camera_FollowBounds_40px", Icon16x16 ) );
  3639.         Set( "SkeletonTree.SkeletonSocket", new IMAGE_BRUSH( "Persona/SkeletonTree/icon_SocketG_16px", Icon16x16) );
  3640.         Set( "SkeletonTree.MeshSocket", new IMAGE_BRUSH( "Persona/SkeletonTree/icon_SocketC_16px", Icon16x16) );
  3641.         Set( "AnimViewport.LocalSpaceEditing", new IMAGE_BRUSH( "Icons/icon_axis_local_16px", FVector2D( 16, 16 ) ) );
  3642.         Set( "AnimViewport.WorldSpaceEditing", new IMAGE_BRUSH( "Icons/icon_axis_world_16px", FVector2D( 16, 16 ) ) );
  3643.         Set( "AnimViewportMenu.SetShowNormals", new IMAGE_BRUSH( TEXT("Icons/icon_StaticMeshEd_Normals_40x"), Icon40x40 ) );
  3644.         Set( "AnimViewportMenu.SetShowNormals.Small", new IMAGE_BRUSH( TEXT("Icons/icon_StaticMeshEd_Normals_40x"), Icon20x20 ) );
  3645.         Set( "AnimViewportMenu.SetShowTangents", new IMAGE_BRUSH( TEXT("Icons/icon_StaticMeshEd_Tangents_40x"), Icon40x40 ) );
  3646.         Set( "AnimViewportMenu.SetShowTangents.Small", new IMAGE_BRUSH( TEXT("Icons/icon_StaticMeshEd_Tangents_40x"), Icon20x20 ) );
  3647.         Set( "AnimViewportMenu.SetShowBinormals", new IMAGE_BRUSH( TEXT("Icons/icon_StaticMeshEd_Binormals_40x"), Icon40x40 ) );
  3648.         Set( "AnimViewportMenu.SetShowBinormals.Small", new IMAGE_BRUSH( TEXT("Icons/icon_StaticMeshEd_Binormals_40x"), Icon20x20 ) );
  3649.         Set( "AnimViewportMenu.SetDrawUVs", new IMAGE_BRUSH( TEXT("Icons/icon_StaticMeshEd_UVOverlay_40x"), Icon40x40 ) );
  3650.         Set( "AnimViewportMenu.SetDrawUVs.Small", new IMAGE_BRUSH( TEXT("Icons/icon_StaticMeshEd_UVOverlay_40x"), Icon20x20 ) );
  3651.  
  3652.         Set( "AnimViewport.MessageFont", TTF_CORE_FONT("Fonts/Roboto-Bold", 9) );
  3653.        
  3654.         Set( "Persona.Viewport.BlueprintDirtyText", FTextBlockStyle(NormalText)
  3655.             .SetFont( TTF_FONT( "Fonts/Roboto-BoldCondensed", 18 ) )
  3656.             .SetColorAndOpacity( FLinearColor(0.8, 0.8f, 0.0f, 0.8f) )
  3657.             .SetShadowOffset( FVector2D( 1,1 ) )
  3658.             .SetShadowColorAndOpacity( FLinearColor(0,0,0,0.9f) )
  3659.             );
  3660.     }
  3661.  
  3662.     // Kismet 2
  3663.     {
  3664.         Set( "FullBlueprintEditor.SwitchToScriptingMode", new IMAGE_BRUSH( "Icons/icon_BlueprintEditor_EventGraph_40x", Icon40x40 ) );
  3665.         Set( "FullBlueprintEditor.SwitchToScriptingMode.Small", new IMAGE_BRUSH( "Icons/icon_BlueprintEditor_EventGraph_40x", Icon20x20 ) );
  3666.         Set( "FullBlueprintEditor.SwitchToBlueprintDefaultsMode", new IMAGE_BRUSH( "Icons/icon_BlueprintEditor_Defaults_40x", Icon40x40 ) );
  3667.         Set( "FullBlueprintEditor.SwitchToBlueprintDefaultsMode.Small", new IMAGE_BRUSH( "Icons/icon_BlueprintEditor_Defaults_40x", Icon20x20 ) );
  3668.         Set( "FullBlueprintEditor.SwitchToComponentsMode", new IMAGE_BRUSH( "Icons/icon_BlueprintEditor_Components_40x", Icon40x40 ) );
  3669.         Set( "FullBlueprintEditor.SwitchToComponentsMode.Small", new IMAGE_BRUSH( "Icons/icon_BlueprintEditor_Components_40x", Icon20x20 ) );
  3670.  
  3671.         Set( "FullBlueprintEditor.EditGlobalOptions", new IMAGE_BRUSH( "Icons/icon_Blueprint_Options_40px", Icon40x40));
  3672.         Set( "FullBlueprintEditor.EditGlobalOptions.Small", new IMAGE_BRUSH( "Icons/icon_Blueprint_Options_40px", Icon20x20));
  3673.  
  3674.         Set( "BlueprintEditor.Details.DeleteButton", new IMAGE_BRUSH( "/Icons/GenericDelete_Black", Icon16x16 ) );
  3675.  
  3676.         Set( "BlueprintEditor.Details.ArgUpButton", new IMAGE_BRUSH( "/Icons/icon_FunctionArgUp", Icon16x16 ) );
  3677.         Set( "BlueprintEditor.Details.ArgDownButton", new IMAGE_BRUSH( "/Icons/icon_FunctionArgDown", Icon16x16 ) );
  3678.  
  3679.         Set( "FullBlueprintEditor.Diff", new IMAGE_BRUSH( "Icons/BlueprintEditorDiff", Icon40x40 ) );
  3680.         Set( "FullBlueprintEditor.Diff.Small", new IMAGE_BRUSH( "Icons/BlueprintEditorDiff", Icon20x20 ) );
  3681.  
  3682.         Set( "BlueprintEditor.ActionMenu.ContextDescriptionFont",  FSlateFontInfo(TEXT("Roboto-Regular"), 12) );
  3683.  
  3684.         Set( "BlueprintEditor.FindInBlueprint", new IMAGE_BRUSH( "Icons/icon_Blueprint_Find_40px", Icon40x40 ) );
  3685.         Set( "BlueprintEditor.FindInBlueprint.Small", new IMAGE_BRUSH( "Icons/icon_Blueprint_Find_40px", Icon20x20 ) );
  3686.  
  3687.         Set( "BlueprintEditor.FindInBlueprints", new IMAGE_BRUSH( "Icons/icon_FindInAnyBlueprint_40px", Icon40x40 ) );
  3688.         Set( "BlueprintEditor.FindInBlueprints.Small", new IMAGE_BRUSH( "Icons/icon_FindInAnyBlueprint_40px", Icon20x20 ) );
  3689.  
  3690.         Set( "Kismet.CompileBlueprint", new IMAGE_BRUSH("/Icons/icon_kismet_compile_16px", Icon16x16) );
  3691.         Set( "Kismet.DeleteUnusedVariables", new IMAGE_BRUSH("/Icons/icon_kismet_findunused_16px", Icon16x16) );
  3692.  
  3693.         Set( "Kismet.Toolbar.SelectedDebugObject.Background", new IMAGE_BRUSH( "Old/Kismet2/DebugObject_Background", Icon40x40) );
  3694.  
  3695.         {
  3696.             Set( "Kismet.Tabs.Variables", new IMAGE_BRUSH( "/Icons/pill_16x", Icon16x16 ) );
  3697.             Set( "Kismet.Tabs.Explorer", new IMAGE_BRUSH( "/Icons/hiererchy_16x", Icon16x16 ) );
  3698.             Set( "Kismet.Tabs.Palette", new IMAGE_BRUSH( "/Icons/hiererchy_16x", Icon16x16 ) );
  3699.             Set( "Kismet.Tabs.CompilerResults", new IMAGE_BRUSH( "/Icons/hiererchy_16x", Icon16x16 ) );
  3700.             Set( "Kismet.Tabs.FindResults", new IMAGE_BRUSH( "/Icons/lens_16x", Icon16x16 ) );
  3701.             Set( "Kismet.Tabs.Components", new IMAGE_BRUSH( "Graph/Icons/Hammer", Icon16x16 ) );
  3702.         }
  3703.  
  3704.         Set("Kismet.Palette.Favorites", new IMAGE_BRUSH("Icons/Star_16x", Icon16x16, FLinearColor(0.4f, 0.4, 0.4f, 1.f)));
  3705.         Set("Kismet.Palette.Library",   new IMAGE_BRUSH("Icons/icon_MeshPaint_Find_16x", Icon16x16, FLinearColor(0.4f, 0.4, 0.4f, 1.f)));
  3706.         const FCheckBoxStyle KismetFavoriteToggleStyle = FCheckBoxStyle()
  3707.             .SetCheckBoxType(ESlateCheckBoxType::CheckBox)
  3708.             .SetUncheckedImage( IMAGE_BRUSH("Icons/EmptyStar_16x", Icon16x16, FLinearColor(0.8f, 0.8f, 0.8f, 1.f)) )
  3709.             .SetUncheckedHoveredImage( IMAGE_BRUSH("Icons/EmptyStar_16x", Icon16x16, FLinearColor(2.5f, 2.5f, 2.5f, 1.f)) )
  3710.             .SetUncheckedPressedImage( IMAGE_BRUSH("Icons/EmptyStar_16x", Icon16x16, FLinearColor(0.8f, 0.8f, 0.8f, 1.f)) )
  3711.             .SetCheckedImage( IMAGE_BRUSH("Icons/Star_16x", Icon16x16, FLinearColor(0.2f, 0.2f, 0.2f, 1.f)) )
  3712.             .SetCheckedHoveredImage( IMAGE_BRUSH("Icons/Star_16x", Icon16x16, FLinearColor(0.4f, 0.4f, 0.4f, 1.f)) )
  3713.             .SetCheckedPressedImage( IMAGE_BRUSH("Icons/Star_16x", Icon16x16, FLinearColor(0.2f, 0.2f, 0.2f, 1.f)) );
  3714.         Set("Kismet.Palette.FavoriteToggleStyle", KismetFavoriteToggleStyle);
  3715.  
  3716.         Set( "Kismet.Tooltip.SubtextFont", TTF_CORE_FONT("Fonts/Roboto-Regular", 8) );
  3717.  
  3718.         Set( "Kismet.Status.Unknown", new IMAGE_BRUSH( "Old/Kismet2/CompileStatus_Working", Icon40x40 ) );
  3719.         Set( "Kismet.Status.Error", new IMAGE_BRUSH( "Old/Kismet2/CompileStatus_Fail", Icon40x40 ) );
  3720.         Set( "Kismet.Status.Good", new IMAGE_BRUSH( "Old/Kismet2/CompileStatus_Good", Icon40x40 ) );
  3721.         Set( "Kismet.Status.Warning", new IMAGE_BRUSH( "Old/Kismet2/CompileStatus_Warning", Icon40x40 ) );
  3722.  
  3723.         Set( "BlueprintEditor.AddNewVariable", new IMAGE_BRUSH( "Icons/icon_Blueprint_AddVariable_40px", Icon40x40) );
  3724.         Set( "BlueprintEditor.AddNewVariable.Small", new IMAGE_BRUSH( "Icons/icon_Blueprint_AddVariable_40px", Icon20x20) );
  3725.         Set( "BlueprintEditor.AddNewVariableButton", new IMAGE_BRUSH( "Icons/icon_Blueprint_AddVariable_40px", Icon12x12) );
  3726.         Set( "BlueprintEditor.AddNewLocalVariable", new IMAGE_BRUSH( "Icons/icon_Blueprint_AddVariable_40px", Icon40x40) );
  3727.         Set( "BlueprintEditor.AddNewLocalVariable.Small", new IMAGE_BRUSH( "Icons/icon_Blueprint_AddVariable_40px", Icon20x20) );
  3728.         Set( "BlueprintEditor.AddNewFunction", new IMAGE_BRUSH( "Icons/icon_Blueprint_AddFunction_40px", Icon40x40) );
  3729.         Set( "BlueprintEditor.AddNewFunction.Small", new IMAGE_BRUSH( "Icons/icon_Blueprint_AddFunction_40px", Icon20x20) );
  3730.         Set( "BlueprintEditor.AddNewMacroDeclaration", new IMAGE_BRUSH( "Icons/icon_Blueprint_AddMacro_40px", Icon40x40) );
  3731.         Set( "BlueprintEditor.AddNewMacroDeclaration.Small", new IMAGE_BRUSH( "Icons/icon_Blueprint_AddMacro_40px", Icon20x20) );
  3732.         Set( "BlueprintEditor.AddNewAnimationGraph", new IMAGE_BRUSH( "Icons/icon_BlueprintEditor_AddDocument_40x", Icon40x40) );
  3733.         Set( "BlueprintEditor.AddNewAnimationGraph.Small", new IMAGE_BRUSH( "Icons/icon_BlueprintEditor_AddDocument_40x", Icon20x20) );
  3734.         Set( "BlueprintEditor.AddNewEventGraph", new IMAGE_BRUSH( "Icons/icon_Blueprint_AddGraph_40px", Icon40x40) );
  3735.         Set( "BlueprintEditor.AddNewEventGraph.Small", new IMAGE_BRUSH( "Icons/icon_Blueprint_AddGraph_40px", Icon20x20) );
  3736.         Set( "BlueprintEditor.ManageInterfaces", new IMAGE_BRUSH( "Icons/icon_BlueprintEditor_Interfaces_40x", Icon40x40) );   
  3737.         Set( "BlueprintEditor.ManageInterfaces.Small", new IMAGE_BRUSH( "Icons/icon_BlueprintEditor_Interfaces_40x", Icon20x20) ); 
  3738.         Set( "BlueprintEditor.AddNewDelegate.Small", new IMAGE_BRUSH( "Icons/icon_Blueprint_AddDelegate_40x", Icon20x20) );
  3739.         Set( "BlueprintEditor.AddNewDelegate", new IMAGE_BRUSH( "Icons/icon_Blueprint_AddDelegate_40x", Icon40x40) );
  3740.  
  3741.         Set( "Kismet.Status.Unknown.Small", new IMAGE_BRUSH( "Old/Kismet2/CompileStatus_Unknown_Small", Icon16x16 ) );
  3742.         Set( "Kismet.Status.Error.Small", new IMAGE_BRUSH( "Old/Kismet2/CompileStatus_Broken_Small", Icon16x16 ) );
  3743.         Set( "Kismet.Status.Good.Small", new IMAGE_BRUSH( "Old/Kismet2/CompileStatus_Good_Small", Icon16x16 ) );
  3744.         Set( "Kismet.Status.Warning.Small", new IMAGE_BRUSH( "Old/Kismet2/CompileStatus_Warning_Small", Icon16x16 ) );
  3745.  
  3746.         Set( "Kismet.TitleBarEditor.ArrowUp", new IMAGE_BRUSH( "Old/ArrowUp", Icon16x16 ) );
  3747.         Set( "Kismet.TitleBarEditor.ArrowDown", new IMAGE_BRUSH( "Old/ArrowDown", Icon16x16 ) );
  3748.  
  3749.         Set( "Kismet.VariableList.TypeIcon", new IMAGE_BRUSH( "/Icons/pill_16x", Icon16x16 ) );
  3750.         Set( "Kismet.VariableList.ArrayTypeIcon", new IMAGE_BRUSH( "/Icons/pillarray_16x", Icon16x16 ) );
  3751.         Set( "Kismet.VariableList.ExposeForInstance", new IMAGE_BRUSH( "/Icons/icon_layer_visible", Icon16x16 ) );
  3752.         Set( "Kismet.VariableList.HideForInstance", new IMAGE_BRUSH( "/Icons/icon_layer_not_visible", Icon16x16 ) );
  3753.         Set( "Kismet.VariableList.VariableIsUsed", new IMAGE_BRUSH( "/Icons/icon_variable_used_16x", Icon16x16 ) );
  3754.         Set( "Kismet.VariableList.VariableNotUsed", new IMAGE_BRUSH( "/Icons/icon_variable_not_used_16x", Icon16x16 ) );
  3755.  
  3756.         Set( "Kismet.VariableList.Replicated", new IMAGE_BRUSH( "/Icons/icon_replication_16px", Icon16x16, FLinearColor(0.0f, 0.0f, 0.0f, 1.0f) ) );
  3757.         Set( "Kismet.VariableList.NotReplicated", new IMAGE_BRUSH( "/Icons/icon_replication_16px", Icon16x16, FLinearColor(0.0f, 0.0f, 0.0f, 0.5f) ) );
  3758.  
  3759.         Set( "Kismet.Explorer.Title", FTextBlockStyle(NormalText) .SetFont(TTF_FONT( "Fonts/Roboto-BoldCondensedItalic", 11)));
  3760.         Set( "Kismet.Explorer.SearchDepthFont", TTF_CORE_FONT( "Fonts/Roboto-Bold", 14) );
  3761.  
  3762.         Set( "Kismet.Interfaces.Title",  FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT("Fonts/Roboto-Bold", 11 ) ) );
  3763.         Set( "Kismet.Interfaces.Implement", new IMAGE_BRUSH( "Icons/assign_left_16x", Icon16x16) );
  3764.         Set( "Kismet.Interfaces.Remove", new IMAGE_BRUSH( "Icons/assign_right_16x", Icon16x16) );
  3765.  
  3766.         Set( "Kismet.TypePicker.CategoryFont", TTF_FONT( "Fonts/Roboto-BoldCondensedItalic", 11) );
  3767.         Set( "Kismet.TypePicker.NormalFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 11) );
  3768.  
  3769.         Set( "Kismet.GraphPicker.Title", FTextBlockStyle(NormalText) .SetFont( TTF_FONT("Fonts/Roboto-BoldCondensedItalic", 11) ) );
  3770.  
  3771.         Set( "Kismet.CreateBlueprint", new IMAGE_BRUSH( "/Icons/CreateBlueprint", Icon16x16) );
  3772.         Set( "Kismet.HarvestBlueprintFromActors", new IMAGE_BRUSH( "/Icons/HarvestBlueprintFromActors", Icon16x16) );
  3773.  
  3774.         Set( "Kismet.Comment.Handle", new IMAGE_BRUSH( "Old/Kismet2/Comment_Handle", FVector2D(14.0f, 12.0f)) );
  3775.         Set( "Kismet.Comment.Background", new IMAGE_BRUSH( "Old/Kismet2/Comment_Background", FVector2D(100.0f, 68.0f)) );
  3776.  
  3777.         Set( "Kismet.AllClasses.VariableIcon", new IMAGE_BRUSH( "/Icons/pill_16x", Icon16x16 ) );
  3778.         Set( "Kismet.AllClasses.ArrayVariableIcon", new IMAGE_BRUSH( "/Icons/pillarray_16x", Icon16x16 ) );
  3779.         Set( "Kismet.AllClasses.FunctionIcon", new IMAGE_BRUSH( "/Icons/icon_BluePrintEditor_Function_16px", Icon16x16 ) );
  3780.  
  3781.         Set( "BlueprintEditor.ResetCamera", new IMAGE_BRUSH( "Icons/icon_Camera_Reset_40px", Icon16x16));
  3782.         Set( "Kismet.SetRealtimePreview", new IMAGE_BRUSH( "Icons/icon_MatEd_Realtime_40x", Icon16x16));
  3783.         Set( "BlueprintEditor.ShowFloor", new IMAGE_BRUSH( "Icons/icon_Show_Floor_40px", Icon16x16));
  3784.         Set( "BlueprintEditor.ShowGrid", new IMAGE_BRUSH( "Icons/icon_ShowGrid_16x", Icon16x16 ) );
  3785.         Set( "BlueprintEditor.EnableSimulation", new IMAGE_BRUSH( "Icons/icon_Enable_Simulation_40px", Icon40x40));
  3786.         Set( "BlueprintEditor.EnableSimulation.Small", new IMAGE_BRUSH( "Icons/icon_Enable_Simulation_40px", Icon20x20));
  3787.         Set( "SCS.NativeComponent", new IMAGE_BRUSH( "Icons/NativeSCSComponent", Icon20x20 ));
  3788.         Set( "SCS.Component", new IMAGE_BRUSH( "Icons/SCSComponent", Icon20x20 ));
  3789.     }
  3790.  
  3791.     // Kismet linear expression display
  3792.     {
  3793.         Set( "KismetExpression.ReadVariable.Body", new BOX_BRUSH( "/Graph/Linear_VarNode_Background", FMargin(16.f/64.f, 12.f/28.f) ) );
  3794.         Set( "KismetExpression.ReadVariable", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) ) );
  3795.         Set( "KismetExpression.ReadVariable.Gloss", new BOX_BRUSH( "/Graph/Linear_VarNode_Gloss", FMargin(16.f/64.f, 12.f/28.f) ) );
  3796.        
  3797.         Set( "KismetExpression.ReadAutogeneratedVariable.Body", new BOX_BRUSH( "/Graph/Linear_VarNode_Background", FMargin(16.f/64.f, 12.f/28.f) ) );
  3798.         Set( "KismetExpression.ReadAutogeneratedVariable", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) ) );
  3799.  
  3800.         Set( "KismetExpression.OperatorNode", FTextBlockStyle(NormalText) .SetFont( TTF_FONT( "Fonts/Roboto-BoldCondensed", 20 ) ) );
  3801.         Set( "KismetExpression.FunctionNode", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 10 ) ) );
  3802.         Set( "KismetExpression.LiteralValue", FTextBlockStyle(NormalText) .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 10 ) ) );
  3803.  
  3804.     }
  3805.  
  3806.     //Blueprint dif
  3807.     {
  3808.         Set( "BlueprintDif.HasGraph", new IMAGE_BRUSH( "/Icons/blueprint_dif_has_graph_8x", Icon8x8 )  );
  3809.         Set( "BlueprintDif.MissingGraph", new IMAGE_BRUSH( "/Icons/blueprint_dif_missing_graph_8x", Icon8x8 )  );
  3810.         Set( "BlueprintDif.NextDiff", new IMAGE_BRUSH( "/Icons/diff_next_40x", Icon16x16 )  );
  3811.         Set( "BlueprintDif.PrevDiff", new IMAGE_BRUSH( "/Icons/diff_prev_40x", Icon16x16 )  );
  3812.     }
  3813.     // Play in editor / play in world
  3814.     {
  3815.         Set( "PlayWorld.Simulate", new IMAGE_BRUSH( "Icons/icon_simulate_40x", Icon40x40 ) );
  3816.         Set( "PlayWorld.Simulate.Small", new IMAGE_BRUSH( "Icons/icon_simulate_40x", Icon20x20 ) );
  3817.  
  3818.         Set( "PlayWorld.RepeatLastPlay", new IMAGE_BRUSH( "Icons/icon_play_40x", Icon40x40 ) );
  3819.         Set( "PlayWorld.RepeatLastPlay.Small", new IMAGE_BRUSH( "Icons/icon_play_40x", Icon20x20 ) );
  3820.         Set( "PlayWorld.PlayInViewport", new IMAGE_BRUSH( "Icons/icon_play_40x", Icon40x40 ) );
  3821.         Set( "PlayWorld.PlayInViewport.Small", new IMAGE_BRUSH( "Icons/icon_play_40x", Icon20x20 ) );
  3822.         Set( "PlayWorld.PlayInEditorFloating", new IMAGE_BRUSH( "Icons/icon_playInWindow_40x", Icon40x40 ) );
  3823.         Set( "PlayWorld.PlayInEditorFloating.Small", new IMAGE_BRUSH( "Icons/icon_playInWindow_40x", Icon20x20 ) );
  3824.         Set( "PlayWorld.PlayInMobilePreview", new IMAGE_BRUSH( "Icons/icon_PlayMobilePreview_40x", Icon40x40 ) );
  3825.         Set( "PlayWorld.PlayInMobilePreview.Small", new IMAGE_BRUSH( "Icons/icon_PlayMobilePreview_16x", Icon20x20 ) );
  3826.         Set( "PlayWorld.PlayInNewProcess", new IMAGE_BRUSH( "Icons/icon_PlayStandalone_40x", Icon40x40 ) );
  3827.         Set( "PlayWorld.PlayInNewProcess.Small", new IMAGE_BRUSH( "Icons/icon_PlayStandalone_40x", Icon20x20 ) );
  3828.         Set( "PlayWorld.RepeatLastLaunch", new IMAGE_BRUSH( "Icons/icon_PlayOnDevice_40px", Icon40x40 ) );
  3829.         Set( "PlayWorld.RepeatLastLaunch.Small", new IMAGE_BRUSH( "Icons/icon_PlayOnDevice_40px", Icon20x20 ) );
  3830.         Set( "PlayWorld.PlayInCameraLocation", new IMAGE_BRUSH( "Icons/icon_PlayCameraLocation_40x", Icon40x40 ) );
  3831.         Set( "PlayWorld.PlayInDefaultPlayerStart", new IMAGE_BRUSH( "Icons/icon_PlayDefaultPlayerStart_40x", Icon40x40 ) );
  3832.  
  3833.         Set( "PlayWorld.ResumePlaySession", new IMAGE_BRUSH( "Icons/icon_play_40x", Icon40x40 ) );
  3834.         Set( "PlayWorld.ResumePlaySession.Small", new IMAGE_BRUSH( "Icons/icon_play_40x", Icon20x20 ) );
  3835.         Set( "PlayWorld.PausePlaySession", new IMAGE_BRUSH( "Icons/icon_pause_40x", Icon40x40 ) );
  3836.         Set( "PlayWorld.PausePlaySession.Small", new IMAGE_BRUSH( "Icons/icon_pause_40x", Icon20x20 ) );
  3837.         Set( "PlayWorld.SingleFrameAdvance", new IMAGE_BRUSH( "Icons/icon_advance_40x", Icon40x40 ) );
  3838.         Set( "PlayWorld.SingleFrameAdvance.Small", new IMAGE_BRUSH( "Icons/icon_advance_40x", Icon20x20 ) );
  3839.  
  3840.         Set( "PlayWorld.StopPlaySession", new IMAGE_BRUSH( "Icons/icon_stop_40x", Icon40x40 ) );
  3841.         Set( "PlayWorld.StopPlaySession.Small", new IMAGE_BRUSH( "Icons/icon_stop_40x", Icon20x20 ) );
  3842.  
  3843.         Set( "PlayWorld.PossessPlayer", new IMAGE_BRUSH( "Icons/icon_possess_40x", Icon40x40 ) );
  3844.         Set( "PlayWorld.PossessPlayer.Small", new IMAGE_BRUSH( "Icons/icon_possess_40x", Icon20x20 ) );
  3845.         Set( "PlayWorld.EjectFromPlayer", new IMAGE_BRUSH( "Icons/icon_eject_40x", Icon40x40 ) );
  3846.         Set( "PlayWorld.EjectFromPlayer.Small", new IMAGE_BRUSH( "Icons/icon_eject_40x", Icon20x20 ) );
  3847.  
  3848.         Set( "PlayWorld.ShowCurrentStatement", new IMAGE_BRUSH( "Icons/icon_findnode_40x", Icon40x40 ) );
  3849.         Set( "PlayWorld.ShowCurrentStatement.Small", new IMAGE_BRUSH( "Icons/icon_findnode_40x", Icon20x20 ) );
  3850.         Set( "PlayWorld.StepInto", new IMAGE_BRUSH( "Icons/icon_step_40x", Icon40x40 ) );
  3851.         Set( "PlayWorld.StepInto.Small", new IMAGE_BRUSH( "Icons/icon_step_40x", Icon20x20 ) );
  3852.         Set( "PlayWorld.StepOver", new IMAGE_BRUSH( "Old/Kismet2/Debugger_StepOver", Icon40x40 ) );
  3853.     }
  3854.  
  3855.  
  3856.     // Kismet 2 debugger
  3857.     {
  3858.         Set( "Kismet.Breakpoint.Disabled", new IMAGE_BRUSH( "Old/Kismet2/Breakpoint_Disabled_Small", Icon16x16 ) );
  3859.         Set( "Kismet.Breakpoint.EnabledAndInvalid", new IMAGE_BRUSH( "Old/Kismet2/Breakpoint_Invalid_Small", Icon16x16 ) );
  3860.         Set( "Kismet.Breakpoint.EnabledAndValid", new IMAGE_BRUSH( "Old/Kismet2/Breakpoint_Valid_Small", Icon16x16 ) );
  3861.         Set( "Kismet.Breakpoint.NoneSpacer", new IMAGE_BRUSH( "Old/Kismet2/Breakpoint_None_Small", Icon16x16 ) );
  3862.         Set( "Kismet.Breakpoint.MixedStatus", new IMAGE_BRUSH( "Old/Kismet2/Breakpoint_Mixed_Small", Icon16x16 ) );
  3863.        
  3864.         Set( "Kismet.WatchIcon", new IMAGE_BRUSH( "Old/Kismet2/WatchIcon", Icon16x16 ) );
  3865.         Set( "Kismet.LatentActionIcon", new IMAGE_BRUSH( "Old/Kismet2/LatentActionIcon", Icon16x16 ) );
  3866.  
  3867.         Set( "Kismet.Trace.CurrentIndex", new IMAGE_BRUSH( "Old/Kismet2/CurrentInstructionOverlay_Small", Icon16x16 ) );
  3868.         Set( "Kismet.Trace.PreviousIndex", new IMAGE_BRUSH( "Old/Kismet2/FaintInstructionOverlay_Small", Icon16x16 ) );
  3869.  
  3870.         Set( "Kismet.DebuggerOverlay.Breakpoint.Disabled", new IMAGE_BRUSH( "Old/Kismet2/Breakpoint_Disabled", Icon32x32 ) );
  3871.         Set( "Kismet.DebuggerOverlay.Breakpoint.EnabledAndInvalid", new IMAGE_BRUSH( "Old/Kismet2/Breakpoint_Invalid", Icon32x32 ) );
  3872.         Set( "Kismet.DebuggerOverlay.Breakpoint.EnabledAndValid", new IMAGE_BRUSH( "Old/Kismet2/Breakpoint_Valid", Icon32x32 ) );
  3873.         Set( "Kismet.DebuggerOverlay.Breakpoint.DisabledCollapsed", new IMAGE_BRUSH( "Old/Kismet2/Breakpoint_Disabled_Collapsed", Icon32x32 ) );
  3874.         Set( "Kismet.DebuggerOverlay.Breakpoint.EnabledAndInvalidCollapsed", new IMAGE_BRUSH( "Old/Kismet2/Breakpoint_Invalid_Collapsed", Icon32x32 ) );
  3875.         Set( "Kismet.DebuggerOverlay.Breakpoint.EnabledAndValidCollapsed", new IMAGE_BRUSH( "Old/Kismet2/Breakpoint_Valid_Collapsed", Icon32x32 ) );
  3876.  
  3877.         Set( "Kismet.DebuggerOverlay.InstructionPointer", new IMAGE_BRUSH( "Old/Kismet2/IP_Normal", FVector2D(128,96)) );
  3878.         Set( "Kismet.DebuggerOverlay.InstructionPointerBreakpoint", new IMAGE_BRUSH( "Old/Kismet2/IP_Breakpoint", FVector2D(128,96)) );
  3879.     }
  3880. #endif // WITH_EDITOR
  3881. }
  3882.    
  3883. void FSlateEditorStyle::FStyle::SetupClassIconsAndThumbnails()
  3884. {
  3885. #if WITH_EDITOR
  3886.     // Actor Classes Outliner
  3887.     {
  3888.         Set( "ClassIcon.Default", new IMAGE_BRUSH( "Icons/ActorIcons/Default_16x", Icon16x16 ) );
  3889.         Set( "ClassIcon.Emitter", new IMAGE_BRUSH( "Icons/ActorIcons/Emitter_16x", Icon16x16 ) );
  3890.         Set( "ClassIcon.Light", new IMAGE_BRUSH( "Icons/ActorIcons/LightActor_16x", Icon16x16 ) );
  3891.         Set( "ClassIcon.PointLight", new IMAGE_BRUSH( "Icons/ActorIcons/PointLight_16x", Icon16x16 ) );
  3892.         Set( "ClassIcon.SpotLight", new IMAGE_BRUSH( "Icons/ActorIcons/SpotLight_16x", Icon16x16 ) );
  3893.         Set( "ClassIcon.DirectionalLight", new IMAGE_BRUSH( "Icons/ActorIcons/DirectionalLight_16x", Icon16x16 ) );
  3894.         Set( "ClassIcon.MatineeActor", new IMAGE_BRUSH( "Icons/ActorIcons/MatineeActor_16x", Icon16x16 ) );
  3895.         Set( "ClassIcon.PlayerStart", new IMAGE_BRUSH( "Icons/ActorIcons/PlayerStart_16x", Icon16x16 ) );
  3896.         Set( "ClassIcon.AmbientSound", new IMAGE_BRUSH( "Icons/ActorIcons/SoundActor_16x", Icon16x16 ) );
  3897.         Set( "ClassIcon.TriggerBase", new IMAGE_BRUSH( "Icons/ActorIcons/TriggerActor_16x", Icon16x16 ) );
  3898.         Set( "ClassIcon.Brush", new IMAGE_BRUSH( "Icons/ActorIcons/Brush_16x", Icon16x16 ) );
  3899.         Set( "ClassIcon.BrushAdditive", new IMAGE_BRUSH( "Icons/ActorIcons/Brush_Add_16x", Icon16x16 ) );
  3900.         Set( "ClassIcon.BrushSubtractive", new IMAGE_BRUSH( "Icons/ActorIcons/Brush_Subtract_16x", Icon16x16 ) );
  3901.         Set( "ClassIcon.Volume", new IMAGE_BRUSH( "Icons/ActorIcons/Volume_16x", Icon16x16 ) );
  3902.         Set( "ClassIcon.BlockingVolume", new IMAGE_BRUSH( "Icons/ActorIcons/BlockingVolume_16x", Icon16x16 ) );
  3903.         Set( "ClassIcon.BlueprintActorBase", new IMAGE_BRUSH( "Icons/ActorIcons/Blueprint_16x", Icon16x16 ) );
  3904.         Set( "ClassIcon.StaticMeshActor", new IMAGE_BRUSH( "Icons/ActorIcons/StaticMesh_16x", Icon16x16 ) );
  3905.         Set( "ClassIcon.SkeletalMeshActor", new IMAGE_BRUSH( "Icons/ActorIcons/SkeletalMesh_16x", Icon16x16 ) );
  3906.         Set( "ClassIcon.CameraActor", new IMAGE_BRUSH( "Icons/ActorIcons/Camera_16x", Icon16x16 ) );
  3907.         Set( "ClassIcon.DecalActor", new IMAGE_BRUSH( "Icons/ActorIcons/Decal_16x", Icon16x16 ) );
  3908.         Set( "ClassIcon.SkeletalPhysicsActor", new IMAGE_BRUSH( "Icons/ActorIcons/SkeletalPhysicsActor_16x", Icon16x16 ) );
  3909.         Set( "ClassIcon.ExponentialHeightFog", new IMAGE_BRUSH( "Icons/ActorIcons/ExpoHeightFog_16x", Icon16x16 ) );
  3910.         Set( "ClassIcon.GroupActor", new IMAGE_BRUSH( "Icons/ActorIcons/Group_16x", Icon16x16 ) );
  3911.         Set( "ClassIcon.Landscape", new IMAGE_BRUSH( "Icons/ActorIcons/Landscape_16x", Icon16x16 ) );
  3912.         Set( "ClassIcon.RadialForceActor", new IMAGE_BRUSH( "Icons/ActorIcons/RadialForce_16x", Icon16x16 ) );
  3913.         Set( "ClassIcon.TargetPoint", new IMAGE_BRUSH( "Icons/ActorIcons/Target_16x", Icon16x16 ) );
  3914.         Set( "ClassIcon.VectorFieldVolume", new IMAGE_BRUSH( "Icons/ActorIcons/VectorFieldVolume_16x", Icon16x16 ) );
  3915.         Set( "ClassIcon.Deleted", new IMAGE_BRUSH( "Icons/ActorIcons/DeletedActor_16px", Icon16x16 ) );
  3916.         Set( "ClassIcon.DestructibleActor", new IMAGE_BRUSH( "Icons/ActorIcons/Destructable_16px", Icon16x16 ) );
  3917.         Set( "ClassIcon.SceneCapture", new IMAGE_BRUSH( "Icons/ActorIcons/SceneCapture_16px", Icon16x16 ) );
  3918.         Set( "ClassIcon.SceneCapture2D", new IMAGE_BRUSH( "Icons/ActorIcons/SceneCapture2D_16px", Icon16x16 ) );
  3919.         Set( "ClassIcon.TextRenderActor", new IMAGE_BRUSH( "Icons/ActorIcons/TextRenderer_16px", Icon16x16 ) );
  3920.         Set( "ClassIcon.BoxReflectionCapture", new IMAGE_BRUSH( "Icons/ActorIcons/BoxReflectionCapture_16px", Icon16x16 ) );
  3921.         Set( "ClassIcon.SphereReflectionCapture", new IMAGE_BRUSH( "Icons/ActorIcons/SphereReflectionCapture_16px", Icon16x16 ) );
  3922.         Set( "ClassIcon.DefaultPawn", new IMAGE_BRUSH( "Icons/ActorIcons/DefaultPawn_16px", Icon16x16 ) );
  3923.         Set( "ClassIcon.Pawn", new IMAGE_BRUSH( "Icons/ActorIcons/Pawn_16px", Icon16x16 ) );
  3924.         Set( "ClassIcon.Note", new IMAGE_BRUSH( "Icons/ActorIcons/Note_16px", Icon16x16 ) );
  3925.         Set( "ClassIcon.Character", new IMAGE_BRUSH( "Icons/ActorIcons/Character_16px", Icon16x16 ) );
  3926.  
  3927.  
  3928.         // Component classes
  3929.         Set( "ClassIcon.AudioComponent", new IMAGE_BRUSH( "Icons/ActorIcons/SoundActor_16x", Icon16x16 ) );
  3930.         Set( "ClassIcon.CameraComponent", new IMAGE_BRUSH( "Icons/ActorIcons/Camera_16x", Icon16x16 ) );
  3931.         Set( "ClassIcon.BlueprintCore", new IMAGE_BRUSH( "Icons/ActorIcons/Blueprint_16x", Icon16x16 ) );
  3932.         Set( "ClassIcon.BrushComponent", new IMAGE_BRUSH( "Icons/ActorIcons/Brush_16x", Icon16x16 ) );
  3933.         Set( "ClassIcon.DecalComponent", new IMAGE_BRUSH( "Icons/ActorIcons/Decal_16x", Icon16x16 ) );
  3934.         Set( "ClassIcon.DirectionalLightComponent", new IMAGE_BRUSH( "Icons/ActorIcons/DirectionalLight_16x", Icon16x16 ) );
  3935.         Set( "ClassIcon.ExponentialHeightFogComponent", new IMAGE_BRUSH( "Icons/ActorIcons/ExpoHeightFog_16x", Icon16x16 ) );
  3936.         Set( "ClassIcon.LandscapeComponent", new IMAGE_BRUSH( "Icons/ActorIcons/Landscape_16x", Icon16x16 ) );
  3937.         Set( "ClassIcon.LightComponent", new IMAGE_BRUSH( "Icons/ActorIcons/LightActor_16x", Icon16x16 ) );
  3938.         Set( "ClassIcon.ParticleSystemComponent", new IMAGE_BRUSH( "Icons/ActorIcons/Emitter_16x", Icon16x16 ) );
  3939.         Set( "ClassIcon.PointLightComponent", new IMAGE_BRUSH( "Icons/ActorIcons/PointLight_16x", Icon16x16 ) );
  3940.         Set( "ClassIcon.RB_RadialForceComponent", new IMAGE_BRUSH( "Icons/ActorIcons/RadialForce_16x", Icon16x16 ) );
  3941.         Set( "ClassIcon.SingleAnimSkeletalComponent", new IMAGE_BRUSH( "Icons/ActorIcons/SkeletalMesh_16x", Icon16x16 ) );     
  3942.         Set( "ClassIcon.SkeletalMeshComponent", new IMAGE_BRUSH( "Icons/ActorIcons/SkeletalMesh_16x", Icon16x16 ) );       
  3943.         Set( "ClassIcon.SpotLightComponent", new IMAGE_BRUSH( "Icons/ActorIcons/SpotLight_16x", Icon16x16 ) );
  3944.         Set( "ClassIcon.StaticMeshComponent", new IMAGE_BRUSH( "Icons/ActorIcons/StaticMesh_16x", Icon16x16 ) );
  3945.         Set( "ClassIcon.VectorFieldComponent", new IMAGE_BRUSH( "Icons/ActorIcons/VectorFieldVolume_16x", Icon16x16 ) );
  3946.         Set( "ClassIcon.ArrowComponent", new IMAGE_BRUSH( "Icons/ActorIcons/Arrow_16px", Icon16x16 ) );
  3947.         Set( "ClassIcon.AtmosphericFogComponent", new IMAGE_BRUSH( "Icons/ActorIcons/AtmosphericFog_16px", Icon16x16 ) );
  3948.         Set( "ClassIcon.BoxComponent", new IMAGE_BRUSH( "Icons/ActorIcons/box_16px", Icon16x16 ) );
  3949.         Set( "ClassIcon.CapsuleComponent", new IMAGE_BRUSH( "Icons/ActorIcons/Capsule_16px", Icon16x16 ) );
  3950.         Set( "ClassIcon.DestructibleComponent", new IMAGE_BRUSH( "Icons/ActorIcons/Destructable_16px", Icon16x16 ) );
  3951.         Set( "ClassIcon.InstancedStaticMeshComponent", new IMAGE_BRUSH( "Icons/ActorIcons/InstancedStaticMesh_16px", Icon16x16 ) );
  3952.         Set( "ClassIcon.MaterialBillboardComponent", new IMAGE_BRUSH( "Icons/ActorIcons/MaterialSprite_16px", Icon16x16 ) );
  3953.         Set( "ClassIcon.SceneCaptureComponent2D", new IMAGE_BRUSH( "Icons/ActorIcons/SceneCapture2D_16px", Icon16x16 ) );
  3954.         Set( "ClassIcon.SceneCaptureComponent", new IMAGE_BRUSH( "Icons/ActorIcons/SceneCapture_16px", Icon16x16 ) );
  3955.         Set( "ClassIcon.SceneComponent", new IMAGE_BRUSH( "Icons/ActorIcons/Scene_16px", Icon16x16 ) );
  3956.         Set( "ClassIcon.SphereComponent", new IMAGE_BRUSH( "Icons/ActorIcons/Sphere_16px", Icon16x16 ) );
  3957.         Set( "ClassIcon.BillboardComponent", new IMAGE_BRUSH( "Icons/ActorIcons/SpriteComponent_16px", Icon16x16 ) );
  3958.         Set( "ClassIcon.TextRenderComponent", new IMAGE_BRUSH( "Icons/ActorIcons/TextRenderer_16px", Icon16x16 ) );
  3959.         Set( "ClassIcon.TimelineComponent", new IMAGE_BRUSH("Icons/ActorIcons/TimelineComponent_16px", Icon16x16));
  3960.         Set( "ClassIcon.ChildActorComponent", new IMAGE_BRUSH( "Icons/ActorIcons/ChildActorComponent_16px", Icon16x16 ) );
  3961.         Set( "ClassIcon.ComponentMobilityStaticPip", new IMAGE_BRUSH( "Icons/ActorIcons/ComponentMobilityStationary_5x16px", Icon5x16, FLinearColor(0.f, 0.f, 0.f, 0.f) ) );
  3962.         Set( "ClassIcon.ComponentMobilityStationaryPip", new IMAGE_BRUSH( "Icons/ActorIcons/ComponentMobilityStationary_5x16px", Icon5x16 ) );
  3963.         Set( "ClassIcon.ComponentMobilityMovablePip", new IMAGE_BRUSH( "Icons/ActorIcons/ComponentMobilityMovable_5x16px", Icon5x16 ) );
  3964.         Set( "ClassIcon.MovableMobilityIcon", new IMAGE_BRUSH( "Icons/ActorIcons/Light_Movable_16x", Icon16x16));
  3965.         Set( "ClassIcon.StationaryMobilityIcon", new IMAGE_BRUSH( "Icons/ActorIcons/Light_Adjustable_16x", Icon16x16));
  3966.         Set( "ClassIcon.ComponentMobilityHeaderIcon", new IMAGE_BRUSH( "Icons/ActorIcons/ComponentMobilityHeader_5x16", Icon5x16));
  3967.        
  3968.        
  3969.         // Factory classes
  3970.         Set( "ClassIcon.ActorFactoryBoxVolume", new IMAGE_BRUSH( "Icons/icon_volume_Box_16x", Icon16x16 ) );
  3971.         Set( "ClassIcon.ActorFactoryCylinderVolume", new IMAGE_BRUSH( "Icons/icon_volume_cylinder_16x", Icon16x16 ) );
  3972.         Set( "ClassIcon.ActorFactorySphereVolume", new IMAGE_BRUSH( "Icons/icon_volume_sphere_16x", Icon16x16 ) );
  3973.  
  3974.         // Asset Type Classes
  3975.         Set( "ClassIcon.AimOffsetBlendSpace", new IMAGE_BRUSH( "Icons/AssetIcons/AimOffsetBlendSpace_16x", Icon16x16 ) );
  3976.         Set( "ClassIcon.AimOffsetBlendSpace1D", new IMAGE_BRUSH( "Icons/AssetIcons/AimOffsetBlendSpace1D_16x", Icon16x16 ) );
  3977.         Set( "ClassIcon.AnimBlueprint", new IMAGE_BRUSH( "Icons/AssetIcons/AnimBlueprint_16x", Icon16x16 ) );
  3978.         Set( "ClassIcon.AnimComposite", new IMAGE_BRUSH( "Icons/AssetIcons/AnimComposite_16x", Icon16x16 ) );
  3979.         Set( "ClassIcon.AnimMontage", new IMAGE_BRUSH( "Icons/AssetIcons/AnimMontage_16x", Icon16x16 ) );
  3980.         Set( "ClassIcon.BlendSpace", new IMAGE_BRUSH( "Icons/AssetIcons/BlendSpace_16x", Icon16x16 ) );
  3981.         Set( "ClassIcon.BlendSpace1D", new IMAGE_BRUSH( "Icons/AssetIcons/BlendSpace1D_16x", Icon16x16 ) );
  3982.         Set( "ClassIcon.Blueprint", new IMAGE_BRUSH( "Icons/AssetIcons/Blueprint_16x", Icon16x16 ) );
  3983.         Set( "ClassIcon.BlueprintGeneratedClass", new IMAGE_BRUSH( "Icons/AssetIcons/Blueprint_16x", Icon16x16 ) );
  3984.         Set( "ClassIcon.BlueprintInterface", new IMAGE_BRUSH( "Icons/AssetIcons/Blueprint_Interface_16x", Icon16x16 ) );
  3985.         Set( "ClassIcon.BlueprintMacroLibrary", new IMAGE_BRUSH( "Icons/AssetIcons/Blueprint_MacroLibrary_16x", Icon16x16 ) );
  3986.         Set( "ClassIcon.ButtonStyleAsset", new IMAGE_BRUSH( "Icons/AssetIcons/ButtonStyle_16x", Icon16x16 ) );
  3987.         Set( "ClassIcon.CameraAnim", new IMAGE_BRUSH( "Icons/ActorIcons/Camera_16x", Icon16x16 ) );
  3988.         Set( "ClassIcon.CurveBase", new IMAGE_BRUSH( "Icons/AssetIcons/Curve_16x", Icon16x16 ) );
  3989.         Set( "ClassIcon.DataAsset", new IMAGE_BRUSH( "Icons/AssetIcons/DataAsset_16x", Icon16x16 ) );
  3990.         Set( "ClassIcon.Font", new IMAGE_BRUSH( "Icons/AssetIcons/Font_16x", Icon16x16 ) );
  3991.         Set( "ClassIcon.InterpData", new IMAGE_BRUSH( "Icons/AssetIcons/MatineeData_16x", Icon16x16 ) );
  3992.         Set( "ClassIcon.Material", new IMAGE_BRUSH( "Icons/AssetIcons/Material_16x", Icon16x16 ) );
  3993.         Set( "ClassIcon.MaterialFunction", new IMAGE_BRUSH( "Icons/AssetIcons/MaterialFunction_16x", Icon16x16 ) );
  3994.         Set( "ClassIcon.MaterialInstanceConstant", new IMAGE_BRUSH( "Icons/AssetIcons/MaterialInstanceConstant_16x", Icon16x16 ) );
  3995.         Set( "ClassIcon.MaterialParameterCollection", new IMAGE_BRUSH( "Icons/AssetIcons/MaterialParameterCollection_16x", Icon16x16 ) );
  3996.         Set( "ClassIcon.MultiFont", new IMAGE_BRUSH( "Icons/AssetIcons/MultiFont_16x", Icon16x16 ) );
  3997.         Set( "ClassIcon.ObjectLibrary", new IMAGE_BRUSH( "Icons/AssetIcons/ObjectLibrary_16x", Icon16x16 ) );
  3998.         Set( "ClassIcon.PaperFlipbook", new IMAGE_BRUSH( "Icons/AssetIcons/PaperFlipbook_16x", Icon16x16 ) );
  3999.         Set( "ClassIcon.ParticleSystem", new IMAGE_BRUSH( "Icons/AssetIcons/ParticleSystem_16x", Icon16x16 ) );
  4000.         Set( "ClassIcon.PhysicalMaterial", new IMAGE_BRUSH( "Icons/AssetIcons/PhysicalMaterial_16x", Icon16x16 ) );
  4001.         Set( "ClassIcon.ReverbEffect", new IMAGE_BRUSH( "Icons/AssetIcons/ReverbEffect_16x", Icon16x16 ) );
  4002.         Set( "ClassIcon.SlateBrushAsset", new IMAGE_BRUSH( "Icons/AssetIcons/SlateBrush_16x", Icon16x16 ) );
  4003.         Set( "ClassIcon.SoundAttenuation", new IMAGE_BRUSH( "Icons/AssetIcons/SoundAttenuation_16x", Icon16x16 ) );
  4004.         Set( "ClassIcon.SoundClass", new IMAGE_BRUSH( "Icons/AssetIcons/SoundClass_16x", Icon16x16 ) );
  4005.         Set( "ClassIcon.SoundCue", new IMAGE_BRUSH( "Icons/AssetIcons/SoundCue_16x", Icon16x16 ) );
  4006.         Set( "ClassIcon.SoundMix", new IMAGE_BRUSH( "Icons/AssetIcons/SoundMix_16x", Icon16x16 ) );
  4007.         Set( "ClassIcon.StaticMesh", new IMAGE_BRUSH( "Icons/AssetIcons/StaticMesh_16x", Icon16x16 ) );
  4008.         Set( "ClassIcon.Texture", new IMAGE_BRUSH( "Icons/AssetIcons/Texture_16x", Icon16x16 ) );
  4009.         Set( "ClassIcon.Texture2D", new IMAGE_BRUSH( "Icons/AssetIcons/Texture2D_16x", Icon16x16 ) );
  4010.         Set( "ClassIcon.TextureRenderTarget2D", new IMAGE_BRUSH( "Icons/AssetIcons/TextureRenderTarget2D_16x", Icon16x16 ) );
  4011.         Set( "ClassIcon.TextureRenderTargetCube", new IMAGE_BRUSH( "Icons/AssetIcons/TextureRenderTargetCube_16x", Icon16x16 ) );
  4012.         Set( "ClassIcon.UserDefinedEnum", new IMAGE_BRUSH( "Icons/AssetIcons/Enumeration_16x", Icon16x16 ) );
  4013.         Set( "ClassIcon.SlateWidgetStyleAsset", new IMAGE_BRUSH("Icons/AssetIcons/SlateStyle_16x", Icon16x16 ) );
  4014.  
  4015.         // Builder brushes
  4016.         Set( "ClassIcon.CubeBuilder", new IMAGE_BRUSH("Icons/icon_box_40x", Icon16x16 ) );
  4017.         Set( "ClassIcon.ConeBuilder", new IMAGE_BRUSH("Icons/icon_cone_40x", Icon16x16 ) );
  4018.         Set( "ClassIcon.CylinderBuilder", new IMAGE_BRUSH("Icons/icon_cylinder_40x", Icon16x16 ) );
  4019.         Set( "ClassIcon.CurvedStairBuilder", new IMAGE_BRUSH("Icons/icon_curvedstair_40x", Icon16x16 ) );
  4020.         Set( "ClassIcon.LinearStairBuilder", new IMAGE_BRUSH("Icons/icon_stair_40x", Icon16x16 ) );
  4021.         Set( "ClassIcon.SpiralStairBuilder", new IMAGE_BRUSH("Icons/icon_spiralstair_40x", Icon16x16 ) );
  4022.         Set( "ClassIcon.VolumetricBuilder", new IMAGE_BRUSH("Icons/icon_volumetric_40x", Icon16x16 ) );
  4023.         Set( "ClassIcon.TetrahedronBuilder", new IMAGE_BRUSH("Icons/icon_sphere_40x", Icon16x16 ) );
  4024.         Set( "ClassIcon.SheetBuilder", new IMAGE_BRUSH("Icons/icon_plane_40x", Icon16x16 ) );
  4025.     }
  4026.  
  4027.     {
  4028.         Set( "ClassThumbnail.AmbientSound", new IMAGE_BRUSH( "Icons/icon_class_AmbientSound_64px", Icon64x64 ) );
  4029.         Set( "ClassThumbnail.BoxReflectionCapture", new IMAGE_BRUSH( "Icons/icon_class_BoxReflectionCapture_64px", Icon64x64 ) );
  4030.         Set( "ClassThumbnail.CameraActor", new IMAGE_BRUSH( "Icons/icon_class_CameraActor_64px", Icon64x64 ) );
  4031.         Set( "ClassThumbnail.DecalActor", new IMAGE_BRUSH( "Icons/icon_class_DecalActor_64px", Icon64x64 ) );
  4032.         Set( "ClassThumbnail.MatineeActor", new IMAGE_BRUSH( "Icons/icon_class_MatineeActor_64px", Icon64x64 ) );
  4033.         Set( "ClassThumbnail.PlaneReflectionCapture", new IMAGE_BRUSH( "Icons/icon_class_PlaneReflectionCapture_64px", Icon64x64 ) );
  4034.         Set( "ClassThumbnail.PlayerStart", new IMAGE_BRUSH( "Icons/icon_class_PlayerStart_64px", Icon64x64 ) );
  4035.         Set( "ClassThumbnail.SphereReflectionCapture", new IMAGE_BRUSH( "Icons/icon_class_SphereReflectionCapture_64px", Icon64x64 ) );
  4036.         Set( "ClassThumbnail.TextRenderActor", new IMAGE_BRUSH( "Icons/icon_class_TextRenderActor_64px", Icon64x64 ) );
  4037.         Set( "ClassThumbnail.TriggerBox", new IMAGE_BRUSH( "Icons/icon_class_TriggerBox_64px", Icon64x64 ) );
  4038.         Set( "ClassThumbnail.TriggerCapsule", new IMAGE_BRUSH( "Icons/icon_class_TriggerCapsule_64px", Icon64x64 ) );
  4039.         Set( "ClassThumbnail.TriggerSphere", new IMAGE_BRUSH( "Icons/icon_class_TriggerSphere_64px", Icon64x64 ) );
  4040.  
  4041.         Set( "ClassThumbnail.NavLinkProxy", new IMAGE_BRUSH( "Icons/icon_class_NavLinkProxy_64x", Icon64x64 ) );
  4042.         Set( "ClassThumbnail.Note", new IMAGE_BRUSH( "Icons/icon_class_Notes_64x", Icon64x64 ) );
  4043.         Set( "ClassThumbnail.RadialForceActor", new IMAGE_BRUSH( "Icons/icon_class_RadialForceActor_64x", Icon64x64 ) );
  4044.         Set( "ClassThumbnail.TargetPoint", new IMAGE_BRUSH( "Icons/icon_class_TargetPoint_64x", Icon64x64 ) );
  4045.         Set( "ClassThumbnail.AtmosphericFog", new IMAGE_BRUSH( "Icons/icon_class_AtmosphericFog_64x", Icon64x64 ) );
  4046.         Set( "ClassThumbnail.ExponentialHeightFog", new IMAGE_BRUSH( "Icons/icon_class_ExpHeightFog_64x", Icon64x64 ) );
  4047.  
  4048.         Set( "ClassThumbnail.TriggerBase", new IMAGE_BRUSH( "Icons/icon_class_TriggerBox_64px", Icon64x64 ) );
  4049.         Set( "ClassThumbnail.DirectionalLight", new IMAGE_BRUSH( "Icons/icon_class_DirectionalLight_64px", Icon64x64 ) );
  4050.         Set( "ClassThumbnail.PointLight", new IMAGE_BRUSH( "Icons/icon_class_PointLight_64px", Icon64x64 ) );
  4051.         Set( "ClassThumbnail.SpotLight", new IMAGE_BRUSH( "Icons/icon_class_SpotLight_64px", Icon64x64 ) );
  4052.         Set( "ClassThumbnail.SkyLight", new IMAGE_BRUSH( "Icons/icon_class_Skylight_64px", Icon64x64 ) );
  4053.         Set( "ClassThumbnail.ReflectionCapture", new IMAGE_BRUSH( "Icons/icon_class_SphereReflectionCapture_64px", Icon64x64 ) );
  4054.  
  4055.         Set( "ClassThumbnail.BlockingVolume", new IMAGE_BRUSH( "Icons/icon_volume_Blocking_64x", Icon64x64 ) );
  4056.         Set( "ClassThumbnail.CullDistanceVolume", new IMAGE_BRUSH( "Icons/icon_volume_CullDistance_64x", Icon64x64 ) );
  4057.         Set( "ClassThumbnail.LevelStreamingVolume", new IMAGE_BRUSH( "Icons/icon_volume_LevelStreaming_64x", Icon64x64 ) );
  4058.         Set( "ClassThumbnail.LightmassCharacterIndirectDetailVolume", new IMAGE_BRUSH( "Icons/icon_volume_LightmassCharacterIndirectDetail_64x", Icon64x64 ) );
  4059.         Set( "ClassThumbnail.LightmassImportanceVolume", new IMAGE_BRUSH( "Icons/icon_volume_LightmassImportance_64x", Icon64x64 ) );
  4060.         Set( "ClassThumbnail.MassiveLODOverrideVolume", new IMAGE_BRUSH( "Icons/icon_volume_MassiveLODOverride_64x", Icon64x64 ) );
  4061.         Set( "ClassThumbnail.NavMeshBoundsVolume", new IMAGE_BRUSH( "Icons/icon_volume_NavMeshBounds_64x", Icon64x64 ) );
  4062.         Set( "ClassThumbnail.NavModifierVolume", new IMAGE_BRUSH( "Icons/icon_volume_NavMeshModifier_64x", Icon64x64 ) );
  4063.         Set( "ClassThumbnail.PainCausingVolume", new IMAGE_BRUSH( "Icons/icon_volume_PainCausing_64x", Icon64x64 ) );
  4064.         Set( "ClassThumbnail.PhysicsVolume", new IMAGE_BRUSH( "Icons/icon_volume_Physics_64x", Icon64x64 ) );
  4065.         Set( "ClassThumbnail.PostProcessVolume", new IMAGE_BRUSH( "Icons/icon_volume_PostProcess_64x", Icon64x64 ) );
  4066.         Set( "ClassThumbnail.PrecomputedVisibilityOverrideVolume", new IMAGE_BRUSH( "Icons/icon_volume_precomputedVisibilityOverride_64x", Icon64x64 ) );
  4067.         Set( "ClassThumbnail.PrecomputedVisibilityVolume", new IMAGE_BRUSH( "Icons/icon_volume_PrecomputedVisibility_64x", Icon64x64 ) );
  4068.         Set( "ClassThumbnail.ReverbVolume", new IMAGE_BRUSH( "Icons/icon_volume_Reverb_64x", Icon64x64 ) );
  4069.         Set( "ClassThumbnail.ReverbVolumeToggleable", new IMAGE_BRUSH( "Icons/icon_volume_ReverbToggleable_64x", Icon64x64 ) );
  4070.         Set( "ClassThumbnail.TriggerVolume", new IMAGE_BRUSH( "Icons/icon_volume_Trigger_64x", Icon64x64 ) );
  4071.  
  4072.         // Asset Types
  4073.         Set( "ClassThumbnail.AimOffsetBlendSpace", new IMAGE_BRUSH( "Icons/icon_class_AimOffset_64x", Icon32x32 ) );
  4074.         Set( "ClassThumbnail.AimOffsetBlendSpace1D", new IMAGE_BRUSH( "Icons/icon_class_AimOffset1D_64x", Icon32x32 ) );
  4075.         Set( "ClassThumbnail.AnimBlueprint", new IMAGE_BRUSH( "Icons/icon_class_AnimBlueprint_64x", Icon32x32 ) );
  4076.         Set( "ClassThumbnail.AnimComposite", new IMAGE_BRUSH( "Icons/icon_class_AnimComposite_64x", Icon32x32 ) );
  4077.         Set( "ClassThumbnail.AnimMontage", new IMAGE_BRUSH( "Icons/icon_class_AnimMontage_64x", Icon32x32 ) );
  4078.         Set( "ClassThumbnail.BlendSpace", new IMAGE_BRUSH( "Icons/icon_class_BlendSpace_64x", Icon32x32 ) );
  4079.         Set( "ClassThumbnail.BlendSpace1D", new IMAGE_BRUSH( "Icons/icon_class_BlendSpace1D_64x", Icon32x32 ) );
  4080.         Set( "ClassThumbnail.Blueprint", new IMAGE_BRUSH( "Icons/icon_class_Blueprint_64x", Icon32x32 ) );
  4081.         Set( "ClassThumbnail.BlueprintGeneratedClass", new IMAGE_BRUSH( "Icons/icon_class_Blueprint_64x", Icon32x32 ) );
  4082.         Set( "ClassThumbnail.BlueprintInterface", new IMAGE_BRUSH( "Icons/icon_class_Blueprint_Interface_64x", Icon32x32 ) );
  4083.         Set( "ClassThumbnail.BlueprintMacroLibrary", new IMAGE_BRUSH( "Icons/icon_class_Blueprint_MacroLibrary_64x", Icon32x32 ) );
  4084.         Set( "ClassThumbnail.ButtonStyleAsset", new IMAGE_BRUSH( "Icons/icon_class_ButtonStyle_64x", Icon32x32 ) );
  4085.         Set( "ClassThumbnail.CameraAnim", new IMAGE_BRUSH( "Icons/icon_class_CameraAnim_64px", Icon32x32 ) );
  4086.         Set( "ClassThumbnail.CurveBase", new IMAGE_BRUSH( "Icons/icon_class_Curve_64x", Icon32x32 ) );
  4087.         Set( "ClassThumbnail.DataAsset", new IMAGE_BRUSH( "Icons/icon_class_DataAsset_64x", Icon32x32 ) );
  4088.         Set( "ClassThumbnail.Font", new IMAGE_BRUSH( "Icons/icon_class_Font_64x", Icon32x32 ) );
  4089.         Set( "ClassThumbnail.InterpData", new IMAGE_BRUSH( "Icons/icon_class_MatineeData_64x", Icon32x32 ) );
  4090.         Set( "ClassThumbnail.Material", new IMAGE_BRUSH( "Icons/icon_class_Material_64x", Icon32x32 ) );
  4091.         Set( "ClassThumbnail.MaterialFunction", new IMAGE_BRUSH( "Icons/icon_class_MaterialFunction_64x", Icon32x32 ) );
  4092.         Set( "ClassThumbnail.MaterialInstanceConstant", new IMAGE_BRUSH( "Icons/icon_class_MaterialInstanceConstant_64x", Icon32x32 ) );
  4093.         Set( "ClassThumbnail.MaterialParameterCollection", new IMAGE_BRUSH( "Icons/icon_class_MaterialParameterCollection_64x", Icon32x32 ) );
  4094.         Set( "ClassThumbnail.MultiFont", new IMAGE_BRUSH( "Icons/icon_class_MultiFont_64x", Icon32x32 ) );
  4095.         Set( "ClassThumbnail.ObjectLibrary", new IMAGE_BRUSH( "Icons/icon_class_ObjectLibrary_64x", Icon32x32 ) );
  4096.         Set( "ClassThumbnail.ParticleSystem", new IMAGE_BRUSH( "Icons/icon_class_ParticleSystem_64x", Icon32x32 ) );
  4097.         Set( "ClassThumbnail.PhysicalMaterial", new IMAGE_BRUSH( "Icons/icon_class_PhysicalMaterial_64x", Icon32x32 ) );
  4098.         Set( "ClassThumbnail.ReverbEffect", new IMAGE_BRUSH( "Icons/icon_class_ReverbEffect_64x", Icon32x32 ) );
  4099.         Set( "ClassThumbnail.SlateBrushAsset", new IMAGE_BRUSH( "Icons/icon_class_SlateBrush_64x", Icon32x32 ) );
  4100.         Set( "ClassThumbnail.SoundAttenuation", new IMAGE_BRUSH( "Icons/icon_class_SoundAttenuation_64x", Icon32x32 ) );
  4101.         Set( "ClassThumbnail.SoundClass", new IMAGE_BRUSH( "Icons/icon_class_SoundClass_64x", Icon32x32 ) );
  4102.         Set( "ClassThumbnail.SoundCue", new IMAGE_BRUSH( "Icons/icon_class_SoundCue_64x", Icon32x32 ) );
  4103.         Set( "ClassThumbnail.SoundMix", new IMAGE_BRUSH( "Icons/icon_class_SoundMix_64x", Icon32x32 ) );
  4104.         Set( "ClassThumbnail.TextureRenderTarget2D", new IMAGE_BRUSH( "Icons/icon_class_TextureRenderTarget2D_64x", Icon32x32 ) );
  4105.         Set( "ClassThumbnail.TextureRenderTargetCube", new IMAGE_BRUSH( "Icons/icon_class_TextureRenderTargetCube_64x", Icon32x32 ) );
  4106.         Set( "ClassThumbnail.UserDefinedEnum", new IMAGE_BRUSH( "Icons/icon_class_Enumeration_64x", Icon32x32 ) );
  4107.         Set( "ClassThumbnail.SlateWidgetStyleAsset", new IMAGE_BRUSH("Icons/icon_class_SlateStyle_64x", Icon32x32 ) );
  4108.     }
  4109. #endif
  4110. }
  4111.  
  4112. void FSlateEditorStyle::FStyle::SetupContentBrowserStyle()
  4113. {
  4114. #if WITH_EDITOR
  4115.     // Content Browser
  4116.     {
  4117.         // Tab and menu icon
  4118.         Set( "ContentBrowser.TabIcon", new IMAGE_BRUSH( "Icons/icon_tab_ContentBrowser_16x", Icon16x16 ) );
  4119.  
  4120.         // Sources View
  4121.         Set( "ContentBrowser.SourceTitleFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 12 ) );
  4122.         Set( "ContentBrowser.SourceListItemFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) );
  4123.         Set( "ContentBrowser.SourceTreeItemFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) );
  4124.         Set( "ContentBrowser.SourceTreeRootItemFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 12 ) );
  4125.         Set( "ContentBrowser.AssetTreeFolderClosed", new IMAGE_BRUSH( "Icons/FolderClosed", FVector2D(18, 16) ) );
  4126.         Set( "ContentBrowser.BreadcrumbPathPickerFolder", new IMAGE_BRUSH( "Icons/FolderClosed", FVector2D(18, 16), FLinearColor::Gray ) );
  4127.         Set( "ContentBrowser.AssetTreeFolderOpen", new IMAGE_BRUSH( "Icons/FolderOpen", FVector2D(18, 16) ) );
  4128.         Set( "ContentBrowser.AssetTreeFolderDeveloper", new IMAGE_BRUSH( "Icons/FolderDeveloper", FVector2D(18, 16) ) );
  4129.         Set( "ContentBrowser.AddCollectionButtonIcon", new IMAGE_BRUSH( "Icons/PlusSymbol_12x", Icon12x12, FLinearColor::Black ) );
  4130.  
  4131.         Set( "ContentBrowser.Splitter", FSplitterStyle()
  4132.             .SetHandleNormalBrush( FSlateNoResource() )
  4133.             .SetHandleHighlightBrush( IMAGE_BRUSH( "Common/SplitterHandleHighlight", Icon8x8, FLinearColor::White ) )
  4134.             );
  4135.  
  4136.         // Asset list view
  4137.         Set( "ContentBrowser.AssetListViewNameFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 12 ) );
  4138.         Set( "ContentBrowser.AssetListViewNameFontDirty", TTF_CORE_FONT( "Fonts/Roboto-Bold", 12 ) );
  4139.         Set( "ContentBrowser.AssetListViewClassFont", TTF_CORE_FONT( "Fonts/Roboto-Light", 10 ) );
  4140.  
  4141.         // Asset picker
  4142.         Set("ContentBrowser.NoneButton", FButtonStyle(Button)
  4143.             .SetNormal(FSlateNoResource())
  4144.             .SetHovered(BOX_BRUSH( "Common/Selection", 8.0f/32.0f, SelectionColor ))
  4145.             .SetPressed(BOX_BRUSH( "Common/Selection", 8.0f/32.0f, SelectionColor_Pressed ))
  4146.         );
  4147.         Set( "ContentBrowser.NoneButtonText", FTextBlockStyle(NormalText)
  4148.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 12 ) )
  4149.             .SetColorAndOpacity( FLinearColor::White )
  4150.         );
  4151.  
  4152.         // Tile view
  4153.         Set( "ContentBrowser.AssetTileViewNameFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) );
  4154.         Set( "ContentBrowser.AssetTileViewNameFontDirty", TTF_CORE_FONT( "Fonts/Roboto-Bold", 10 ) );
  4155.         Set( "ContentBrowser.AssetListView.TableRow", FTableRowStyle()
  4156.             .SetEvenRowBackgroundBrush( FSlateNoResource() )
  4157.             .SetEvenRowBackgroundHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, FLinearColor(1.0f, 1.0f, 1.0f, 0.1f) ) )
  4158.             .SetOddRowBackgroundBrush( FSlateNoResource() )
  4159.             .SetOddRowBackgroundHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, FLinearColor(1.0f, 1.0f, 1.0f, 0.1f) ) )
  4160.             .SetSelectorFocusedBrush( BORDER_BRUSH( "Common/Selector", FMargin(4.f/16.f), SelectorColor ) )
  4161.             .SetActiveBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) )
  4162.             .SetActiveHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor ) )
  4163.             .SetInactiveBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor_Inactive ) )
  4164.             .SetInactiveHoveredBrush( IMAGE_BRUSH( "Common/Selection", Icon8x8, SelectionColor_Inactive ) )
  4165.             .SetTextColor( DefaultForeground )
  4166.             .SetSelectedTextColor( InvertedForeground )
  4167.             );
  4168.  
  4169.         Set( "ContentBrowser.TileViewTooltip.ToolTipBorder", new FSlateColorBrush( FLinearColor::Black ) );
  4170.         Set( "ContentBrowser.TileViewTooltip.NonContentBorder", new BOX_BRUSH( "/Docking/TabContentArea", FMargin(4/16.0f) ) );
  4171.         Set( "ContentBrowser.TileViewTooltip.ContentBorder", new BOX_BRUSH( "Common/GroupBorder", FMargin(4.0f/16.0f) ) );
  4172.         Set( "ContentBrowser.TileViewTooltip.NameFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 12 ) );
  4173.         Set( "ContentBrowser.TileViewTooltip.AssetUserDescriptionFont", TTF_CORE_FONT("Fonts/Roboto-Regular", 12 ) );
  4174.  
  4175.         // Columns view
  4176.         Set( "ContentBrowser.SortUp", new IMAGE_BRUSH( "Common/SortUpArrow", Icon8x4 ) );
  4177.         Set( "ContentBrowser.SortDown", new IMAGE_BRUSH( "Common/SortDownArrow", Icon8x4 ) );
  4178.  
  4179.         // Filter list
  4180.         /* Set images for various SCheckBox states associated with "ContentBrowser.FilterButton" ... */
  4181.         const FCheckBoxStyle ContentBrowserFilterButtonCheckBoxStyle = FCheckBoxStyle()
  4182.             .SetUncheckedImage( IMAGE_BRUSH( "ContentBrowser/FilterUnchecked", FVector2D( 10.0f,20.0f ) ) )
  4183.             .SetUncheckedHoveredImage( IMAGE_BRUSH( "ContentBrowser/FilterUnchecked", FVector2D( 10.0f, 20.0f ), FLinearColor( 0.5f, 0.5f, 0.5f, 1.0f ) ) )
  4184.             .SetUncheckedPressedImage( IMAGE_BRUSH( "ContentBrowser/FilterUnchecked",FVector2D( 10.0f, 20.0f ), FLinearColor( 0.5f, 0.5f, 0.5f, 1.0f ) ) )
  4185.             .SetCheckedImage( IMAGE_BRUSH( "ContentBrowser/FilterChecked",  FVector2D( 10.0f, 20.0f ) ) )
  4186.             .SetCheckedHoveredImage( IMAGE_BRUSH( "ContentBrowser/FilterChecked",  FVector2D( 10.0f, 20.0f ), FLinearColor( 0.5f, 0.5f, 0.5f, 1.0f ) ) )
  4187.             .SetCheckedPressedImage( IMAGE_BRUSH( "ContentBrowser/FilterChecked", FVector2D( 10.0f, 20.0f ), FLinearColor( 0.5f, 0.5f, 0.5f, 1.0f ) ) );
  4188.         /* ... and add the new style */
  4189.         Set( "ContentBrowser.FilterButton", ContentBrowserFilterButtonCheckBoxStyle );
  4190.  
  4191.         Set( "ContentBrowser.FilterNameFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) );
  4192.         Set( "ContentBrowser.FilterButtonBorder", new BOX_BRUSH( "Common/RoundedSelection_16x", FMargin(4.0f/16.0f) ) );
  4193.  
  4194.         // Thumbnail editing mode
  4195.         Set( "ContentBrowser.EditModeLabelFont", FTextBlockStyle(NormalText)
  4196.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Regular", 10 ) )
  4197.             .SetColorAndOpacity( FLinearColor::Black )
  4198.             .SetShadowOffset( FVector2D::ZeroVector )
  4199.         );
  4200.  
  4201.         Set( "ContentBrowser.EditModeLabelBorder", new FSlateColorBrush(SelectionColor_LinearRef) );
  4202.         Set( "ContentBrowser.PrimitiveCustom", new IMAGE_BRUSH( "ContentBrowser/ThumbnailCustom", Icon32x32 ) );
  4203.         Set( "ContentBrowser.PrimitiveSphere", new IMAGE_BRUSH( "ContentBrowser/ThumbnailSphere", Icon32x32 ) );
  4204.         Set( "ContentBrowser.PrimitiveCube", new IMAGE_BRUSH( "ContentBrowser/ThumbnailCube", Icon32x32 ) );
  4205.         Set( "ContentBrowser.PrimitivePlane", new IMAGE_BRUSH( "ContentBrowser/ThumbnailPlane", Icon32x32 ) );
  4206.         Set( "ContentBrowser.PrimitiveCylinder", new IMAGE_BRUSH( "ContentBrowser/ThumbnailCylinder", Icon32x32 ) );
  4207.  
  4208.         Set( "ContentBrowser.TopBar.Font", FTextBlockStyle( NormalText )
  4209.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 12 ) )
  4210.             .SetColorAndOpacity( FLinearColor( 1.0f, 1.0f, 1.0f ) )
  4211.             .SetHighlightColor( FLinearColor( 1.0f, 1.0f, 1.0f ) )
  4212.             .SetShadowOffset( FVector2D( 1, 1 ) )
  4213.             .SetShadowColorAndOpacity( FLinearColor( 0, 0, 0, 0.9f ) ) );
  4214.  
  4215.         // New Asset
  4216.         Set( "ContentBrowser.NewAsset", new IMAGE_BRUSH( "Icons/icon_file_new_40x", Icon25x25 ) );
  4217.  
  4218.         FComboButtonStyle NewAssetComboButton = GetWidgetStyle<FComboButtonStyle>( "ToolbarComboButton" );
  4219.         NewAssetComboButton.SetContentPadding( 0 );
  4220.         Set( "ContentBrowser.NewAsset.Style", NewAssetComboButton );
  4221.  
  4222.         FComboButtonStyle FiltersComboButton = GetWidgetStyle<FComboButtonStyle>( "ToolbarComboButton" );
  4223.         FiltersComboButton.SetContentPadding( 0 );
  4224.         Set( "ContentBrowser.Filters.Style", FiltersComboButton );
  4225.  
  4226.         Set( "ContentBrowser.Filters.Text", FTextBlockStyle( NormalText )
  4227.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 9 ) )
  4228.             .SetColorAndOpacity( FLinearColor( 1.0f, 1.0f, 1.0f, 0.9f ) )
  4229.             .SetShadowOffset( FVector2D( 1, 1 ) )
  4230.             .SetShadowColorAndOpacity( FLinearColor( 0, 0, 0, 0.9f ) ) );
  4231.  
  4232.         Set( "ContentBrowser.SaveDirtyPackages", new IMAGE_BRUSH( "Icons/icon_file_saveall_40x", Icon25x25 ) );
  4233.         Set( "ContentBrowser.ImportPackage", new IMAGE_BRUSH( "Icons/icon_Import_40x", Icon25x25 ) );
  4234.  
  4235.         // Misc
  4236.         Set( "ContentBrowser.ThumbnailShadow", new BOX_BRUSH( "ContentBrowser/ThumbnailShadow" , FMargin( 5.0f / 64.0f ) ) );
  4237.         Set( "AssetDiscoveryIndicator.DiscovertingAssetsFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 12 ) );
  4238.         Set( "ContentBrowser.ColumnViewAssetIcon", new IMAGE_BRUSH( "Icons/doc_16x", Icon16x16 ) );
  4239.         Set( "ContentBrowser.ColumnViewFolderIcon", new IMAGE_BRUSH( "Icons/FolderClosed", FVector2D(18, 16) ) );
  4240.         Set( "ContentBrowser.ColumnViewDeveloperFolderIcon", new IMAGE_BRUSH( "Icons/FolderDeveloper", FVector2D(18, 16) ) );
  4241.         Set( "ContentBrowser.ListViewFolderIcon.Base", new IMAGE_BRUSH( "Icons/Folders/Folder_Base_256x", FVector2D(256, 256) ) );
  4242.         Set( "ContentBrowser.ListViewFolderIcon.Mask", new IMAGE_BRUSH( "Icons/Folders/Folder_BaseHi_256x", FVector2D(256, 256) ) );
  4243.         Set( "ContentBrowser.ListViewDeveloperFolderIcon.Base", new IMAGE_BRUSH( "Icons/Folders/FolderDev_Base_256x", FVector2D(256, 256) ) );
  4244.         Set( "ContentBrowser.ListViewDeveloperFolderIcon.Mask", new IMAGE_BRUSH( "Icons/Folders/FolderDev_BaseHi_256x", FVector2D(256, 256) ) );
  4245.         Set( "ContentBrowser.TileViewFolderIcon.Base", new IMAGE_BRUSH( "Icons/Folders/Folder_Base_512x", FVector2D(512, 512) ) );
  4246.         Set( "ContentBrowser.TileViewFolderIcon.Mask", new IMAGE_BRUSH( "Icons/Folders/Folder_BaseHi_512x", FVector2D(512, 512) ) );
  4247.         Set( "ContentBrowser.TileViewDeveloperFolderIcon.Base", new IMAGE_BRUSH( "Icons/Folders/FolderDev_Base_512x", FVector2D(512, 512) ) );
  4248.         Set( "ContentBrowser.TileViewDeveloperFolderIcon.Mask", new IMAGE_BRUSH( "Icons/Folders/FolderDev_BaseHi_512x", FVector2D(512, 512) ) );
  4249.         Set( "ContentBrowser.PathText", FTextBlockStyle(NormalText)
  4250.             .SetFont( TTF_CORE_FONT( "Fonts/Roboto-Bold", 12 ) )
  4251.             .SetColorAndOpacity( FLinearColor( 1.0f, 1.0f, 1.0f ) )
  4252.             .SetHighlightColor( FLinearColor( 1.0f, 1.0f, 1.0f ) )
  4253.             .SetShadowOffset( FVector2D( 1,1 ) )
  4254.             .SetShadowColorAndOpacity( FLinearColor(0,0,0,0.9f) ) );
  4255.         Set( "ContentBrowser.Sources", new IMAGE_BRUSH( "ContentBrowser/sources_16x", Icon16x16 ) );
  4256.         Set( "ContentBrowser.PathDelimiter", new IMAGE_BRUSH( "Common/SmallArrowRight", Icon10x10 ) );
  4257.         Set( "ContentBrowser.LockButton_Locked", new IMAGE_BRUSH( "Icons/padlock_locked_16x", Icon16x16 ) );
  4258.         Set( "ContentBrowser.LockButton_Unlocked", new IMAGE_BRUSH( "Icons/padlock_unlocked_16x", Icon16x16 ) );
  4259.         Set( "ContentBrowser.ShowSourcesView", new IMAGE_BRUSH( "ContentBrowser/sourcestoggle_16x_collapsed", Icon16x16 ) );
  4260.         Set( "ContentBrowser.HideSourcesView", new IMAGE_BRUSH( "ContentBrowser/sourcestoggle_16x_expanded", Icon16x16 ) );
  4261.         Set( "ContentBrowser.HistoryBack", new IMAGE_BRUSH( "Icons/assign_left_16x", Icon16x16) );
  4262.         Set( "ContentBrowser.HistoryForward", new IMAGE_BRUSH("Icons/assign_right_16x", Icon16x16) );
  4263.         Set( "ContentBrowser.DirectoryUp", new IMAGE_BRUSH("Icons/icon_folder_up_16x", Icon16x16) );
  4264.         Set( "ContentBrowser.PathPickerButton", new IMAGE_BRUSH("Icons/ellipsis_12x", Icon12x12, FLinearColor::Black) );
  4265.         Set( "ContentBrowser.SCC_CheckedOut", new IMAGE_BRUSH( "ContentBrowser/SCC_CheckedOut", Icon32x32) );
  4266.         Set( "ContentBrowser.SCC_OpenForAdd", new IMAGE_BRUSH( "ContentBrowser/SCC_ContentAdd", Icon32x32) );
  4267.         Set( "ContentBrowser.SCC_CheckedOutByOtherUser", new IMAGE_BRUSH( "ContentBrowser/SCC_CheckedOutByOtherUser", Icon32x32) );
  4268.         Set( "ContentBrowser.SCC_NotAtHeadRevision", new IMAGE_BRUSH( "ContentBrowser/SCC_NotAtHeadRevision", Icon32x32) );
  4269.         Set( "ContentBrowser.SCC_NotInDepot", new IMAGE_BRUSH( "ContentBrowser/SCC_ContentMissing", Icon32x32) );
  4270.         Set( "ContentBrowser.SCC_CheckedOut_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_CheckedOut", Icon16x16) );
  4271.         Set( "ContentBrowser.SCC_OpenForAdd_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_ContentAdd", Icon16x16) );
  4272.         Set( "ContentBrowser.SCC_CheckedOutByOtherUser_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_CheckedOutByOtherUser", Icon16x16) );
  4273.         Set( "ContentBrowser.SCC_NotAtHeadRevision_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_NotAtHeadRevision", Icon16x16) );
  4274.         Set( "ContentBrowser.SCC_NotInDepot_Small", new IMAGE_BRUSH("ContentBrowser/SCC_ContentMissing", Icon16x16) );
  4275.         Set( "ContentBrowser.ContentDirty", new IMAGE_BRUSH( "ContentBrowser/ContentDirty", Icon16x16) );
  4276.         Set( "ContentBrowser.AssetDragDropTooltipBackground", new BOX_BRUSH( "Old/Menu_Background", FMargin(8.0f/64.0f) ) );
  4277.         Set( "ContentBrowser.PopupMessageIcon", new IMAGE_BRUSH( "Icons/alert", Icon32x32) );
  4278.         Set( "ContentBrowser.NewFolderIcon", new IMAGE_BRUSH("Icons/icon_AddFolder_16x", Icon16x16 ) );
  4279.         Set( "ContentBrowser.Local", new IMAGE_BRUSH( "ContentBrowser/Content_Local_12x", Icon12x12 ) );
  4280.         Set( "ContentBrowser.Shared", new IMAGE_BRUSH( "ContentBrowser/Content_Shared_12x", Icon12x12 ) );
  4281.         Set( "ContentBrowser.Private", new IMAGE_BRUSH( "ContentBrowser/Content_Private_12x", Icon12x12 ) );
  4282.     }
  4283. #endif // #if WITH_EDITOR
  4284. }
  4285.  
  4286. void FSlateEditorStyle::FStyle::SetupLandscapeEditorStyle()
  4287. {
  4288. #if WITH_EDITOR
  4289.     // Landscape Editor
  4290.     {
  4291.         // Modes
  4292.         Set( "LandscapeEditor.ManageMode", new IMAGE_BRUSH( "Icons/icon_Landscape_Mode_Manage_40x", Icon40x40 ) );
  4293.         Set( "LandscapeEditor.SculptMode", new IMAGE_BRUSH( "Icons/icon_Landscape_Mode_Sculpt_40x", Icon40x40 ) );
  4294.         Set( "LandscapeEditor.PaintMode", new IMAGE_BRUSH( "Icons/icon_Landscape_Mode_Paint_40x", Icon40x40 ) );
  4295.         Set( "LandscapeEditor.ManageMode.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Mode_Manage_20x", Icon20x20 ) );
  4296.         Set( "LandscapeEditor.SculptMode.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Mode_Sculpt_20x", Icon20x20 ) );
  4297.         Set( "LandscapeEditor.PaintMode.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Mode_Paint_20x", Icon20x20 ) );
  4298.  
  4299.         // Tools
  4300.         Set( "LandscapeEditor.NewLandscape", new IMAGE_BRUSH( "Icons/icon_Landscape_New_Landscape_40x", Icon40x40 ) );
  4301.         Set( "LandscapeEditor.NewLandscape.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_New_Landscape_20x", Icon20x20 ) );
  4302.         Set( "LandscapeEditor.ResizeLandscape", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Copy_40x", Icon40x40 ) );
  4303.         Set( "LandscapeEditor.ResizeLandscape.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Copy_20x", Icon20x20 ) );
  4304.  
  4305.         Set( "LandscapeEditor.SculptTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Sculpt_40x", Icon40x40 ) );
  4306.         Set( "LandscapeEditor.PaintTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Paint_40x", Icon40x40 ) );
  4307.         Set( "LandscapeEditor.SmoothTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Smooth_40x", Icon40x40 ) );
  4308.         Set( "LandscapeEditor.FlattenTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Flatten_40x", Icon40x40 ) );
  4309.         Set( "LandscapeEditor.RampTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Ramp_40x", Icon40x40 ) );
  4310.         Set( "LandscapeEditor.ErosionTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Erosion_40x", Icon40x40 ) );
  4311.         Set( "LandscapeEditor.HydroErosionTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_HydraulicErosion_40x", Icon40x40 ) );
  4312.         Set( "LandscapeEditor.NoiseTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Noise_40x", Icon40x40 ) );
  4313.         Set( "LandscapeEditor.RetopologizeTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Retopologize_40x", Icon40x40 ) );
  4314.         Set( "LandscapeEditor.VisibilityTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Visibility_40x", Icon40x40 ) );
  4315.         Set( "LandscapeEditor.SculptTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Sculpt_20x", Icon20x20 ) );
  4316.         Set( "LandscapeEditor.PaintTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Paint_20x", Icon20x20 ) );
  4317.         Set( "LandscapeEditor.SmoothTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Smooth_20x", Icon20x20 ) );
  4318.         Set( "LandscapeEditor.FlattenTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Flatten_20x", Icon20x20 ) );
  4319.         Set( "LandscapeEditor.RampTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Ramp_20x", Icon20x20 ) );
  4320.         Set( "LandscapeEditor.ErosionTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Erosion_20x", Icon20x20 ) );
  4321.         Set( "LandscapeEditor.HydroErosionTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_HydraulicErosion_20x", Icon20x20 ) );
  4322.         Set( "LandscapeEditor.NoiseTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Noise_20x", Icon20x20 ) );
  4323.         Set( "LandscapeEditor.RetopologizeTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Retopologize_20x", Icon20x20 ) );
  4324.         Set( "LandscapeEditor.VisibilityTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Visibility_20x", Icon20x20 ) );
  4325.  
  4326.         Set( "LandscapeEditor.SelectComponentTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Selection_40x", Icon40x40 ) );
  4327.         Set( "LandscapeEditor.AddComponentTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_AddComponent_40x", Icon40x40 ) );
  4328.         Set( "LandscapeEditor.DeleteComponentTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_DeleteComponent_40x", Icon40x40 ) );
  4329.         Set( "LandscapeEditor.MoveToLevelTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_MoveToLevel_40x", Icon40x40 ) );
  4330.         Set( "LandscapeEditor.SelectComponentTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Selection_20x", Icon20x20 ) );
  4331.         Set( "LandscapeEditor.AddComponentTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_AddComponent_20x", Icon20x20 ) );
  4332.         Set( "LandscapeEditor.DeleteComponentTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_DeleteComponent_20x", Icon20x20 ) );
  4333.         Set( "LandscapeEditor.MoveToLevelTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_MoveToLevel_20x", Icon20x20 ) );
  4334.  
  4335.         Set( "LandscapeEditor.RegionSelectTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Mask_40x", Icon40x40 ) );
  4336.         Set( "LandscapeEditor.RegionCopyPasteTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Copy_40x", Icon40x40 ) );
  4337.         Set( "LandscapeEditor.RegionSelectTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Mask_20x", Icon20x20 ) );
  4338.         Set( "LandscapeEditor.RegionCopyPasteTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Copy_20x", Icon20x20 ) );
  4339.  
  4340.         Set( "LandscapeEditor.SplineTool", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Splines_40x", Icon40x40 ) );
  4341.         Set( "LandscapeEditor.SplineTool.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Tool_Splines_20x", Icon20x20 ) );
  4342.  
  4343.         // Brush Sets
  4344.         Set( "LandscapeEditor.CircleBrush", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Circle_Smooth_40x", Icon40x40 ) );
  4345.         Set( "LandscapeEditor.AlphaBrush", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Alpha_40x", Icon40x40 ) );
  4346.         Set( "LandscapeEditor.AlphaBrush_Pattern", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Pattern_40x", Icon40x40 ) );
  4347.         Set( "LandscapeEditor.ComponentBrush", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Component_40x", Icon40x40 ) );
  4348.         Set( "LandscapeEditor.GizmoBrush", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Gizmo_40x", Icon40x40 ) );
  4349.         Set( "LandscapeEditor.CircleBrush.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Circle_Smooth_20x", Icon20x20 ) );
  4350.         Set( "LandscapeEditor.AlphaBrush.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Alpha_20x", Icon20x20 ) );
  4351.         Set( "LandscapeEditor.AlphaBrush_Pattern.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Pattern_20x", Icon20x20 ) );
  4352.         Set( "LandscapeEditor.ComponentBrush.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Component_20x", Icon20x20 ) );
  4353.         Set( "LandscapeEditor.GizmoBrush.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Gizmo_20x", Icon20x20 ) );
  4354.  
  4355.         // Brushes
  4356.         Set( "LandscapeEditor.CircleBrush_Smooth", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Circle_Smooth_40x", Icon40x40 ) );
  4357.         Set( "LandscapeEditor.CircleBrush_Linear", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Circle_Linear_40x", Icon40x40 ) );
  4358.         Set( "LandscapeEditor.CircleBrush_Spherical", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Circle_Spherical_40x", Icon40x40 ) );
  4359.         Set( "LandscapeEditor.CircleBrush_Tip", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Circle_Tip_40x", Icon40x40 ) );
  4360.         Set( "LandscapeEditor.CircleBrush_Smooth.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Circle_Smooth_20x", Icon20x20 ) );
  4361.         Set( "LandscapeEditor.CircleBrush_Linear.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Circle_Linear_20x", Icon20x20 ) );
  4362.         Set( "LandscapeEditor.CircleBrush_Spherical.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Circle_Spherical_20x", Icon20x20 ) );
  4363.         Set( "LandscapeEditor.CircleBrush_Tip.Small", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Circle_Tip_20x", Icon20x20 ) );
  4364.  
  4365.         Set( "LandscapeEditor.Brushes.Alpha.UseRChannel", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Alpha_UseRChannel_20x", Icon20x20 ) );
  4366.         Set( "LandscapeEditor.Brushes.Alpha.UseGChannel", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Alpha_UseGChannel_20x", Icon20x20 ) );
  4367.         Set( "LandscapeEditor.Brushes.Alpha.UseBChannel", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Alpha_UseBChannel_20x", Icon20x20 ) );
  4368.         Set( "LandscapeEditor.Brushes.Alpha.UseAChannel", new IMAGE_BRUSH( "Icons/icon_Landscape_Brush_Alpha_UseAChannel_20x", Icon20x20 ) );
  4369.  
  4370.         // Target List
  4371.         Set( "LandscapeEditor.TargetList.RowBackground",        new FSlateNoResource() );
  4372.         Set( "LandscapeEditor.TargetList.RowBackgroundHovered", new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, FLinearColor(1.0f, 1.0f, 1.0f, 0.1f) ) );
  4373.         Set( "LandscapeEditor.TargetList.RowSelected",          new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor_Pressed ) );
  4374.         Set( "LandscapeEditor.TargetList.RowSelectedHovered",   new BOX_BRUSH( "Common/RoundedSelection_16x", 4.0f/16.0f, SelectionColor ) );
  4375.        
  4376.         Set( "LandscapeEditor.Target_Heightmap", new IMAGE_BRUSH( "Icons/icon_Landscape_Target_Heightmap_32x", Icon48x48 ) );
  4377.         Set( "LandscapeEditor.Target_Invalid", new IMAGE_BRUSH( "Icons/icon_Landscape_Target_Invalid_32x", Icon48x48 ) );
  4378.  
  4379.         Set( "LandscapeEditor.Target_Create", new IMAGE_BRUSH( "Icons/icon_Landscape_Target_Create_12x", Icon12x12 ) );
  4380.         Set( "LandscapeEditor.Target_MakePublic", new IMAGE_BRUSH( "Icons/assign_right_12x", Icon12x12 ) );
  4381.         Set( "LandscapeEditor.Target_Delete", new IMAGE_BRUSH( "Icons/cross_12x", Icon12x12 ) );
  4382.     }
  4383. #endif
  4384. }
  4385.  
  4386. void FSlateEditorStyle::FStyle::SetupToolkitStyles()
  4387. {
  4388. #if WITH_EDITOR
  4389.     // Project Browser
  4390.     {
  4391.         Set("ProjectBrowser.Tab.Text", FTextBlockStyle(NormalText)
  4392.             .SetFont(TTF_CORE_FONT("Fonts/Roboto-Regular", 24))
  4393.             .SetShadowOffset(FVector2D(0,1)));
  4394.  
  4395.         Set("ProjectBrowser.Background", new BOX_BRUSH("Common/FlatColorSquare", FVector2D(1.0f, 1.0f), FMargin(0), FLinearColor(FColor(0xff404040))));
  4396.         Set("ProjectBrowser.Tab.ActiveBackground", new BOX_BRUSH("Common/FlatColorSquare", FVector2D(1.0f, 1.0f), FMargin(0), FLinearColor(FColor(0xff404040))));
  4397.         Set("ProjectBrowser.Tab.Background", new BOX_BRUSH("Common/FlatColorSquare", FVector2D(1.0f, 1.0f), FMargin(0), FLinearColor(FColor(0xff272727))));
  4398.         Set("ProjectBrowser.Tab.ActiveHighlight", new BOX_BRUSH("Common/FlatColorSquare", FVector2D(1.0f, 1.0f), FMargin(0), SelectionColor) );
  4399.         Set("ProjectBrowser.Tab.Highlight", new BOX_BRUSH("Common/FlatColorSquare", FVector2D(1.0f, 1.0f), FMargin(0), SelectionColor_Inactive));
  4400.         Set("ProjectBrowser.Tab.PressedHighlight", new BOX_BRUSH("Common/FlatColorSquare", FVector2D(1.0f, 1.0f), FMargin(0), SelectionColor_Pressed));
  4401.     }
  4402.  
  4403.     // Toolkit Display
  4404.     {
  4405.         Set( "ToolkitDisplay.UnsavedChangeIcon", new IMAGE_BRUSH( "Common/UnsavedChange", Icon8x8 ) );
  4406.         Set( "ToolkitDisplay.MenuDropdown", new IMAGE_BRUSH( "Common/ComboArrow", Icon8x8 ) );
  4407.         Set( "ToolkitDisplay.ColorOverlay", new BOX_BRUSH( "/Docking/Tab_ColorOverlay", 4/16.0f ) );
  4408.     }
  4409.    
  4410.     // Generic Editor
  4411.     {
  4412.         Set( "GenericEditor.Tabs.Properties", new IMAGE_BRUSH( "/Icons/properties_16x", Icon16x16 ) );
  4413.     }
  4414.  
  4415.     // CurveTable Editor
  4416.     {
  4417.         Set( "CurveTableEditor.Tabs.Properties", new IMAGE_BRUSH( "/Icons/pillarray_16x", Icon16x16 ) );
  4418.     }
  4419.  
  4420.     // DataTable Editor
  4421.     {
  4422.         Set( "DataTableEditor.Tabs.Properties", new IMAGE_BRUSH( "/Icons/pillarray_16x", Icon16x16 ) );
  4423.     }
  4424.  
  4425.     // DestructibleMesh Editor
  4426.     {
  4427.         Set( "DestructibleMeshEditor.Tabs.Properties", new IMAGE_BRUSH( "/Icons/pillarray_16x", Icon16x16 ) );
  4428.         Set( "DestructibleMeshEditor.Fracture", new IMAGE_BRUSH( "Icons/icon_DestructibleMeshEd_Fracture_40x", Icon40x40 ) );
  4429.         Set( "DestructibleMeshEditor.Fracture.Small", new IMAGE_BRUSH( "Icons/icon_DestructibleMeshEd_Fracture_20x", Icon20x20 ) );
  4430.         Set( "DestructibleMeshEditor.Refresh", new IMAGE_BRUSH( "Icons/icon_DestructibleMeshEd_Refresh_40x", Icon40x40 ) );
  4431.         Set( "DestructibleMeshEditor.Refresh.Small", new IMAGE_BRUSH( "Icons/icon_DestructibleMeshEd_Refresh_40x", Icon20x20 ) );
  4432.         Set( "DestructibleMeshEditor.ImportFBXChunks", new IMAGE_BRUSH( "Icons/icon_DestructibleMeshEd_ImportFBX_40x", Icon40x40 ) );
  4433.         Set( "DestructibleMeshEditor.ImportFBXChunks.Small", new IMAGE_BRUSH( "Icons/icon_DestructibleMeshEd_ImportFBX_40x", Icon20x20 ) );
  4434.  
  4435.     }
  4436. #endif //#if WITH_EDITOR
  4437.  
  4438.     // Material Editor
  4439. #if WITH_EDITOR
  4440.     {
  4441.         Set( "MaterialEditor.NormalFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 9 ) );
  4442.         Set( "MaterialEditor.BoldFont", TTF_CORE_FONT( "Fonts/Roboto-Bold", 9 ) );
  4443.        
  4444.         Set( "MaterialEditor.Apply", new IMAGE_BRUSH( "Icons/icon_MatEd_Apply_40x", Icon40x40 ) );
  4445.         Set( "MaterialEditor.Apply.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Apply_40x", Icon20x20 ) );
  4446.  
  4447.         Set( "MaterialEditor.ShowAllMaterialParameters", new IMAGE_BRUSH( "Icons/icon_MatInsEd_Params_40x", Icon40x40 ) );
  4448.         Set( "MaterialEditor.ShowAllMaterialParameters.Small", new IMAGE_BRUSH( "Icons/icon_MatInsEd_Params_40x", Icon20x20 ) );
  4449.  
  4450.         Set( "MaterialEditor.SetCylinderPreview", new IMAGE_BRUSH( "Icons/icon_MatEd_Cylinder_40x", Icon40x40 ) );
  4451.         Set( "MaterialEditor.SetCylinderPreview.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Cylinder_40x", Icon20x20 ) );
  4452.         Set( "MaterialEditor.SetSpherePreview", new IMAGE_BRUSH( "Icons/icon_MatEd_Sphere_40x", Icon40x40 ) );
  4453.         Set( "MaterialEditor.SetSpherePreview.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Sphere_40x", Icon20x20 ) );
  4454.         Set( "MaterialEditor.SetPlanePreview", new IMAGE_BRUSH( "Icons/icon_MatEd_Plane_40x", Icon40x40 ) );
  4455.         Set( "MaterialEditor.SetPlanePreview.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Plane_40x", Icon20x20 ) );
  4456.         Set( "MaterialEditor.SetCubePreview", new IMAGE_BRUSH( "Icons/icon_MatEd_Cube_40x", Icon40x40 ) );
  4457.         Set( "MaterialEditor.SetCubePreview.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Cube_40x", Icon20x20 ) );
  4458.         Set( "MaterialEditor.SetPreviewMeshFromSelection", new IMAGE_BRUSH( "Icons/icon_MatEd_Mesh_40x", Icon40x40 ) );
  4459.         Set( "MaterialEditor.SetPreviewMeshFromSelection.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Mesh_40x", Icon20x20 ) );
  4460.         Set( "MaterialEditor.TogglePreviewGrid", new IMAGE_BRUSH( "Icons/icon_MatEd_Grid_40x", Icon40x40 ) );
  4461.         Set( "MaterialEditor.TogglePreviewGrid.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Grid_40x", Icon20x20 ) );
  4462.  
  4463.         Set( "MaterialEditor.ToggleStats", new IMAGE_BRUSH( "Icons/icon_MatEd_Stats_40x", Icon40x40 ) );
  4464.         Set( "MaterialEditor.ToggleStats.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Stats_40x", Icon20x20 ) );
  4465.         Set( "MaterialEditor.ToggleMobileStats", new IMAGE_BRUSH( "Icons/icon_tab_DeviceManager_40x", Icon40x40 ) );
  4466.         Set( "MaterialEditor.ToggleMobileStats.Small", new IMAGE_BRUSH( "Icons/icon_tab_DeviceManager_40x", Icon20x20 ) );
  4467.         Set( "MaterialEditor.CleanUnusedExpressions", new IMAGE_BRUSH( "Icons/icon_MatEd_CleanUp_40x", Icon40x40 ) );
  4468.         Set( "MaterialEditor.CleanUnusedExpressions.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_CleanUp_40x", Icon20x20 ) );
  4469.         Set( "MaterialEditor.ToggleRealtimeExpressions", new IMAGE_BRUSH( "Icons/icon_MatEd_LiveNodes_40x", Icon40x40 ) );
  4470.         Set( "MaterialEditor.ToggleRealtimeExpressions.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_LiveNodes_40x", Icon20x20 ) );
  4471.         Set( "MaterialEditor.AlwaysRefreshAllPreviews", new IMAGE_BRUSH( "Icons/icon_MatEd_Refresh_40x", Icon40x40 ) );
  4472.         Set( "MaterialEditor.AlwaysRefreshAllPreviews.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Refresh_40x", Icon20x20 ) );
  4473.         Set( "MaterialEditor.ShowHideConnectors", new IMAGE_BRUSH( "Icons/icon_MatEd_Connectors_40x", Icon40x40 ) );
  4474.         Set( "MaterialEditor.ShowHideConnectors.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Connectors_40x", Icon20x20 ) );
  4475.         Set( "MaterialEditor.CameraHome", new IMAGE_BRUSH( "Icons/icon_MatEd_Home_40x", Icon40x40 ) );
  4476.         Set( "MaterialEditor.CameraHome.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Home_40x", Icon20x20 ) );
  4477.     }
  4478.  
  4479.     // Material Instance Editor
  4480.     {
  4481.         Set( "MaterialInstanceEditor.Tabs.Properties", new IMAGE_BRUSH( "/Icons/properties_16x", Icon16x16 ) );
  4482.         Set( "MaterialInstanceEditor.Tabs.Parents", new IMAGE_BRUSH( "/Icons/layers_16x", Icon16x16 ) );
  4483.     }
  4484.  
  4485.     // Sound Class Editor
  4486.     {
  4487.         Set( "SoundClassEditor.Tabs.Properties", new IMAGE_BRUSH( "/Icons/properties_16x", Icon16x16 ) );
  4488.     }
  4489.  
  4490.     // Font Editor
  4491.     {
  4492.         // Tab icons
  4493.         {
  4494.             Set( "FontEditor.Tabs.Preview", new IMAGE_BRUSH( "/Icons/lens_16x", Icon16x16 ) );
  4495.             Set( "FontEditor.Tabs.Properties", new IMAGE_BRUSH( "/Icons/properties_16x", Icon16x16 ) );
  4496.             Set( "FontEditor.Tabs.PageProperties", new IMAGE_BRUSH( "/Icons/properties_16x", Icon16x16 ) );
  4497.         }
  4498.  
  4499.         Set( "FontEditor.Update", new IMAGE_BRUSH( "Icons/icon_FontEd_Update_40x", Icon40x40 ) );
  4500.         Set( "FontEditor.Update.Small", new IMAGE_BRUSH( "Icons/icon_FontEd_Update_40x", Icon20x20 ) );
  4501.         Set( "FontEditor.UpdateAll", new IMAGE_BRUSH( "Icons/icon_FontEd_UpdateAll_40x", Icon40x40 ) );
  4502.         Set( "FontEditor.UpdateAll.Small", new IMAGE_BRUSH( "Icons/icon_FontEd_UpdateAll_40x", Icon20x20 ) );
  4503.         Set( "FontEditor.Export", new IMAGE_BRUSH( "Icons/icon_FontEd_Export_40x", Icon40x40 ) );
  4504.         Set( "FontEditor.Export.Small", new IMAGE_BRUSH( "Icons/icon_FontEd_Export_40x", Icon20x20 ) );
  4505.         Set( "FontEditor.ExportAll", new IMAGE_BRUSH( "Icons/icon_FontEd_ExportAll_40x", Icon40x40 ) );
  4506.         Set( "FontEditor.ExportAll.Small", new IMAGE_BRUSH( "Icons/icon_FontEd_ExportAll_40x", Icon20x20 ) );
  4507.  
  4508.         Set( "FontEditor.BackgroundColor", new IMAGE_BRUSH( "Icons/icon_FontEd_Background_40x", Icon40x40 ) );
  4509.         Set( "FontEditor.BackgroundColor.Small", new IMAGE_BRUSH( "Icons/icon_FontEd_Background_40x", Icon20x20 ) );
  4510.         Set( "FontEditor.ForegroundColor", new IMAGE_BRUSH( "Icons/icon_FontEd_Foreground_40x", Icon40x40 ) );
  4511.         Set( "FontEditor.ForegroundColor.Small", new IMAGE_BRUSH( "Icons/icon_FontEd_Foreground_40x", Icon20x20 ) );
  4512.     }
  4513.  
  4514.     // SoundCueGraph Editor
  4515.     {
  4516.         Set("SoundCueGraphEditor.PlayCue", new IMAGE_BRUSH( "Icons/icon_SCueEd_PlayCue_40x", Icon40x40));
  4517.         Set("SoundCueGraphEditor.PlayCue.Small", new IMAGE_BRUSH( "Icons/icon_SCueEd_PlayCue_40x", Icon20x20));
  4518.         Set("SoundCueGraphEditor.PlayNode", new IMAGE_BRUSH( "Icons/icon_SCueEd_PlayNode_40x", Icon40x40));
  4519.         Set("SoundCueGraphEditor.PlayNode.Small", new IMAGE_BRUSH( "Icons/icon_SCueEd_PlayNode_40x", Icon20x20));
  4520.         Set("SoundCueGraphEditor.Stop", new IMAGE_BRUSH( "Icons/icon_SCueEd_Stop_40x", Icon40x40));
  4521.         Set("SoundCueGraphEditor.Stop.Small", new IMAGE_BRUSH( "Icons/icon_SCueEd_Stop_40x", Icon20x20));
  4522.     }
  4523.  
  4524.     // Static Mesh Editor
  4525.     {
  4526.         Set( "StaticMeshEditor.NormalFont", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  4527.         Set( "StaticMeshEditor.Tabs.Properties", new IMAGE_BRUSH( "/Icons/properties_16x", Icon16x16 ) );
  4528.         Set( "StaticMeshEditor.SetShowWireframe", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_Wireframe_40x", Icon40x40 ) );
  4529.         Set( "StaticMeshEditor.SetShowWireframe.Small", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_Wireframe_40x", Icon20x20 ) );
  4530.         Set( "StaticMeshEditor.SetShowVertexColor", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_VertColor_40x", Icon40x40 ) );
  4531.         Set( "StaticMeshEditor.SetShowVertexColor.Small", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_VertColor_40x", Icon20x20 ) );
  4532.         Set( "StaticMeshEditor.SetRealtimePreview", new IMAGE_BRUSH( "Icons/icon_MatEd_Realtime_40x", Icon40x40 ) );
  4533.         Set( "StaticMeshEditor.SetRealtimePreview.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Realtime_40x", Icon20x20 ) );
  4534.         Set( "StaticMeshEditor.SetShowBounds", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_Bounds_40x", Icon40x40 ) );
  4535.         Set( "StaticMeshEditor.SetShowBounds.Small", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_Bounds_40x", Icon20x20 ) );
  4536.         Set( "StaticMeshEditor.SetShowCollision", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_Collision_40x", Icon40x40 ) );
  4537.         Set( "StaticMeshEditor.SetShowCollision.Small", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_Collision_40x", Icon20x20 ) );
  4538.         Set( "StaticMeshEditor.SetShowGrid", new IMAGE_BRUSH( "Icons/icon_MatEd_Grid_40x", Icon40x40 ) );
  4539.         Set( "StaticMeshEditor.SetShowGrid.Small", new IMAGE_BRUSH( "Icons/icon_MatEd_Grid_40x", Icon20x20 ) );
  4540.         Set( "StaticMeshEditor.SetDrawUVs", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_UVOverlay_40x", Icon40x40 ) );
  4541.         Set( "StaticMeshEditor.SetDrawUVs.Small", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_UVOverlay_40x", Icon20x20 ) );
  4542.         Set( "StaticMeshEditor.ResetCamera", new IMAGE_BRUSH( "Icons/icon_Camera_Reset_40px", Icon40x40 ) );
  4543.         Set( "StaticMeshEditor.ResetCamera.Small", new IMAGE_BRUSH( "Icons/icon_Camera_Reset_40px", Icon20x20 ) );
  4544.         Set( "StaticMeshEditor.SetShowPivot", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_ShowPivot_40x", Icon40x40 ) );
  4545.         Set( "StaticMeshEditor.SetShowPivot.Small", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_ShowPivot_40x", Icon20x20 ) );
  4546.         Set( "StaticMeshEditor.SetShowSockets", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_ShowSockets_40x", Icon40x40 ) );
  4547.         Set( "StaticMeshEditor.SetShowSockets.Small", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_ShowSockets_40x", Icon20x20 ) );
  4548.         Set( "StaticMeshEditor.SaveThumbnail", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_SaveThumbnail_40x", Icon40x40 ) );
  4549.         Set( "StaticMeshEditor.SaveThumbnail.Small", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_SaveThumbnail_40x", Icon20x20 ) );
  4550.         Set( "StaticMeshEditor.SetShowNormals", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_Normals_40x", Icon40x40 ) );
  4551.         Set( "StaticMeshEditor.SetShowNormals.Small", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_Normals_40x", Icon20x20 ) );
  4552.         Set( "StaticMeshEditor.SetShowTangents", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_Tangents_40x", Icon40x40 ) );
  4553.         Set( "StaticMeshEditor.SetShowTangents.Small", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_Tangents_40x", Icon20x20 ) );
  4554.         Set( "StaticMeshEditor.SetShowBinormals", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_Binormals_40x", Icon40x40 ) );
  4555.         Set( "StaticMeshEditor.SetShowBinormals.Small", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_Binormals_40x", Icon20x20 ) );
  4556.         Set( "StaticMeshEditor.SetDrawAdditionalData", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_AdditionalData_40x", Icon40x40 ) );
  4557.         Set( "StaticMeshEditor.SetDrawAdditionalData.Small", new IMAGE_BRUSH( "Icons/icon_StaticMeshEd_AdditionalData_40x", Icon20x20 ) );
  4558.         Set( "StaticMeshEditor.GroupSection",  new BOX_BRUSH( "Common/RoundedSelection_16x", FMargin(4.0f/16.0f) ) );
  4559.     }
  4560.  
  4561.     // Skeletal Mesh Editor
  4562.     {
  4563.         Set( "SkeletalMeshEditor.GroupSection",  new BOX_BRUSH( "Common/RoundedSelection_16x", FMargin(4.0f/16.0f) ) );
  4564.     }
  4565.  
  4566.     // Texture Editor
  4567.     {
  4568.         Set( "TextureEditor.Tabs.Properties", new IMAGE_BRUSH( "/Icons/properties_16x", Icon16x16 ) );
  4569.        
  4570.         Set( "TextureEditor.RedChannel", new IMAGE_BRUSH( "Icons/icon_TextureEd_RedChannel_40x", Icon40x40 ) );
  4571.         Set( "TextureEditor.RedChannel.Small", new IMAGE_BRUSH( "Icons/icon_TextureEd_RedChannel_40x", Icon20x20 ) );
  4572.         Set( "TextureEditor.GreenChannel", new IMAGE_BRUSH( "Icons/icon_TextureEd_GreenChannel_40x", Icon40x40 ) );
  4573.         Set( "TextureEditor.GreenChannel.Small", new IMAGE_BRUSH( "Icons/icon_TextureEd_GreenChannel_40x", Icon20x20 ) );
  4574.         Set( "TextureEditor.BlueChannel", new IMAGE_BRUSH( "Icons/icon_TextureEd_BlueChannel_40x", Icon40x40 ) );
  4575.         Set( "TextureEditor.BlueChannel.Small", new IMAGE_BRUSH( "Icons/icon_TextureEd_BlueChannel_40x", Icon20x20 ) );
  4576.         Set( "TextureEditor.AlphaChannel", new IMAGE_BRUSH( "Icons/icon_TextureEd_AlphaChannel_40x", Icon40x40 ) );
  4577.         Set( "TextureEditor.AlphaChannel.Small", new IMAGE_BRUSH( "Icons/icon_TextureEd_AlphaChannel_40x", Icon20x20 ) );
  4578.         Set( "TextureEditor.Saturation", new IMAGE_BRUSH( "Icons/icon_TextureEd_Saturation_40x", Icon40x40 ) );
  4579.         Set( "TextureEditor.Saturation.Small", new IMAGE_BRUSH( "Icons/icon_TextureEd_Saturation_40x", Icon20x20 ) );
  4580.  
  4581.         Set( "TextureEditor.CompressNow", new IMAGE_BRUSH( "Icons/icon_TextureEd_CompressNow_40x", Icon40x40 ) );
  4582.         Set( "TextureEditor.CompressNow.Small", new IMAGE_BRUSH( "Icons/icon_TextureEd_CompressNow_40x", Icon20x20 ) );
  4583.         Set( "TextureEditor.Reimport", new IMAGE_BRUSH( "Icons/icon_TextureEd_Reimport_40x", Icon40x40 ) );
  4584.         Set( "TextureEditor.Reimport.Small", new IMAGE_BRUSH( "Icons/icon_TextureEd_Reimport_40x", Icon20x20 ) );
  4585.     }
  4586.  
  4587.     // Cascade
  4588.     {
  4589.         Set( "Cascade.Tabs.Properties", new IMAGE_BRUSH( "/Icons/properties_16x", Icon16x16 ) );
  4590.        
  4591.         Set( "Cascade.RestartSimulation", new IMAGE_BRUSH( "Icons/icon_Cascade_RestartSim_40x", Icon40x40 ) );
  4592.         Set( "Cascade.RestartInLevel", new IMAGE_BRUSH( "Icons/icon_Cascade_RestartInLevel_40x", Icon40x40 ) );
  4593.         Set( "Cascade.SaveThumbnailImage", new IMAGE_BRUSH( "Icons/icon_Cascade_Thumbnail_40x", Icon40x40 ) );
  4594.         Set( "Cascade.Undo", new IMAGE_BRUSH( "Icons/icon_Generic_Undo_40x", Icon40x40 ) );
  4595.         Set( "Cascade.Redo", new IMAGE_BRUSH( "Icons/icon_Generic_Redo_40x", Icon40x40 ) );
  4596.         Set( "Cascade.ToggleBounds", new IMAGE_BRUSH( "Icons/icon_Cascade_Bounds_40x", Icon40x40 ) );
  4597.         Set( "Cascade.ToggleOriginAxis", new IMAGE_BRUSH( "Icons/icon_Cascade_Axis_40x", Icon40x40 ) );
  4598.         Set( "Cascade.CascadeBackgroundColor", new IMAGE_BRUSH( "Icons/icon_Cascade_Color_40x", Icon40x40 ) );
  4599.         Set( "Cascade.RegenerateLowestLODDuplicatingHighest", new IMAGE_BRUSH( "Icons/icon_Cascade_RegenLOD1_40x", Icon40x40 ) );
  4600.         Set( "Cascade.RegenerateLowestLOD", new IMAGE_BRUSH( "Icons/icon_Cascade_RegenLOD2_40x", Icon40x40 ) );
  4601.         Set( "Cascade.JumpToHighestLOD", new IMAGE_BRUSH( "Icons/icon_Cascade_HighestLOD_40x", Icon40x40 ) );
  4602.         Set( "Cascade.JumpToHigherLOD", new IMAGE_BRUSH( "Icons/icon_Cascade_HigherLOD_40x", Icon40x40 ) );
  4603.         Set( "Cascade.AddLODAfterCurrent", new IMAGE_BRUSH( "Icons/icon_Cascade_AddLOD1_40x", Icon40x40 ) );
  4604.         Set( "Cascade.AddLODBeforeCurrent", new IMAGE_BRUSH( "Icons/icon_Cascade_AddLOD2_40x", Icon40x40 ) );
  4605.         Set( "Cascade.JumpToLowerLOD", new IMAGE_BRUSH( "Icons/icon_Cascade_LowerLOD_40x", Icon40x40 ) );
  4606.         Set( "Cascade.JumpToLowestLOD", new IMAGE_BRUSH( "Icons/icon_Cascade_LowestLOD_40x", Icon40x40 ) );
  4607.         Set( "Cascade.DeleteLOD", new IMAGE_BRUSH( "Icons/icon_Cascade_DeleteLOD_40x", Icon40x40 ) );
  4608.        
  4609.         Set( "Cascade.RestartSimulation.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_RestartSim_40x", Icon20x20 ) );
  4610.         Set( "Cascade.RestartInLevel.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_RestartInLevel_40x", Icon20x20 ) );
  4611.         Set( "Cascade.SaveThumbnailImage.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_Thumbnail_40x", Icon20x20 ) );
  4612.         Set( "Cascade.Undo.Small", new IMAGE_BRUSH( "Icons/icon_Generic_Undo_40x", Icon20x20 ) );
  4613.         Set( "Cascade.Redo.Small", new IMAGE_BRUSH( "Icons/icon_Generic_Redo_40x", Icon20x20 ) );
  4614.         Set( "Cascade.ToggleBounds.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_Bounds_40x", Icon20x20 ) );
  4615.         Set( "Cascade.ToggleOriginAxis.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_Axis_40x", Icon20x20 ) );
  4616.         Set( "Cascade.CascadeBackgroundColor.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_Color_40x", Icon20x20 ) );
  4617.         Set( "Cascade.RegenerateLowestLODDuplicatingHighest.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_RegenLOD1_40x", Icon20x20 ) );
  4618.         Set( "Cascade.RegenerateLowestLOD.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_RegenLOD2_40x", Icon20x20 ) );
  4619.         Set( "Cascade.JumpToHighestLOD.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_HighestLOD_40x", Icon20x20 ) );
  4620.         Set( "Cascade.JumpToHigherLOD.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_HigherLOD_40x", Icon20x20 ) );
  4621.         Set( "Cascade.AddLODAfterCurrent.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_AddLOD1_40x", Icon20x20 ) );
  4622.         Set( "Cascade.AddLODBeforeCurrent.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_AddLOD2_40x", Icon20x20 ) );
  4623.         Set( "Cascade.JumpToLowerLOD.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_LowerLOD_40x", Icon20x20 ) );
  4624.         Set( "Cascade.JumpToLowestLOD.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_LowestLOD_40x", Icon20x20 ) );
  4625.         Set( "Cascade.DeleteLOD.Small", new IMAGE_BRUSH( "Icons/icon_Cascade_DeleteLOD_40x", Icon20x20 ) );
  4626.     }
  4627.  
  4628.     // Level Script
  4629.     {
  4630.         Set( "LevelScript.Delete", new IMAGE_BRUSH( "Icons/icon_delete_16px", Icon16x16 ) );
  4631.     }
  4632.  
  4633.     // Curve Editor
  4634.     {
  4635.         Set( "CurveEditor.FitHorizontally", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Horizontal_40x", Icon40x40 ) );
  4636.         Set( "CurveEditor.FitVertically", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Vertical_40x", Icon40x40 ) );
  4637.         Set( "CurveEditor.FitToAll", new IMAGE_BRUSH( "Icons/icon_CurveEditor_All_40x", Icon40x40 ) );
  4638.         Set( "CurveEditor.FitToSelected", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Selected_40x", Icon40x40 ) );
  4639.         Set( "CurveEditor.PanMode", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Pan_40x", Icon40x40 ) );
  4640.         Set( "CurveEditor.ZoomMode", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Zoom_40x", Icon40x40 ) );
  4641.         Set( "CurveEditor.CurveAuto", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Auto_40x", Icon40x40 ) );
  4642.         Set( "CurveEditor.CurveAutoClamped", new IMAGE_BRUSH( "Icons/icon_CurveEditor_AutoClamped_40x", Icon40x40 ) );
  4643.         Set( "CurveEditor.CurveUser", new IMAGE_BRUSH( "Icons/icon_CurveEditor_User_40x", Icon40x40 ) );
  4644.         Set( "CurveEditor.CurveBreak", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Break_40x", Icon40x40 ) );
  4645.         Set( "CurveEditor.Linear", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Linear_40x", Icon40x40 ) );
  4646.         Set( "CurveEditor.Constant", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Constant_40x", Icon40x40 ) );
  4647.         Set( "CurveEditor.FlattenTangents", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Flatten_40x", Icon40x40 ) );
  4648.         Set( "CurveEditor.StraightenTangents", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Straighten_40x", Icon40x40 ) );
  4649.         Set( "CurveEditor.ShowAllTangents", new IMAGE_BRUSH( "Icons/icon_CurveEditor_ShowAll_40x", Icon40x40 ) );
  4650.         Set( "CurveEditor.CreateTab", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Create_40x", Icon40x40 ) );
  4651.         Set( "CurveEditor.DeleteTab", new IMAGE_BRUSH( "Icons/icon_CurveEditor_DeleteTab_40x", Icon40x40 ) );
  4652.        
  4653.         Set( "CurveEditor.FitHorizontally.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Horizontal_40x", Icon20x20 ) );
  4654.         Set( "CurveEditor.FitVertically.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Vertical_40x", Icon20x20 ) );
  4655.         Set( "CurveEditor.FitToAll.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_All_40x", Icon20x20 ) );
  4656.         Set( "CurveEditor.FitToSelected.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Selected_40x", Icon20x20 ) );
  4657.         Set( "CurveEditor.PanMode.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Pan_40x", Icon20x20 ) );
  4658.         Set( "CurveEditor.ZoomMode.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Zoom_40x", Icon20x20 ) );
  4659.         Set( "CurveEditor.CurveAuto.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Auto_40x", Icon20x20 ) );
  4660.         Set( "CurveEditor.CurveAutoClamped.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_AutoClamped_40x", Icon20x20 ) );
  4661.         Set( "CurveEditor.CurveUser.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_User_40x", Icon20x20 ) );
  4662.         Set( "CurveEditor.CurveBreak.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Break_40x", Icon20x20 ) );
  4663.         Set( "CurveEditor.Linear.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Linear_40x", Icon20x20 ) );
  4664.         Set( "CurveEditor.Constant.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Constant_40x", Icon20x20 ) );
  4665.         Set( "CurveEditor.FlattenTangents.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Flatten_40x", Icon20x20 ) );
  4666.         Set( "CurveEditor.StraightenTangents.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Straighten_40x", Icon20x20 ) );
  4667.         Set( "CurveEditor.ShowAllTangents.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_ShowAll_40x", Icon20x20 ) );
  4668.         Set( "CurveEditor.CreateTab.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_Create_40x", Icon20x20 ) );
  4669.         Set( "CurveEditor.DeleteTab.Small", new IMAGE_BRUSH( "Icons/icon_CurveEditor_DeleteTab_40x", Icon20x20 ) );
  4670.     }
  4671.  
  4672.     // PhAT
  4673.     {
  4674.         Set( "PhAT.Tabs.Properties", new IMAGE_BRUSH( "/Icons/properties_16x", Icon16x16 ) );
  4675.         Set( "PhAT.Tabs.Hierarchy", new IMAGE_BRUSH( "/Icons/hiererchy_16x", Icon16x16 ) );
  4676.  
  4677.         Set( "PhAT.EditingMode_Body", new IMAGE_BRUSH( "/Icons/icon_PHatMode_Body_40x", Icon40x40) );
  4678.         Set( "PhAT.EditingMode_Constraint", new IMAGE_BRUSH( "/Icons/icon_PHatMode_Joint_40x", Icon40x40) );
  4679.  
  4680.         Set( "PhAT.EditingMode_Body.Small", new IMAGE_BRUSH( "/Icons/icon_PHatMode_Body_40x", Icon20x20) );
  4681.         Set( "PhAT.EditingMode_Constraint.Small", new IMAGE_BRUSH( "/Icons/icon_PHatMode_Joint_40x", Icon20x20) );
  4682.  
  4683.         Set( "PhAT.SimulationNormal", new IMAGE_BRUSH( "Icons/icon_PhAT_PlaySim_40x", Icon40x40 ) );
  4684.         Set( "PhAT.SimulationNoGravity", new IMAGE_BRUSH( "Icons/icon_PhAT_PlaySimNoGravity_40x", Icon40x40 ) );
  4685.         Set( "PhAT.ToggleSelectedSimulation", new IMAGE_BRUSH( "Icons/icon_PhAT_PlaySimSelected_40x", Icon40x40 ) );
  4686.         Set( "PhAT.Undo", new IMAGE_BRUSH( "Icons/icon_Generic_Undo_40x", Icon40x40 ) );
  4687.         Set( "PhAT.Redo", new IMAGE_BRUSH( "Icons/icon_Generic_Redo_40x", Icon40x40 ) );
  4688.         Set( "PhAT.ChangeDefaultMesh", new IMAGE_BRUSH( "Icons/icon_PhAT_Mesh_40x", Icon40x40 ) );
  4689.         Set( "PhAT.ResetEntireAsset", new IMAGE_BRUSH( "Icons/icon_PhAT_ResetAsset_40x", Icon40x40 ) );
  4690.         Set( "PhAT.RestetBoneCollision", new IMAGE_BRUSH( "Icons/icon_PhAT_ResetCollision_40x", Icon40x40 ) );
  4691.         Set( "PhAT.ApplyPhysicalMaterial", new IMAGE_BRUSH( "Icons/icon_PhAT_Physmat_40x", Icon40x40 ) );
  4692.         Set( "PhAT.CopyJointSettings", new IMAGE_BRUSH( "Icons/icon_PhAT_CopyJoints_40x", Icon40x40 ) );
  4693.         Set( "PhAT.PlayAnimation", new IMAGE_BRUSH( "Icons/icon_PhAT_Play_40x", Icon40x40 ) );
  4694.         Set( "PhAT.TranslationMode", new IMAGE_BRUSH( "Icons/icon_translate_40x", Icon40x40 ) );
  4695.         Set( "PhAT.RotationMode", new IMAGE_BRUSH( "Icons/icon_rotate_40x", Icon40x40 ) );
  4696.         Set( "PhAT.ScaleMode", new IMAGE_BRUSH( "Icons/icon_scale_40x", Icon40x40 ) );
  4697.         Set( "PhAT.Snap", new IMAGE_BRUSH( "Icons/icon_PhAT_Snap_40x", Icon40x40 ) );
  4698.         Set( "PhAT.CopyProperties", new IMAGE_BRUSH( "Icons/icon_PhAT_CopyProperties_40x", Icon40x40 ) );
  4699.         Set( "PhAT.DisableCollision", new IMAGE_BRUSH( "Icons/icon_PhAT_DisableCollision_40x", Icon40x40 ) );
  4700.         Set( "PhAT.EnableCollision", new IMAGE_BRUSH( "Icons/icon_PhAT_EnableCollision_40x", Icon40x40 ) );
  4701.         Set( "PhAT.WeldToBody", new IMAGE_BRUSH( "Icons/icon_PhAT_Weld_40x", Icon40x40 ) );
  4702.         Set( "PhAT.AddNewBody", new IMAGE_BRUSH( "Icons/icon_PhAT_NewBody_40x", Icon40x40 ) );
  4703.         Set( "PhAT.AddSphere", new IMAGE_BRUSH( "Icons/icon_PhAT_Sphere_40x", Icon40x40 ) );
  4704.         Set( "PhAT.AddSphyl", new IMAGE_BRUSH( "Icons/icon_PhAT_Sphyl_40x", Icon40x40 ) );
  4705.         Set( "PhAT.AddBox", new IMAGE_BRUSH( "Icons/icon_PhAT_Box_40x", Icon40x40 ) );
  4706.         Set( "PhAT.DeletePrimitive", new IMAGE_BRUSH( "Icons/icon_PhAT_DeletePrimitive_40x", Icon40x40 ) );
  4707.         Set( "PhAT.DuplicatePrimitive", new IMAGE_BRUSH( "Icons/icon_PhAT_DupePrim_40x", Icon40x40 ) );
  4708.         Set( "PhAT.ResetConstraint", new IMAGE_BRUSH( "Icons/icon_PhAT_ResetConstraint_40x", Icon40x40 ) );
  4709.         Set( "PhAT.SnapConstraint", new IMAGE_BRUSH( "Icons/icon_PhAT_SnapConstraint_40x", Icon40x40 ) );
  4710.         Set( "PhAT.SnapAllConstraints", new IMAGE_BRUSH( "Icons/icon_PhAT_SnapAll_40x", Icon40x40 ) );
  4711.         Set( "PhAT.ConvertToBallAndSocket", new IMAGE_BRUSH( "Icons/icon_PhAT_Ball_40x", Icon40x40 ) );
  4712.         Set( "PhAT.ConvertToHinge", new IMAGE_BRUSH( "Icons/icon_PhAT_Hinge_40x", Icon40x40 ) );
  4713.         Set( "PhAT.ConvertToPrismatic", new IMAGE_BRUSH( "Icons/icon_PhAT_Prismatic_40x", Icon40x40 ) );
  4714.         Set( "PhAT.ConvertToSkeletal", new IMAGE_BRUSH( "Icons/icon_PhAT_Skeletal_40x", Icon40x40 ) );
  4715.         Set( "PhAT.DeleteConstraint", new IMAGE_BRUSH( "Icons/icon_PhAT_DeleteConstraint_40x", Icon40x40 ) );
  4716.  
  4717.         Set( "PhAT.ToggleSimulation.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_PlaySim_40x", Icon20x20 ) );
  4718.         Set( "PhAT.Undo.Small", new IMAGE_BRUSH( "Icons/icon_Generic_Undo_40x", Icon20x20 ) );
  4719.         Set( "PhAT.Redo.Small", new IMAGE_BRUSH( "Icons/icon_Generic_Redo_40x", Icon20x20 ) );
  4720.         Set( "PhAT.ChangeDefaultMesh.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_Mesh_40x", Icon20x20 ) );
  4721.         Set( "PhAT.ResetEntireAsset.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_ResetAsset_40x", Icon20x20 ) );
  4722.         Set( "PhAT.RestetBoneCollision.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_ResetCollision_40x", Icon20x20 ) );
  4723.         Set( "PhAT.ApplyPhysicalMaterial.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_Physmat_40x", Icon20x20 ) );
  4724.         Set( "PhAT.CopyJointSettings.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_CopyJoints_40x", Icon20x20 ) );
  4725.         Set( "PhAT.PlayAnimation.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_Play_40x", Icon20x20 ) );
  4726.         Set( "PhAT.TranslationMode.Small", new IMAGE_BRUSH( "Icons/icon_translate_40x", Icon20x20 ) );
  4727.         Set( "PhAT.RotationMode.Small", new IMAGE_BRUSH( "Icons/icon_rotate_40x", Icon20x20 ) );
  4728.         Set( "PhAT.ScaleMode.Small", new IMAGE_BRUSH( "Icons/icon_scale_40x", Icon20x20 ) );
  4729.         Set( "PhAT.Snap.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_Snap_40x", Icon20x20 ) );
  4730.         Set( "PhAT.CopyProperties.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_CopyProperties_40x", Icon20x20 ) );
  4731.         Set( "PhAT.DisableCollision.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_DisableCollision_40x", Icon20x20 ) );
  4732.         Set( "PhAT.EnableCollision.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_EnableCollision_40x", Icon20x20 ) );
  4733.         Set( "PhAT.WeldToBody.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_Weld_40x", Icon20x20 ) );
  4734.         Set( "PhAT.AddNewBody.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_NewBody_40x", Icon20x20 ) );
  4735.         Set( "PhAT.AddSphere.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_Sphere_40x", Icon20x20 ) );
  4736.         Set( "PhAT.AddSphyl.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_Sphyl_40x", Icon20x20 ) );
  4737.         Set( "PhAT.AddBox.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_Box_40x", Icon20x20 ) );
  4738.         Set( "PhAT.DeletePrimitive.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_DeletePrimitive_40x", Icon20x20 ) );
  4739.         Set( "PhAT.DuplicatePrimitive.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_DupePrim_40x", Icon20x20 ) );
  4740.         Set( "PhAT.ResetConstraint.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_ResetConstraint_40x", Icon20x20 ) );
  4741.         Set( "PhAT.SnapConstraint.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_SnapConstraint_40x", Icon20x20 ) );
  4742.         Set( "PhAT.SnapAllConstraints.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_SnapAll_40x", Icon20x20 ) );
  4743.         Set( "PhAT.ConvertToBallAndSocket.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_Ball_40x", Icon20x20 ) );
  4744.         Set( "PhAT.ConvertToHinge.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_Hinge_40x", Icon20x20 ) );
  4745.         Set( "PhAT.ConvertToPrismatic.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_Prismatic_40x", Icon20x20 ) );
  4746.         Set( "PhAT.ConvertToSkeletal.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_Skeletal_40x", Icon20x20 ) );
  4747.         Set( "PhAT.DeleteConstraint.Small", new IMAGE_BRUSH( "Icons/icon_PhAT_DeleteConstraint_40x", Icon20x20 ) );
  4748.     }
  4749. #endif // WITH_EDITOR
  4750. }
  4751.  
  4752. void FSlateEditorStyle::FStyle::SetupMatineeStyle()
  4753. {
  4754.     //Matinee
  4755. #if WITH_EDITOR
  4756.     {  
  4757.         Set( "Matinee.AddKey", new IMAGE_BRUSH( "Icons/icon_Matinee_AddKey_40x", Icon40x40 ) );
  4758.         Set( "Matinee.CreateMovie", new IMAGE_BRUSH( "Icons/icon_Matinee_CreateMovie_40x", Icon40x40 ) );  
  4759.         Set( "Matinee.Play", new IMAGE_BRUSH( "Icons/icon_Matinee_Play_40x", Icon40x40 ) );
  4760.         Set( "Matinee.PlayLoop", new IMAGE_BRUSH( "Icons/icon_Matinee_PlayLoopSection_40x", Icon40x40 ) ); 
  4761.         Set( "Matinee.Stop", new IMAGE_BRUSH( "Icons/icon_Matinee_Stop_40x", Icon40x40 ) );
  4762.         Set( "Matinee.PlayReverse", new IMAGE_BRUSH( "Icons/icon_Matinee_PlayReverse_40x", Icon40x40 ) );  
  4763.         Set( "Matinee.Undo", new IMAGE_BRUSH( "Icons/icon_Generic_Undo_40x", Icon40x40 ) );
  4764.         Set( "Matinee.Redo", new IMAGE_BRUSH( "Icons/icon_Generic_Redo_40x", Icon40x40 ) );
  4765.         Set( "Matinee.ToggleSnap", new IMAGE_BRUSH( "Icons/icon_Matinee_ToggleSnap_40x", Icon40x40 ) );
  4766.         Set( "Matinee.FitSequence", new IMAGE_BRUSH( "Icons/icon_Matinee_FitSequence_40x", Icon40x40 ) );  
  4767.         Set( "Matinee.FitViewToSelected", new IMAGE_BRUSH( "Icons/icon_Matinee_FitSelected_40x", Icon40x40 ) );
  4768.         Set( "Matinee.FitLoop", new IMAGE_BRUSH( "Icons/icon_Matinee_FitLoop_40x", Icon40x40 ) );  
  4769.         Set( "Matinee.FitLoopSequence", new IMAGE_BRUSH( "Icons/icon_Matinee_FitLoopSequnce_40x", Icon40x40 ) );   
  4770.         Set( "Matinee.ViewEndofTrack", new IMAGE_BRUSH( "Icons/icon_Matinee_EndOfTrack_40x", Icon40x40 ) );    
  4771.         Set( "Matinee.ToggleSnapTimeToFrames", new IMAGE_BRUSH( "Icons/icon_Matinee_SnapTimeToFrames_40x", Icon40x40 ) );  
  4772.         Set( "Matinee.FixedTimeStepPlayback", new IMAGE_BRUSH( "Icons/icon_Matinee_FixedTimeStepPlayback_40x", Icon40x40 ) );  
  4773.         Set( "Matinee.ToggleGorePreview", new IMAGE_BRUSH( "Icons/icon_Matinee_GorePreview_40x", Icon40x40 ) );
  4774.         Set( "Matinee.CreateCameraActor", new IMAGE_BRUSH( "Icons/icon_Matinee_CreateCameraActor_40x", Icon40x40 ) );  
  4775.         Set( "Matinee.LaunchRecordWindow", new IMAGE_BRUSH( "Icons/icon_Matinee_LaunchRecorderWindow_40x", Icon40x40 ) );  
  4776.  
  4777.         Set( "Matinee.AddKey.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_AddKey_40x", Icon20x20 ) );  
  4778.         Set( "Matinee.CreateMovie.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_CreateMovie_40x", Icon20x20 ) );
  4779.         Set( "Matinee.Play.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_Play_40x", Icon20x20 ) );  
  4780.         Set( "Matinee.PlayLoop.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_PlayLoopSection_40x", Icon20x20 ) );   
  4781.         Set( "Matinee.Stop.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_Stop_40x", Icon20x20 ) );  
  4782.         Set( "Matinee.PlayReverse.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_PlayReverse_40x", Icon20x20 ) );
  4783.         Set( "Matinee.Undo.Small", new IMAGE_BRUSH( "Icons/icon_Generic_Undo_40x", Icon20x20 ) );  
  4784.         Set( "Matinee.Redo.Small", new IMAGE_BRUSH( "Icons/icon_Generic_Redo_40x", Icon20x20 ) );  
  4785.         Set( "Matinee.ToggleSnap.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_ToggleSnap_40x", Icon20x20 ) );
  4786.         Set( "Matinee.FitSequence.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_FitSequence_40x", Icon20x20 ) );
  4787.         Set( "Matinee.FitViewToSelected.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_FitSelected_40x", Icon20x20 ) );  
  4788.         Set( "Matinee.FitLoop.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_FitLoop_40x", Icon20x20 ) );
  4789.         Set( "Matinee.FitLoopSequence.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_FitLoopSequnce_40x", Icon20x20 ) ); 
  4790.         Set( "Matinee.ViewEndofTrack.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_EndOfTrack_40x", Icon20x20 ) );      
  4791.         Set( "Matinee.ToggleSnapTimeToFrames.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_SnapTimeToFrames_40x", Icon20x20 ) );
  4792.         Set( "Matinee.FixedTimeStepPlayback.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_FixedTimeStepPlayback_40x", Icon20x20 ) );
  4793.         Set( "Matinee.ToggleGorePreview.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_GorePreview_40x", Icon20x20 ) );  
  4794.         Set( "Matinee.CreateCameraActor.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_CreateCameraActor_40x", Icon20x20 ) );
  4795.         Set( "Matinee.LaunchRecordWindow.Small", new IMAGE_BRUSH( "Icons/icon_Matinee_LaunchRecorderWindow_40x", Icon20x20 ) );
  4796.     }
  4797. #endif // WITH_EDITOR || IS_PROGRAM
  4798.     }
  4799.  
  4800. void FSlateEditorStyle::FStyle::SetupSourceControlStyles()
  4801. {
  4802.     //Source Control
  4803. #if WITH_EDITOR || IS_PROGRAM
  4804.     {
  4805.         Set( "SourceControl.Add", new IMAGE_BRUSH( "Old/SourceControl/SCC_Action_Add",Icon10x10));
  4806.         Set( "SourceControl.Edit", new IMAGE_BRUSH( "Old/SourceControl/SCC_Action_Edit",Icon10x10));
  4807.         Set( "SourceControl.Delete", new IMAGE_BRUSH( "Old/SourceControl/SCC_Action_Delete",Icon10x10));
  4808.         Set( "SourceControl.Branch", new IMAGE_BRUSH( "Old/SourceControl/SCC_Action_Branch",Icon10x10));
  4809.         Set( "SourceControl.Integrate", new IMAGE_BRUSH( "Old/SourceControl/SCC_Action_Integrate",Icon10x10));
  4810.         Set( "SourceControl.Settings.StatusBorder", new BOX_BRUSH( "Common/GroupBorder", FMargin(4.0f/16.0f), FLinearColor(0.5f,0.5f,0.5f,1.0f)  ) );
  4811.         Set( "SourceControl.Settings.StatusFont", FTextBlockStyle(NormalText).SetFont(TTF_CORE_FONT( "Fonts/Roboto-Bold", 12 ) ));
  4812.         Set( "SourceControl.StatusIcon.On", new IMAGE_BRUSH( "Icons/SourceControlOn_16x", Icon16x16 ) );
  4813.         Set( "SourceControl.StatusIcon.Error", new IMAGE_BRUSH( "Icons/SourceControlProblem_16x", Icon16x16 ) );
  4814.         Set( "SourceControl.StatusIcon.Off", new IMAGE_BRUSH( "Icons/SourceControlOff_16x", Icon16x16 ) );
  4815.         Set( "SourceControl.StatusIcon.Unknown", new IMAGE_BRUSH( "Icons/SourceControlUnknown_16x", Icon16x16 ) );
  4816.         Set( "SourceControl.LoginWindow.Font", TTF_CORE_FONT( "Fonts/Roboto-Regular", 8 ) );
  4817.         Set( "SourceControl.ProgressWindow.Warning", new IMAGE_BRUSH( "Icons/alert", Icon32x32) );
  4818.     }
  4819. #endif // WITH_EDITOR || IS_PROGRAM
  4820.  
  4821.     // Perforce
  4822. #if WITH_EDITOR || IS_PROGRAM
  4823.     {
  4824.         Set( "Perforce.CheckedOut", new IMAGE_BRUSH( "ContentBrowser/SCC_CheckedOut", Icon32x32) );
  4825.         Set( "Perforce.CheckedOut_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_CheckedOut", Icon16x16) );
  4826.         Set( "Perforce.OpenForAdd", new IMAGE_BRUSH( "ContentBrowser/SCC_ContentAdd", Icon32x32) );
  4827.         Set( "Perforce.OpenForAdd_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_ContentAdd", Icon16x16) );
  4828.         Set( "Perforce.CheckedOutByOtherUser", new IMAGE_BRUSH( "ContentBrowser/SCC_CheckedOutByOtherUser", Icon32x32) );
  4829.         Set( "Perforce.CheckedOutByOtherUser_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_CheckedOutByOtherUser", Icon16x16) );
  4830.         Set( "Perforce.NotAtHeadRevision", new IMAGE_BRUSH( "ContentBrowser/SCC_NotAtHeadRevision", Icon32x32) );
  4831.         Set( "Perforce.NotAtHeadRevision_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_NotAtHeadRevision", Icon16x16) );
  4832.         Set( "Perforce.NotInDepot", new IMAGE_BRUSH( "ContentBrowser/SCC_ContentMissing", Icon32x32) );
  4833.         Set( "Perforce.NotInDepot_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_ContentMissing", Icon16x16) );
  4834.     }
  4835. #endif // WITH_EDITOR || IS_PROGRAM
  4836.  
  4837.     // Subversion
  4838. #if WITH_EDITOR || IS_PROGRAM
  4839.     {
  4840.         Set( "Subversion.CheckedOut", new IMAGE_BRUSH( "ContentBrowser/SCC_CheckedOut", Icon32x32) );
  4841.         Set( "Subversion.CheckedOut_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_CheckedOut", Icon16x16) );
  4842.         Set( "Subversion.OpenForAdd", new IMAGE_BRUSH( "ContentBrowser/SCC_ContentAdd", Icon32x32) );
  4843.         Set( "Subversion.OpenForAdd_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_ContentAdd", Icon16x16) );
  4844.         Set( "Subversion.CheckedOutByOtherUser", new IMAGE_BRUSH( "ContentBrowser/SCC_CheckedOutByOtherUser", Icon32x32) );
  4845.         Set( "Subversion.CheckedOutByOtherUser_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_CheckedOutByOtherUser", Icon16x16) );
  4846.         Set( "Subversion.NotAtHeadRevision", new IMAGE_BRUSH( "ContentBrowser/SCC_NotAtHeadRevision", Icon32x32) );
  4847.         Set( "Subversion.NotAtHeadRevision_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_NotAtHeadRevision", Icon16x16) );
  4848.         Set( "Subversion.NotInDepot", new IMAGE_BRUSH( "ContentBrowser/SCC_ContentMissing", Icon32x32) );
  4849.         Set( "Subversion.NotInDepot_Small", new IMAGE_BRUSH( "ContentBrowser/SCC_ContentMissing", Icon16x16) );
  4850.     }
  4851. #endif // WITH_EDITOR || IS_PROGRAM
  4852.     }
  4853.  
  4854. void FSlateEditorStyle::FStyle::SetupAutomationStyles()
  4855. {
  4856.     //Automation
  4857. #if WITH_EDITOR || IS_PROGRAM
  4858.     {
  4859.         Set( "Automation.Header" , FTextBlockStyle(NormalText)
  4860.             .SetFont( TTF_FONT( "Fonts/DroidSansMono", 12 ) )
  4861.             .SetColorAndOpacity(FLinearColor(FColor(0xffffffff))) );
  4862.  
  4863.         Set( "Automation.Normal" , FTextBlockStyle(NormalText)
  4864.             .SetFont( TTF_FONT( "Fonts/DroidSansMono", 9 ) )
  4865.             .SetColorAndOpacity(FLinearColor(FColor(0xffaaaaaa))) );
  4866.  
  4867.         Set( "Automation.Warning", FTextBlockStyle(NormalText)
  4868.             .SetFont( TTF_FONT( "Fonts/DroidSansMono", 9 ) )
  4869.             .SetColorAndOpacity(FLinearColor(FColor(0xffbbbb44))) );
  4870.  
  4871.         Set( "Automation.Error"  , FTextBlockStyle(NormalText)
  4872.             .SetFont( TTF_FONT( "Fonts/DroidSansMono", 9 ) )
  4873.             .SetColorAndOpacity(FLinearColor(FColor(0xffff0000))) );
  4874.        
  4875.         //state of individual tests
  4876.         Set( "Automation.Success", new IMAGE_BRUSH( "Automation/Success", Icon16x16 ) );
  4877.         Set( "Automation.Warning", new IMAGE_BRUSH( "Automation/Warning", Icon16x16 ) );
  4878.         Set( "Automation.Fail", new IMAGE_BRUSH( "Automation/Fail", Icon16x16 ) );
  4879.         Set( "Automation.InProcess", new IMAGE_BRUSH( "Automation/InProcess", Icon16x16 ) );
  4880.         Set( "Automation.NotRun", new IMAGE_BRUSH( "Automation/NotRun", Icon16x16, FLinearColor(0.0f, 0.0f, 0.0f, 0.4f) ) );
  4881.         Set( "Automation.NotEnoughParticipants", new IMAGE_BRUSH( "Automation/NotEnoughParticipants", Icon16x16 ) );
  4882.         Set( "Automation.ParticipantsWarning", new IMAGE_BRUSH( "Automation/ParticipantsWarning", Icon16x16 ) );
  4883.         Set( "Automation.Participant", new IMAGE_BRUSH( "Automation/participant", Icon16x16 ) );
  4884.        
  4885.         //status as a regression test or not
  4886.         Set( "Automation.SmokeTest", new IMAGE_BRUSH( "Automation/SmokeTest", Icon16x16 ) );
  4887.         Set( "Automation.SmokeTestParent", new IMAGE_BRUSH( "Automation/SmokeTestParent", Icon16x16 ) );
  4888.  
  4889.         //run icons
  4890.         Set( "AutomationWindow.RunTests", new IMAGE_BRUSH( "Automation/RunTests", Icon40x40) );
  4891.         Set( "AutomationWindow.RefreshTests", new IMAGE_BRUSH( "Automation/RefreshTests", Icon40x40) );
  4892.         Set( "AutomationWindow.FindWorkers", new IMAGE_BRUSH( "Automation/RefreshWorkers", Icon40x40) );
  4893.         Set( "AutomationWindow.StopTests", new IMAGE_BRUSH( "Automation/StopTests", Icon40x40 ) );
  4894.         Set( "AutomationWindow.RunTests.Small", new IMAGE_BRUSH( "Automation/RunTests", Icon20x20) );
  4895.         Set( "AutomationWindow.RefreshTests.Small", new IMAGE_BRUSH( "Automation/RefreshTests", Icon20x20) );
  4896.         Set( "AutomationWindow.FindWorkers.Small", new IMAGE_BRUSH( "Automation/RefreshWorkers", Icon20x20) );
  4897.         Set( "AutomationWindow.StopTests.Small", new IMAGE_BRUSH( "Automation/StopTests", Icon20x20 ) );
  4898.  
  4899.         //filter icons
  4900.         Set( "AutomationWindow.ErrorFilter", new IMAGE_BRUSH( "Automation/ErrorFilter", Icon40x40) );
  4901.         Set( "AutomationWindow.WarningFilter", new IMAGE_BRUSH( "Automation/WarningFilter", Icon40x40) );
  4902.         Set( "AutomationWindow.SmokeTestFilter", new IMAGE_BRUSH( "Automation/SmokeTestFilter", Icon40x40) );
  4903.         Set( "AutomationWindow.DeveloperDirectoryContent", new IMAGE_BRUSH( "Automation/DeveloperDirectoryContent", Icon40x40) );
  4904.         Set( "AutomationWindow.VisualCommandlet", new IMAGE_BRUSH( "Automation/VisualCommandlet", Icon40x40) );
  4905.         Set( "AutomationWindow.ErrorFilter.Small", new IMAGE_BRUSH( "Automation/ErrorFilter", Icon20x20) );
  4906.         Set( "AutomationWindow.WarningFilter.Small", new IMAGE_BRUSH( "Automation/WarningFilter", Icon20x20) );
  4907.         Set( "AutomationWindow.SmokeTestFilter.Small", new IMAGE_BRUSH( "Automation/SmokeTestFilter", Icon20x20) );
  4908.         Set( "AutomationWindow.DeveloperDirectoryContent.Small", new IMAGE_BRUSH( "Automation/DeveloperDirectoryContent", Icon20x20) );
  4909.         Set( "AutomationWindow.VisualCommandlet.Small", new IMAGE_BRUSH( "Automation/VisualCommandlet", Icon20x20) );
  4910.     }
  4911.  
  4912.     // Launcher
  4913.     {
  4914.         Set( "Launcher.Instance_Commandlet", new IMAGE_BRUSH( "Launcher/Instance_Commandlet", Icon25x25 ) );
  4915.         Set( "Launcher.Instance_Editor", new IMAGE_BRUSH( "Launcher/Instance_Editor", Icon25x25 ) );
  4916.         Set( "Launcher.Instance_Game", new IMAGE_BRUSH( "Launcher/Instance_Game", Icon25x25 ) );
  4917.         Set( "Launcher.Instance_Other", new IMAGE_BRUSH( "Launcher/Instance_Other", Icon25x25 ) );
  4918.         Set( "Launcher.Instance_Server", new IMAGE_BRUSH( "Launcher/Instance_Server", Icon25x25 ) );
  4919.         Set( "Launcher.Instance_Unknown", new IMAGE_BRUSH( "Launcher/Instance_Unknown", Icon25x25 ) );
  4920.         Set( "LauncherCommand.DeployBuild", new IMAGE_BRUSH( "Launcher/Launcher_Deploy", Icon40x40 ) );
  4921.         Set( "LauncherCommand.QuickLaunch", new IMAGE_BRUSH( "Launcher/Launcher_Launch", Icon40x40 ) );
  4922.         Set( "LauncherCommand.Build", new IMAGE_BRUSH( "Launcher/Launcher_Build", Icon40x40 ) );
  4923.         Set( "LauncherCommand.AdvancedBuild", new IMAGE_BRUSH( "Launcher/Launcher_Advanced", Icon40x40 ) );
  4924.  
  4925. #if (WITH_EDITOR || (IS_PROGRAM && PLATFORM_DESKTOP))
  4926.         const TArray<ITargetPlatform*>& TargetPlatforms = GetTargetPlatformManager()->GetTargetPlatforms();
  4927.         for (int32 PlatformIdx = 0; PlatformIdx < TargetPlatforms.Num(); PlatformIdx++)
  4928.         {
  4929.             ITargetPlatform* TargetPlatform = TargetPlatforms[PlatformIdx];
  4930.             if (TargetPlatform)
  4931.             {
  4932.                 // Grab each icon name
  4933.                 FString PropertyName = FString::Printf(TEXT("Launcher.Platform_%s"), *(TargetPlatform->PlatformName()));
  4934.                 FString IconPath = TargetPlatform->GetIconPath(ETargetPlatformIcons::Normal);
  4935.                 Set( *PropertyName, new IMAGE_BRUSH( *IconPath, Icon24x24 ) );
  4936.  
  4937.                 PropertyName = FString::Printf(TEXT("Launcher.Platform_%s.Large"), *(TargetPlatform->PlatformName()));
  4938.                 IconPath = TargetPlatform->GetIconPath(ETargetPlatformIcons::Large);
  4939.                 Set( *PropertyName, new IMAGE_BRUSH( *IconPath, Icon64x64 ) );
  4940.  
  4941.                 PropertyName = FString::Printf(TEXT("Launcher.Platform_%s.XLarge"), *(TargetPlatform->PlatformName()));
  4942.                 IconPath = TargetPlatform->GetIconPath(ETargetPlatformIcons::XLarge);
  4943.                 Set( *PropertyName, new IMAGE_BRUSH( *IconPath, Icon128x128 ) );
  4944.             }
  4945.         }
  4946. #endif
  4947.     }
  4948.  
  4949.     // Device Manager
  4950.     {
  4951.         Set( "DeviceDetails.Claim", new IMAGE_BRUSH( "Icons/icon_DeviceClaim_40x", Icon40x40 ) );
  4952.         Set( "DeviceDetails.Claim.Small", new IMAGE_BRUSH( "Icons/icon_DeviceClaim_40x", Icon20x20 ) );
  4953.         Set( "DeviceDetails.Release", new IMAGE_BRUSH( "Icons/icon_DeviceRelease_40x", Icon40x40 ) );
  4954.         Set( "DeviceDetails.Release.Small", new IMAGE_BRUSH( "Icons/icon_DeviceRelease_40x", Icon20x20 ) );
  4955.         Set( "DeviceDetails.Share", new IMAGE_BRUSH( "Icons/icon_DeviceShare_40x", Icon40x40 ) );
  4956.         Set( "DeviceDetails.Share.Small", new IMAGE_BRUSH( "Icons/icon_DeviceShare_40x", Icon20x20 ) );
  4957.  
  4958.         Set( "DeviceDetails.PowerOn", new IMAGE_BRUSH( "Icons/icon_DevicePowerOn_40x", Icon40x40 ) );
  4959.         Set( "DeviceDetails.PowerOn.Small", new IMAGE_BRUSH( "Icons/icon_DevicePowerOn_40x", Icon20x20 ) );
  4960.         Set( "DeviceDetails.PowerOff", new IMAGE_BRUSH( "Icons/icon_DevicePowerOff_40x", Icon40x40 ) );
  4961.         Set( "DeviceDetails.PowerOff.Small", new IMAGE_BRUSH( "Icons/icon_DevicePowerOff_40x", Icon20x20 ) );
  4962.         Set( "DeviceDetails.Reboot", new IMAGE_BRUSH( "Icons/icon_DeviceReboot_40x", Icon40x40 ) );
  4963.         Set( "DeviceDetails.Reboot.Small", new IMAGE_BRUSH( "Icons/icon_DeviceReboot_40x", Icon20x20 ) );
  4964.  
  4965.         Set( "DeviceDetails.TabIcon", new IMAGE_BRUSH( "Icons/icon_tab_DeviceManager_16x", Icon16x16 ) );
  4966.         Set( "DeviceDetails.Tabs.Tools", new IMAGE_BRUSH( "/Icons/icon_tab_Tools_16x", Icon16x16 ) );
  4967.         Set( "DeviceDetails.Tabs.ProfileEditor", new IMAGE_BRUSH( "/Icons/icon_tab_SceneOutliner_16x", Icon16x16 ) );
  4968.     }
  4969.  
  4970.     // Settings Editor
  4971.     {
  4972.         Set( "SettingsEditor.Category_ContentEditors", new IMAGE_BRUSH( "Icons/icon_ViewMode_VisualisationGBuffer_40px", Icon40x40 ) );
  4973.         Set( "SettingsEditor.Category_Default", new IMAGE_BRUSH( "Icons/icon_MatEd_Sphere_40x", Icon40x40 ) );
  4974.         Set( "SettingsEditor.Category_Editor", new IMAGE_BRUSH( "Icons/icon_Cascade_RestartInLevel_40x", Icon40x40 ) );
  4975.         Set( "SettingsEditor.Category_Engine", new IMAGE_BRUSH( "Icons/icon_Cascade_RestartSim_40x", Icon40x40 ) );
  4976.         Set( "SettingsEditor.Category_Game", new IMAGE_BRUSH( "Icons/icon_MatEd_Realtime_40x", Icon40x40 ) );
  4977.         Set( "SettingsEditor.Category_LevelEditor", new IMAGE_BRUSH( "Icons/icon_volume_40x", Icon40x40 ) );
  4978.         Set( "SettingsEditor.Category_Project", new IMAGE_BRUSH( "Icons/icon_BlueprintEditor_Settings_40x", Icon40x40 ) );
  4979.         Set( "SettingsEditor.Category_Platforms", new IMAGE_BRUSH( "Icons/icon_PlayOnDevice_40px", Icon40x40 ) );
  4980.         Set( "SettingsEditor.Category_Plugins", new IMAGE_BRUSH( "Icons/Profiler/profiler_mem_40x", Icon40x40 ) );
  4981.         Set( "SettingsEditor.Collision_Engine", new IMAGE_BRUSH("Icons/icon_Cascade_RestartSim_40x", Icon16x16));
  4982.         Set( "SettingsEditor.Collision_Game", new IMAGE_BRUSH("Icons/icon_MatEd_Realtime_40x", Icon16x16));
  4983.  
  4984.         // Settings editor
  4985.         Set("SettingsEditor.GoodIcon", new IMAGE_BRUSH("Settings/Settings_Good", Icon40x40));
  4986.         Set("SettingsEditor.WarningIcon", new IMAGE_BRUSH("Settings/Settings_Warning", Icon40x40));
  4987.     }
  4988.  
  4989.     {
  4990.         // Navigation defaults
  4991.         const FLinearColor NavHyperlinkColor(0.03847f, 0.33446f, 1.0f);
  4992.         const FTextBlockStyle NavigationHyperlinkText = FTextBlockStyle(NormalText)
  4993.             .SetFont(TTF_CORE_FONT("Fonts/Roboto-Regular", 12))
  4994.             .SetColorAndOpacity(NavHyperlinkColor);
  4995.  
  4996.         const FButtonStyle NavigationHyperlinkButton = FButtonStyle()
  4997.             .SetNormal(BORDER_BRUSH("Old/HyperlinkDotted", FMargin(0, 0, 0, 3 / 16.0f), NavHyperlinkColor))
  4998.             .SetPressed(FSlateNoResource())
  4999.             .SetHovered(BORDER_BRUSH("Old/HyperlinkUnderline", FMargin(0, 0, 0, 3 / 16.0f), NavHyperlinkColor));
  5000.  
  5001.         FHyperlinkStyle NavigationHyperlink = FHyperlinkStyle()
  5002.             .SetUnderlineStyle(NavigationHyperlinkButton)
  5003.             .SetTextStyle(NavigationHyperlinkText)
  5004.             .SetPadding(FMargin(0.0f));
  5005.  
  5006.         Set("NavigationHyperlink", NavigationHyperlink);
  5007.     }
  5008.  
  5009. #endif // WITH_EDITOR || IS_PROGRAM
  5010.  
  5011.     // External image picker
  5012.     {
  5013.         Set("ExternalImagePicker.BlankImage", new IMAGE_BRUSH( "Icons/BlankIcon", Icon16x16 ) );
  5014.         Set("ExternalImagePicker.PickImageButton", new IMAGE_BRUSH( "Icons/ellipsis_12x", Icon12x12 ) );
  5015.     }
  5016. }
  5017.  
  5018. #undef IMAGE_BRUSH
  5019. #undef BOX_BRUSH
  5020. #undef BORDER_BRUSH
  5021. #undef TTF_FONT
  5022. #undef TTF_CORE_FONT
  5023. #undef OTF_FONT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement