void SDetailsViewBase::HighlightProperty(const FPropertyPath& Property)
{
	auto PrevHighlightedNodePtr = CurrentlyHighlightedNode.Pin();
	if (PrevHighlightedNodePtr.IsValid())
	{
		PrevHighlightedNodePtr->SetIsHighlighted(false);
	}

	auto NextNodePtr = FindTreeNodeFromPropertyRecursive( RootTreeNodes, Property );
	if (NextNodePtr.IsValid())
	{
		NextNodePtr->SetIsHighlighted(true);
		auto ParentCategory = NextNodePtr->GetParentCategory();
		if (ParentCategory.IsValid())
		{
			DetailTree->SetItemExpansion(ParentCategory.ToSharedRef(), true);
		}
		DetailTree->RequestScrollIntoView(NextNodePtr.ToSharedRef());
	}
	CurrentlyHighlightedNode = NextNodePtr;
}
//***************************************************************************
CSize CBCGPRibbonQuickStepsButton::GetItemSize () const
{
    CBCGPRibbonQuickStepsButton* pOrigButton = DYNAMIC_DOWNCAST(CBCGPRibbonQuickStepsButton, m_pOriginal);

    if (pOrigButton != NULL)
    {
        ASSERT_VALID (pOrigButton);
        return pOrigButton->GetItemSize();
    }

    CSize size = GetIconSize();

    CBCGPRibbonCategory* pParent = GetParentCategory();
    if (pParent != NULL)
    {
        ASSERT_VALID(pParent);

        size.cx += pParent->GetImageSize(TRUE).cx * 3;
        size.cy += 4;
    }

    return size;
}