C_EditorView.cpp
上传用户:hgtech
上传日期:2022-06-07
资源大小:4455k
文件大小:4k
源码类别:

词法分析

开发平台:

Visual C++

  1. // C_EditorView.cpp : implementation of the CC_EditorView class
  2. //
  3. #include "stdafx.h"
  4. #include "C_Editor.h"
  5. #include "C_EditorDoc.h"
  6. #include "CntrItem.h"
  7. #include "C_EditorView.h"
  8. #include "SynEditView.h"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CC_EditorView
  16. IMPLEMENT_DYNCREATE(CC_EditorView, CSynEditView)
  17. BEGIN_MESSAGE_MAP(CC_EditorView, CSynEditView)
  18. //{{AFX_MSG_MAP(CC_EditorView)
  19. ON_COMMAND(ID_COMPILE_FORMAT_ADJUST, OnCompileFormatAdjust)
  20. ON_COMMAND(ID_COMPILE_SYNTAX_CHECK, OnCompileSyntaxCheck)
  21. ON_WM_DESTROY()
  22. ON_WM_RBUTTONDBLCLK()
  23. ON_WM_PAINT()
  24. //}}AFX_MSG_MAP
  25. // Standard printing commands
  26. ON_COMMAND(ID_FILE_PRINT, CSynEditView::OnFilePrint)
  27. ON_COMMAND(ID_FILE_PRINT_DIRECT, CSynEditView::OnFilePrint)
  28. ON_COMMAND(ID_FILE_PRINT_PREVIEW, CSynEditView::OnFilePrintPreview)
  29. END_MESSAGE_MAP()
  30. /////////////////////////////////////////////////////////////////////////////
  31. // CC_EditorView construction/destruction
  32. CC_EditorView::CC_EditorView()
  33. {
  34. // TODO: add construction code here
  35. }
  36. CC_EditorView::~CC_EditorView()
  37. {
  38. }
  39. BOOL CC_EditorView::PreCreateWindow(CREATESTRUCT& cs)
  40. {
  41. // TODO: Modify the Window class or styles here by modifying
  42. //  the CREATESTRUCT cs
  43. return CSynEditView::PreCreateWindow(cs);
  44. }
  45. void CC_EditorView::OnInitialUpdate()
  46. {
  47. CSynEditView::OnInitialUpdate();
  48. Invalidate();
  49. // Set the printing margins (720 twips = 1/2 inch).
  50. SetMargins(CRect(720, 720, 720, 720));
  51. }
  52. /////////////////////////////////////////////////////////////////////////////
  53. // CC_EditorView printing
  54. BOOL CC_EditorView::OnPreparePrinting(CPrintInfo* pInfo)
  55. {
  56. // default preparation
  57. return DoPreparePrinting(pInfo);
  58. }
  59. /*void CC_EditorView::OnDestroy()
  60. {
  61. // Deactivate the item on destruction; this is important
  62. // when a splitter view is being used.
  63. /*   CSynEditView::OnDestroy();
  64.    COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this);
  65.    if (pActiveItem != NULL && pActiveItem->GetActiveView() == this)
  66.    {
  67.       pActiveItem->Deactivate();
  68.       ASSERT(GetDocument()->GetInPlaceActiveItem(this) == NULL);
  69.    }
  70. }*/
  71. /////////////////////////////////////////////////////////////////////////////
  72. // CC_EditorView diagnostics
  73. #ifdef _DEBUG
  74. void CC_EditorView::AssertValid() const
  75. {
  76. CSynEditView::AssertValid();
  77. }
  78. void CC_EditorView::Dump(CDumpContext& dc) const
  79. {
  80. CSynEditView::Dump(dc);
  81. }
  82. /*CC_EditorDoc* CC_EditorView::GetDocument() // non-debug version is inline
  83. {
  84. ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CC_EditorDoc)));
  85. return (CC_EditorDoc*)m_pDocument;
  86. }*/
  87. #endif //_DEBUG
  88. /////////////////////////////////////////////////////////////////////////////
  89. // CC_EditorView message handlers
  90. void CC_EditorView::OnCompileFormatAdjust() 
  91. {
  92. // TODO: Add your command handler code here
  93. }
  94. void CC_EditorView::OnCompileSyntaxCheck() 
  95. {
  96. // TODO: Add your command handler code here
  97. /* CC_EditorView * pView = (CC_EditorView*)m_viewList.GetHead();
  98. ASSERT_VALID( pView );
  99. ASSERT_KINDOF( CC_EditorView, pView );
  100. CString strBuf;
  101. m_TextBuffer.GetText( 0, 0, m_TextBuffer.GetLineCount() - 1,
  102. m_TextBuffer.GetLineLength(m_TextBuffer.GetLineCount() - 1), strBuf );
  103. if( strBuf.IsEmpty() ) return;
  104. OnFileSave();// save the file
  105. ShowOutput();
  106. ClearOutput();
  107. ClearErrFlag();
  108. SetOutputAttachedView( pView );
  109. OutputPhaseMsg( "building syntax tree..." );
  110. CParser* pParser = new CParser( strBuf );
  111. CString strPathName = GetPathName();
  112. strPathName = GetTitleFromPathName( strPathName );
  113. strPathName += ".parse";
  114. pParser->Trace( strPathName );
  115. delete pParser;
  116. if( !bErrFlag ) OpenTextFile( strPathName );*/
  117. }
  118. void CC_EditorView::OnPaint() 
  119. {
  120. CPaintDC dc(this); // device context for painting
  121. // TODO: Add your message handler code here
  122. // Do not call CSynEditView::OnPaint() for painting messages
  123. }
  124. void CC_EditorView::OnDraw(CDC* pDC) 
  125. {
  126. }