BOOL  CXTPRibbonControlTab::OnSetSelected(int bSelected)
{
	if (bSelected == m_bSelected)
		return FALSE;

	if (IsKeyboardSelected(bSelected) && !GetRibbonBar()->IsRibbonMinimized())
		m_pParent->SetPopuped(-1);

	m_bSelected = bSelected;

	m_pParent->OnControlSelected(bSelected, this);

	if (IsKeyboardSelected(bSelected))
	{
		SetFocused(TRUE);
	}

	if (!bSelected)
	{
		SetFocused(FALSE);
		PerformMouseMove(m_pParent->GetSafeHwnd(), CPoint(-1, -1));
	}
	else
	{
		AccessibleNotifyWinEvent(EVENT_OBJECT_FOCUS , GetParent()->GetSafeHwnd(), GetID(), GetCurSel() + 1);
	}

	return TRUE;
}
BOOL CXTPRibbonGroupControlPopup::OnSetPopup(BOOL bPopup)
{
    m_bPopup = bPopup;
    if (bPopup)
    {
        CMDTARGET_RELEASE(m_pCommandBar);

        CXTPCommandBars* pCommandBars = m_pParent->GetCommandBars();
        ASSERT(pCommandBars);

        if (!m_pPopupGroup)
        {
            m_pCommandBar = new CXTPPopupToolBar();
            m_pCommandBar->SetCommandBars(pCommandBars);
            m_pCommandBar->Popup(this, IsKeyboardSelected(GetSelected()));
        }
        else
        {

            m_pCommandBar = new CXTPRibbonGroupPopupToolBar(m_pPopupGroup);
            m_pCommandBar->SetCommandBars(pCommandBars);

            m_pCommandBar->EnableCustomization(FALSE);
            m_pCommandBar->Popup(this, IsKeyboardSelected(GetSelected()));
        }
    }
    else
    {
        ASSERT(m_pCommandBar);
        if (m_pCommandBar) m_pCommandBar->SetTrackingMode(FALSE);

    }
    RedrawParent();
    return TRUE;
}
BOOL CXTPRibbonControlTab::OnSetPopup(BOOL bPopup)
{
	m_bPopup = bPopup;
	if (bPopup)
	{
		ASSERT(GetSelectedItem());
		CXTPRibbonTab* pSelectedTab = (CXTPRibbonTab*)GetSelectedItem();
		if (!pSelectedTab || !GetRibbonBar()->IsRibbonMinimized())
		{
			m_bPopup = FALSE;
			return FALSE;
		}

		if (m_pCommandBar)
			m_pCommandBar->InternalRelease();

		CXTPCommandBars* pCommandBars = GetRibbonBar()->GetCommandBars();
		ASSERT(pCommandBars);

		m_pCommandBar = GetRibbonBar()->CreateTabPopupToolBar(pSelectedTab);
		m_pCommandBar->SetCommandBars(pCommandBars);

		m_pCommandBar->EnableCustomization(FALSE);
		m_pCommandBar->Popup(this, IsKeyboardSelected(GetSelected()));
	}
	else if (m_pCommandBar)
	{
		ASSERT(m_pCommandBar);
		m_pCommandBar->SetTrackingMode(FALSE);
	}
	RedrawParent();
	return TRUE;
}