checkbox in detail panel

Hi,

Why does the Details panel don’t show up my checkbox ? It’s base on FMobilityCustomization :

MyPanelToolBar.h

#include "Editor/PropertyEditor/Public/DetailCategoryBuilder.h"
#include "Editor/PropertyEditor/Public/IDetailCustomization.h"
#include "Editor/PropertyEditor/Public/DetailLayoutBuilder.h"

#include "Widgets/Layout/SUniformGridPanel.h"
   
#include "MyPanel.h"

#pragma once

class FToolBarBuilder;
class FMyPanelDetails;
enum class ECheckBoxState : uint8;

class FMyPanelToolBar : public TSharedFromThis<FMyPanelToolBar>
{
public:
	void CreateToolBar(IDetailLayoutBuilder& DetailBuilder, IDetailPropertyRow& ToolbarRow);
	FText GetToolBarToolTip() const;
	ECheckBoxState IsMobilityActive() const;
	void OnMobilityChanged(ECheckBoxState InCheckedState);
	FSlateColor GetMobilityTextColor() const;

private:
	TSharedPtr<IPropertyHandle> ToolbarHandle;
};

MyPanelToolBar.cpp

#include "MyPanelEditor.h"

#include "MyPanelToolBar.h"

#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Widgets/SBoxPanel.h"
#include "Styling/SlateTypes.h"
#include "Widgets/Images/SImage.h"
#include "Widgets/Text/STextBlock.h"
#include "Widgets/Layout/SUniformGridPanel.h"
#include "Widgets/Input/SCheckBox.h"
#include "EditorStyleSet.h"
#include "DetailLayoutBuilder.h"
#include "DetailWidgetRow.h"
#include "IDetailPropertyRow.h"
#include "DetailCategoryBuilder.h"

#define LOCTEXT_NAMESPACE "MyPanelToolBar"

void FMyPanelToolBar::CreateToolBar(IDetailLayoutBuilder& DetailBuilder, IDetailPropertyRow& ToolbarRow)
{
	TSharedPtr<SUniformGridPanel> ButtonOptionsPanel;

	ToolbarHandle = DetailBuilder.GetProperty(TEXT("MyPanelTools"));

	ToolbarRow.CustomWidget()
		.NameContent()
		[
			SNew(STextBlock)
				.Text(LOCTEXT("Mobility", "Mobility"))
				.ToolTipText(this, &FMyPanelToolBar::GetToolBarToolTip)
				.Font(IDetailLayoutBuilder::GetDetailFont())
		]
		.ValueContent()
		.MaxDesiredWidth(0)
		[
			SAssignNew(ButtonOptionsPanel, SUniformGridPanel)
		];

	int32 ColumnIndex = 0;

	FText StaticTooltip = LOCTEXT("Mobility_Static_Tooltip", "A static object can't be changed in game.\n* Allows Baked Lighting\n* Fastest Rendering");

	// Static Mobility
	ButtonOptionsPanel->AddSlot(0, 0)
	[
		SNew(SCheckBox)
			.Style(FEditorStyle::Get(), "Property.ToggleButton.Start")
			.IsChecked(this, &FMyPanelToolBar::IsMobilityActive)
			.OnCheckStateChanged(this, &FMyPanelToolBar::OnMobilityChanged)
			.ToolTipText(StaticTooltip)
			[
				SNew(SHorizontalBox)
				+ SHorizontalBox::Slot()
					.AutoWidth()
					.VAlign(VAlign_Center)
					.Padding(3, 2)
					[
						SNew(SImage)
							.Image(FEditorStyle::GetBrush("Mobility.Static"))
					]
				+ SHorizontalBox::Slot()
					.FillWidth(1.0f)
					.VAlign(VAlign_Center)
					.HAlign(HAlign_Center)
					.Padding(6, 2)
					[
						SNew(STextBlock)
							.Text(LOCTEXT("Static", "Static"))
							.Font(IDetailLayoutBuilder::GetDetailFont())
							.ColorAndOpacity(this, &FMyPanelToolBar::GetMobilityTextColor)
					]
			]
	];

	ColumnIndex++;
}


FText FMyPanelToolBar::GetToolBarToolTip() const
{
	if (ToolbarHandle.IsValid())
	{
		return ToolbarHandle->GetToolTipText();
	}

	return FText::GetEmpty();
}

ECheckBoxState FMyPanelToolBar::IsMobilityActive() const
{
	if (ToolbarHandle.IsValid())
	{
		uint8 MobilityByte;
		ToolbarHandle->GetValue(MobilityByte);

		return MobilityByte == 0 ? ECheckBoxState::Unchecked : ECheckBoxState::Checked;// == InMobility ? ECheckBoxState::Checked : ECheckBoxState::Unchecked;
	}

	return ECheckBoxState::Unchecked;
}

void FMyPanelToolBar::OnMobilityChanged(ECheckBoxState InCheckedState)
{
	if (ToolbarHandle.IsValid())
	{
		ToolbarHandle->SetValue((float)InCheckedState);
	}
}


FSlateColor FMyPanelToolBar::GetMobilityTextColor() const
{
	if (ToolbarHandle.IsValid())
	{
		uint8 MobilityByte;
		ToolbarHandle->GetValue(MobilityByte);

		return MobilityByte ? FSlateColor(FLinearColor(0, 0, 0)) : FSlateColor(FLinearColor(0.72f, 0.72f, 0.72f, 1.f));
	}

	return FSlateColor(FLinearColor(0.72f, 0.72f, 0.72f, 1.f));
}

#undef LOCTEXT_NAMESPACE