//*****************************************************************************
void CBCGPRibbonButtonsGroup::CopyFrom (const CBCGPBaseRibbonElement& s)
{
	ASSERT_VALID (this);

	CBCGPBaseRibbonElement::CopyFrom (s);

	CBCGPRibbonButtonsGroup& src = (CBCGPRibbonButtonsGroup&) s;

	RemoveAll ();

	for (int i = 0; i < src.m_arButtons.GetSize (); i++)
	{
		CBCGPBaseRibbonElement* pSrcElem = src.m_arButtons [i];
		ASSERT_VALID (pSrcElem);

		CBCGPBaseRibbonElement* pElem =
			(CBCGPBaseRibbonElement*) pSrcElem->GetRuntimeClass ()->CreateObject ();
		ASSERT_VALID (pElem);

		pElem->CopyFrom (*pSrcElem);

		m_arButtons.Add (pElem);
	}

	src.m_Images.CopyTo (m_Images);
	src.m_HotImages.CopyTo (m_HotImages);
	src.m_DisabledImages.CopyTo (m_DisabledImages);
}