TSharedRef<ITableRow> FLightmapCustomNodeBuilder::MakeLightMapListViewWidget(TSharedPtr<FLightmapItem> LightMapItem, const TSharedRef<STableViewBase>& OwnerTable) { if ( !ensure(LightMapItem.IsValid()) ) { return SNew( STableRow<TSharedPtr<FLightmapItem>>, OwnerTable ); } const uint32 ThumbnailResolution = 64; const uint32 ThumbnailBoxPadding = 4; UObject* LightMapObject = FindObject<UObject>(NULL, *LightMapItem->ObjectPath); FAssetData LightMapAssetData(LightMapObject); FAssetThumbnailConfig ThumbnailConfig; ThumbnailConfig.bAllowFadeIn = true; return SNew( STableRow<TSharedPtr<FLightmapItem>>, OwnerTable ) .Style(FEditorStyle::Get(), "ContentBrowser.AssetListView.TableRow") [ SNew(SHorizontalBox) // Viewport +SHorizontalBox::Slot() .AutoWidth() .VAlign(VAlign_Center) [ SNew( SBox ) .WidthOverride( ThumbnailResolution + ThumbnailBoxPadding * 2 ) .HeightOverride( ThumbnailResolution + ThumbnailBoxPadding * 2 ) [ // Drop shadow border SNew(SBorder) .Padding(ThumbnailBoxPadding) .BorderImage( FEditorStyle::GetBrush("ContentBrowser.ThumbnailShadow") ) [ LightMapItem->Thumbnail->MakeThumbnailWidget(ThumbnailConfig) ] ] ] +SHorizontalBox::Slot() .AutoWidth() .Padding(6, 0, 0, 0) .VAlign(VAlign_Center) [ SNew(SVerticalBox) +SVerticalBox::Slot() .AutoHeight() .Padding(0, 1) [ SNew(STextBlock) .Font(FEditorStyle::GetFontStyle("ContentBrowser.AssetTileViewNameFont")) .Text( FText::FromName(LightMapAssetData.AssetName) ) ] +SVerticalBox::Slot() .AutoHeight() .Padding(0, 1) [ // Class SNew(STextBlock) .Font(FEditorStyle::GetFontStyle("ContentBrowser.AssetListViewClassFont")) .Text(FText::FromName(LightMapAssetData.AssetClass)) ] ] ]; }
TSharedRef<SWidget> FLightmapCustomNodeBuilder::MakeLightMapList(TSharedPtr<FLightmapItem> LightMapItem) { if ( !ensure(LightMapItem.IsValid()) ) { return SNullWidget::NullWidget; } const uint32 ThumbnailResolution = 64; const uint32 ThumbnailBoxPadding = 4; UObject* LightMapObject = FindObject<UObject>(NULL, *LightMapItem->ObjectPath); FAssetData LightMapAssetData(LightMapObject); FAssetThumbnailConfig ThumbnailConfig; ThumbnailConfig.bAllowFadeIn = true; TWeakPtr<FLightmapItem> LightmapWeakPtr = LightMapItem; return SNew(SBorder) .BorderImage(nullptr) .Padding(0.0f) .OnMouseButtonUp(this, &FLightmapCustomNodeBuilder::OnMouseButtonUp, LightmapWeakPtr) .OnMouseDoubleClick(this, &FLightmapCustomNodeBuilder::OnLightMapListMouseButtonDoubleClick, LightmapWeakPtr) [ SNew(SHorizontalBox) // Viewport +SHorizontalBox::Slot() .AutoWidth() .VAlign(VAlign_Center) [ SNew( SBox ) .WidthOverride( ThumbnailResolution + ThumbnailBoxPadding * 2 ) .HeightOverride( ThumbnailResolution + ThumbnailBoxPadding * 2 ) [ // Drop shadow border SNew(SBorder) .Padding(ThumbnailBoxPadding) .BorderImage( FEditorStyle::GetBrush("ContentBrowser.ThumbnailShadow") ) [ LightMapItem->Thumbnail->MakeThumbnailWidget(ThumbnailConfig) ] ] ] +SHorizontalBox::Slot() .AutoWidth() .Padding(6, 0, 0, 0) .VAlign(VAlign_Center) [ SNew(SVerticalBox) +SVerticalBox::Slot() .AutoHeight() .Padding(0, 1) [ SNew(STextBlock) .Font(IDetailLayoutBuilder::GetDetailFont()) .Text(FText::FromName(LightMapAssetData.AssetName) ) ] +SVerticalBox::Slot() .AutoHeight() .Padding(0, 1) [ // Class SNew(STextBlock) .Font(IDetailLayoutBuilder::GetDetailFont()) .Text(FText::FromName(LightMapAssetData.AssetClass)) ] ] ]; }