Example #1
0
void CMailView::UpdateCaptionText ()
{
	CBCGPOrganizerDoc* pDoc = GetDocument ();
	if (pDoc == NULL || pDoc->GetMode () != CBCGPOrganizerDoc::e_ModeMail)
	{
		return;
	}

	CMainFrame* pFrame = DYNAMIC_DOWNCAST(CMainFrame, AfxGetMainWnd ());

	if (pFrame != NULL)
	{
		CString str;
		CBCGPGridCtrl* pGridCtrl = GetGridCtrl ();
		if (pGridCtrl != NULL)
		{
			CBCGPGridRow* pRow = pGridCtrl->GetCurSel ();
			if (pRow != NULL && !pRow->IsGroup ())
			{
				str = _T("From: ") + pRow->GetItem (3)->FormatItem ();
				str += _T("; Subject: ") + pRow->GetItem (4)->FormatItem ();
			}
		}

		if (str.IsEmpty ())
		{
			str = _T(" ");
		}

		pFrame->SetCaptionText (str);
	}
}
//**********************************************************************
void CBCGPRibbonCustomizeRibbonPage::RebuildDestTree(DWORD_PTR dwNewSel, BOOL bExpandSel)
{
#ifndef BCGP_EXCLUDE_GRID_CTRL
	if (dwNewSel == 0)
	{
		CBCGPGridRow* pRow = m_wndRibbonTreeDest.GetCurSel();
		if (pRow != NULL)
		{
			dwNewSel = pRow->GetData();
		}
	}
	
	m_wndRibbonTreeDest.SetRedraw(FALSE);

	m_wndRibbonTreeDest.RebuildItems(m_bNoContextCategories ? 1 : m_nRibbonTabsDest, m_strMainTabs);

	if (dwNewSel != 0)
	{
		CBCGPGridRow* pRow = m_wndRibbonTreeDest.FindRowByData(dwNewSel);
		if (pRow != NULL)
		{
			if (bExpandSel && pRow->IsGroup())
			{
				pRow->Expand();
			}

			m_wndRibbonTreeDest.SetCurSel(pRow, FALSE);
			m_wndRibbonTreeDest.EnsureVisible(pRow, TRUE);
		}
	}

	m_wndRibbonTreeDest.SetRedraw();
	m_wndRibbonTreeDest.RedrawWindow();
#endif
}
//**********************************************************************
int CBCGPRibbonCustomizeRibbonPage::GetNewPanelIndex()
{
#ifndef BCGP_EXCLUDE_GRID_CTRL
	// Calculate destination index:

	if (m_pSelCategoryDest != NULL)
	{
		int nVisiblePanels = 0;

		for (int i = 0; i < m_pSelCategoryDest->GetPanelCount(); i++)
		{
			CBCGPRibbonPanel* pPanel = m_pSelCategoryDest->GetPanel(i);
			if (pPanel != NULL && !pPanel->m_bToBeDeleted)
			{
				nVisiblePanels++;
			}
		}

		return nVisiblePanels - 1;
	}

	CBCGPRibbonPanel* pCurrPanelDest = m_pSelPanelDest;
	if (pCurrPanelDest == NULL && m_pSelElemDest != NULL)
	{
		pCurrPanelDest = m_pSelElemDest->GetParentPanel();
	}

	if (pCurrPanelDest != NULL)
	{
		for (int i = 0; i < m_wndRibbonTreeDest.GetRowCount(); i++)
		{
			CBCGPGridRow* pRow = m_wndRibbonTreeDest.GetRow(i);
			ASSERT_VALID(pRow);

			if (pRow->GetParent() != NULL && pRow->IsGroup())
			{
				if (pRow->GetData() == (DWORD_PTR)pCurrPanelDest)
				{
					int nCurIndex = m_CustomizationData.GetPanelIndex(pCurrPanelDest);
					ASSERT(nCurIndex >= 0);

					return nCurIndex + 1;
				}
			}
		}
	}
#endif
	return -1;
}
//**********************************************************************
void CBCGPRibbonCustomizeRibbonPage::MoveItem (BOOL bMoveUp) 
{
#ifndef BCGP_EXCLUDE_GRID_CTRL
	int nOffset = bMoveUp ? - 1: 1;

	BOOL bIsSelExpanded = FALSE;
	CBCGPGridRow* pRow = m_wndRibbonTreeDest.GetCurSel();
	if (pRow != NULL && pRow->IsGroup())
	{
		bIsSelExpanded = pRow->IsExpanded();
	}

	if (m_pSelCategoryDest != NULL)
	{
		ASSERT_VALID(m_pSelCategoryDest);

		if (m_pSelCategoryDest->IsCustom())
		{
			UINT nContextID = m_wndRibbonTreeDest.GetContextID(pRow, nOffset);
			m_CustomizationData.SetTabContextID(m_pSelCategoryDest, nContextID);
		}

		m_CustomizationData.SetTabIndex(m_pSelCategoryDest, m_CustomizationData.GetTabIndex(m_pSelCategoryDest) + nOffset);
	}
	else if (m_pSelPanelDest != NULL)
	{
		ASSERT_VALID(m_pSelPanelDest);

		int nCurIndex = m_CustomizationData.GetPanelIndex(m_pSelPanelDest);
		ASSERT(nCurIndex >= 0);

		m_CustomizationData.SetPanelIndex(m_pSelPanelDest, nCurIndex + nOffset);
	}
	else if (m_pSelElemDest != NULL)
	{
		ASSERT_VALID(m_pSelElemDest);
		m_CustomizationData.MoveElement(m_pSelElemDest, nOffset);
	}

	RebuildDestTree();

	pRow = m_wndRibbonTreeDest.GetCurSel();
	if (bIsSelExpanded && pRow != NULL)
	{
		pRow->Expand();
	}
#endif
}
//**********************************************************************
void CBCGPRibbonCustomizeRibbonPage::OnSelendokRibbonTabsDest() 
{
#ifndef BCGP_EXCLUDE_GRID_CTRL
	UpdateData();

	RebuildDestTree();

	CBCGPGridRow* pRow = m_wndRibbonTreeDest.FindRowByData((DWORD_PTR)m_pRibbonBar->GetActiveCategory());
	if (pRow != NULL)
	{
		m_wndRibbonTreeDest.SetCurSel(pRow);

		if (pRow->IsGroup())
		{
			pRow->Expand();
		}
	}
#endif
}
Example #6
0
LRESULT CMailView::OnOpen (WPARAM /*wParam*/, LPARAM /*lParam*/)
{
	CBCGPGridRow* pRow = GetGridCtrl ()->GetCurSel ();

	if (pRow == NULL || pRow->IsGroup ())
	{
		return 0L;
	}

	CMailFrame frame (*pRow, TRUE, this);
	if (frame.DoModal () != IDOK)
	{
		if (frame.IsDeleted ())
		{
			PostMessage (WM_COMMAND, ID_MAIL_REMOVE, 0);
		}
	}

	return 0L;
}
Example #7
0
void CMailView::OnUpdateDelete(CCmdUI* pCmdUI)
{
	CBCGPGridRow* pRow = GetGridCtrl ()->GetCurSel ();
	pCmdUI->Enable (pRow != NULL && !pRow->IsGroup ());
}