130 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| // FrontEndView.cpp : implementation of the CFrontEndView class
 | |
| //
 | |
| 
 | |
| #include "StdAfx.h"
 | |
| 
 | |
| #include "FrontEnd.h"
 | |
| #include "FrontDoc.h"
 | |
| #include "FrontVw.h"
 | |
| #include "StatDlg.h"
 | |
| #include "Tracing.h"
 | |
| 
 | |
| #ifdef _DEBUG
 | |
| #define new DEBUG_NEW
 | |
| #undef THIS_FILE
 | |
| static char THIS_FILE[] = __FILE__;
 | |
| #endif
 | |
| 
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| // CFrontEndView
 | |
| 
 | |
| IMPLEMENT_DYNCREATE(CFrontEndView, CTreeView)
 | |
| 
 | |
| BEGIN_MESSAGE_MAP(CFrontEndView, CTreeView)
 | |
| 	//{{AFX_MSG_MAP(CFrontEndView)
 | |
| 	ON_UPDATE_COMMAND_UI(ID_FILE_SAVE_AS, OnUpdateFileSaveAs)
 | |
| 	ON_COMMAND(ID_EDIT_CLEAR_ALL, OnEditClearAll)
 | |
| 	ON_UPDATE_COMMAND_UI(ID_EDIT_CLEAR_ALL, OnUpdateEditClearAll)
 | |
| 	ON_COMMAND(ID_VIEW_TRACE, OnViewTrace)
 | |
| 	ON_UPDATE_COMMAND_UI(ID_VIEW_TRACE, OnUpdateViewTrace)
 | |
| 	ON_COMMAND(ID_VIEW_STATUS, OnViewStatus)
 | |
| 	ON_UPDATE_COMMAND_UI(ID_VIEW_STATUS, OnUpdateViewStatus)
 | |
| 	//}}AFX_MSG_MAP
 | |
| END_MESSAGE_MAP()
 | |
| 
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| // CFrontEndView construction/destruction
 | |
| 
 | |
| CFrontEndView::CFrontEndView()
 | |
| {
 | |
| 	// TODO: add construction code here
 | |
| 
 | |
| }
 | |
| 
 | |
| CFrontEndView::~CFrontEndView()
 | |
| {
 | |
| }
 | |
| 
 | |
| BOOL CFrontEndView::PreCreateWindow(CREATESTRUCT& cs)
 | |
| {
 | |
| 	// TODO: Modify the Window class or styles here by modifying
 | |
| 	//  the CREATESTRUCT cs
 | |
| 
 | |
| 	return CTreeView::PreCreateWindow(cs);
 | |
| }
 | |
| 
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| // CFrontEndView drawing
 | |
| 
 | |
| void CFrontEndView::OnDraw(CDC* pDC)
 | |
| {
 | |
| 	CFrontEndDoc* pDoc = GetDocument();
 | |
| 	ASSERT_VALID(pDoc);
 | |
| 
 | |
| 	// TODO: add draw code for native data here
 | |
| }
 | |
| 
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| // CFrontEndView diagnostics
 | |
| 
 | |
| #ifdef _DEBUG
 | |
| void CFrontEndView::AssertValid() const
 | |
| {
 | |
| 	CTreeView::AssertValid();
 | |
| }
 | |
| 
 | |
| void CFrontEndView::Dump(CDumpContext& dc) const
 | |
| {
 | |
| 	CTreeView::Dump(dc);
 | |
| }
 | |
| 
 | |
| CFrontEndDoc* CFrontEndView::GetDocument() // non-debug version is inline
 | |
| {
 | |
| 	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CFrontEndDoc)));
 | |
| 	return (CFrontEndDoc*)m_pDocument;
 | |
| }
 | |
| #endif //_DEBUG
 | |
| 
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| // CFrontEndView message handlers
 | |
| 
 | |
| void CFrontEndView::OnUpdateFileSaveAs(CCmdUI* pCmdUI) 
 | |
| {
 | |
| 	CTreeCtrl& pTreeCtrl = GetTreeCtrl();
 | |
| 	pCmdUI->Enable(pTreeCtrl.GetCount() > 0);
 | |
| }
 | |
| 
 | |
| void CFrontEndView::OnEditClearAll() 
 | |
| {
 | |
| 	CWaitCursor HourGlass;
 | |
| 	CTreeCtrl& pTreeCtrl = GetTreeCtrl();
 | |
| 	pTreeCtrl.DeleteAllItems();
 | |
| 	Invalidate();
 | |
| }
 | |
| 
 | |
| void CFrontEndView::OnUpdateEditClearAll(CCmdUI* pCmdUI) 
 | |
| {
 | |
| 	pCmdUI->Enable(!TracingEnabled());
 | |
| }
 | |
| 
 | |
| void CFrontEndView::OnViewTrace() 
 | |
| {
 | |
| 	EnableTracing(!TracingEnabled());
 | |
| }
 | |
| 
 | |
| void CFrontEndView::OnUpdateViewTrace(CCmdUI* pCmdUI) 
 | |
| {
 | |
| 	pCmdUI->SetCheck(TracingEnabled());
 | |
| }
 | |
| 
 | |
| void CFrontEndView::OnViewStatus() 
 | |
| {
 | |
| 	CStatusDlg dlg(this);
 | |
| 	dlg.DoModal();
 | |
| }
 | |
| 
 | |
| void CFrontEndView::OnUpdateViewStatus(CCmdUI* pCmdUI) 
 | |
| {
 | |
| 	pCmdUI->Enable();
 | |
| }
 |