//******************************************************************************** CBCGPBaseRibbonElement* CBCGPRibbonBackstageViewPanel::MouseButtonDown (CPoint point) { CBCGPBaseRibbonElement* pHit = CBCGPRibbonMainPanel::MouseButtonDown (point); if (pHit == NULL || pHit->IsDisabled()) { return NULL; } if (!m_rectPageTransition.IsRectEmpty()) { StopPageTransition(); OnPageTransitionFinished(); if (pHit->GetRect().PtInRect(point)) { SelectView(pHit); return pHit; } return NULL; } m_bSelectedByMouseClick = TRUE; SelectView(pHit); return pHit; }
//****************************************************************************** void CBCGPRibbonQuickStep::CopyFrom(const CBCGPBaseRibbonElement& src) { ASSERT_VALID(this); CBCGPRibbonPaletteIcon::CopyFrom(src); m_bIsDisabled = src.IsDisabled(); }
//******************************************************************************** void CBCGPRibbonButtonsGroup::OnDraw (CDC* pDC) { ASSERT_VALID (this); ASSERT_VALID (pDC); if (m_rect.IsRectEmpty ()) { return; } //----------------------- // Fill group background: //----------------------- COLORREF clrText = CBCGPVisualManager::GetInstance ()->OnDrawRibbonButtonsGroup ( pDC, this, m_rect); COLORREF clrTextOld = (COLORREF)-1; if (clrText != (COLORREF)-1) { clrTextOld = pDC->SetTextColor (clrText); } for (int i = 0; i < m_arButtons.GetSize (); i++) { CBCGPBaseRibbonElement* pButton = m_arButtons [i]; ASSERT_VALID (pButton); if (pButton->m_rect.IsRectEmpty ()) { continue; } CString strText = pButton->m_strText; BOOL bIsDisabled = pButton->IsDisabled(); if ((IsQAT() || m_bIsRibbonTabElements) && pButton->m_pRibbonBar != NULL && pButton->m_pRibbonBar->IsBackstageViewActive()) { pButton->m_bIsDisabled = TRUE; } if (pButton->GetImageSize (CBCGPBaseRibbonElement::RibbonImageSmall) != CSize (0, 0)) { pButton->m_strText.Empty (); } pButton->OnDraw (pDC); pButton->m_strText = strText; pButton->m_bIsDisabled = bIsDisabled; } if (clrTextOld != (COLORREF)-1) { pDC->SetTextColor (clrTextOld); } }
//******************************************************************************** void CBCGPRibbonBackstageViewPanel::Repos (CDC* pDC, const CRect& rect) { CBCGPRibbonMainPanel::Repos(pDC, rect); if (m_pSelected == NULL && !m_bIsCalcWidth) { CBCGPRibbonPanelMenuBar* pMenuBar = DYNAMIC_DOWNCAST(CBCGPRibbonPanelMenuBar, GetParentWnd()); if (pMenuBar != NULL) { CFrameWnd* pTarget = (CFrameWnd*) pMenuBar->GetCommandTarget (); if (pTarget == NULL || !pTarget->IsFrameWnd()) { pTarget = BCGPGetParentFrame(pMenuBar); } if (pTarget != NULL) { pMenuBar->OnUpdateCmdUI(pTarget, TRUE); } } if (m_pMainButton != NULL) { ASSERT_VALID(m_pMainButton); if (m_pMainButton->GetParentRibbonBar () != NULL) { ASSERT_VALID (m_pMainButton->GetParentRibbonBar ()); int nInitialPage = m_pMainButton->GetParentRibbonBar ()->GetInitialBackstagePage(); int nDefaultPage = m_pMainButton->GetParentRibbonBar ()->GetDefaultBackstagePage(); int nStartPage = (nInitialPage == -1) ? nDefaultPage : nInitialPage; if (nStartPage >= 0) { int nPage = 0; for (int i = 0; i < m_arElements.GetSize (); i++) { CBCGPBaseRibbonElement* pElem = m_arElements [i]; ASSERT_VALID (pElem); if (pElem->GetBackstageAttachedView() != NULL) { if (nPage == nStartPage) { if (!pElem->IsDisabled()) { m_pSelected = pElem; m_pSelected->m_bIsChecked = TRUE; } break; } nPage++; } } } } } if (m_pSelected == NULL) { for (int i = 0; i < m_arElements.GetSize (); i++) { CBCGPBaseRibbonElement* pElem = m_arElements [i]; ASSERT_VALID (pElem); if (!pElem->IsDisabled() && pElem->GetBackstageAttachedView() != NULL) { m_pSelected = pElem; m_pSelected->m_bIsChecked = TRUE; break; } } } if (m_pHighlighted == NULL) { m_pHighlighted = m_pSelected; } } m_rectRight = rect; m_rectRight.left = m_rectMenuElements.right; m_rectRight.top -= m_nScrollOffset; if (m_bIsCalcWidth) { return; } AdjustScrollBars(); ReposActiveForm(); }