Esempio n. 1
0
void CUndoBar::DoUndo ()
{
	CUndoButton* pUndoButton = GetParentButton ();
	ASSERT_VALID (pUndoButton);

	pUndoButton->m_nSelNum = m_wndList.GetSelCount () + 1;
	
	CMDIChildWnd* pChildFrame = ((CMDIFrameWnd*)GetTopLevelFrame())->MDIGetActive();

	if (pChildFrame)
	{
		CView* pView = pChildFrame->GetActiveView();

		if (pView &&
			pView->IsKindOf(RUNTIME_CLASS(CBCGPVisualStudioGUIDemoView)))
		{
			((CBCGPVisualStudioGUIDemoView*)pView)->DoUndo(pUndoButton);
		}
		else
		{
			ASSERT(FALSE);
		}
	}
	else
	{
		ASSERT(FALSE);
	}

	GetParent ()->PostMessage (WM_CLOSE);
}
Esempio n. 2
0
int CUndoBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CMFCPopupMenuBar::OnCreate(lpCreateStruct) == -1)
		return -1;

	CFont* pMenuFont = (CFont*) &CMFCMenuBar::GetMenuFont();

	// Set label height:
	CClientDC dc(this);
	CFont* pOldFont = dc.SelectObject(pMenuFont);

	TEXTMETRIC tm;
	dc.GetTextMetrics(&tm);

	m_nLabelHeight = tm.tmHeight + 2;

	dc.SelectObject(pOldFont);

	CRect rectDummy(0, 0, 0, 0);
	m_wndList.Create(WS_VISIBLE | WS_CHILD | LBS_NOINTEGRALHEIGHT | LBS_NOTIFY | WS_VSCROLL | LBS_MULTIPLESEL, rectDummy, this, ID_LIST);
	m_wndList.ModifyStyleEx(0, WS_EX_CLIENTEDGE);

	m_wndList.SetFont(pMenuFont);

	CUndoButton* pUndoButton = GetParentButton();
	ASSERT_VALID(pUndoButton);

	for (POSITION pos = pUndoButton->m_lstActions.GetHeadPosition(); pos != NULL;)
	{
		m_wndList.AddString(pUndoButton->m_lstActions.GetNext(pos));
	}

	return 0;
}
Esempio n. 3
0
void CUndoBar::DoUndo()
{
	CUndoButton* pUndoButton = GetParentButton();
	ASSERT_VALID(pUndoButton);

	pUndoButton->m_nSelNum = m_wndList.GetSelCount() + 1;

	CMDIChildWnd* pChildFrame = ((CMDIFrameWndEx*)GetTopLevelFrame())->MDIGetActive();
	if (pChildFrame)
	{
		CEditView* pView = DYNAMIC_DOWNCAST(CEditView, pChildFrame->GetActiveView());
		if (pView != NULL)
		{
			//pView->OnEditUndo(); TODO
		}
		else
		{
			ASSERT(FALSE);
		}
	}
	else
	{
		ASSERT(FALSE);
	}

	GetParent()->PostMessage(WM_CLOSE);
}
Esempio n. 4
0
//*************************************************************************************
CBCGPControlBar* CColorPopup::CreateTearOffBar (CFrameWnd* pWndMain, UINT uiID, LPCTSTR lpszName)
{
	ASSERT_VALID (pWndMain);
	ASSERT (lpszName != NULL);
	ASSERT (uiID != 0);

	CBCGPColorMenuButton* pColorMenuButton = 
		DYNAMIC_DOWNCAST (CBCGPColorMenuButton, GetParentButton ());
	if (pColorMenuButton == NULL)
	{
		ASSERT (FALSE);
		return NULL;
	}

	CBCGPColorBar* pColorBar = new CBCGPColorBar (m_wndColorBar, pColorMenuButton->m_nID);

	if (!pColorBar->Create (pWndMain,
		dwDefaultToolbarStyle,
		uiID))
	{
		TRACE0 ("Failed to create a new toolbar!\n");
		delete pColorBar;
		return NULL;
	}

	pColorBar->SetWindowText (lpszName);
	pColorBar->SetBarStyle (pColorBar->GetBarStyle () |
		CBRS_TOOLTIPS | CBRS_FLYBY);
	pColorBar->EnableDocking (CBRS_ALIGN_ANY);

	return pColorBar;
}