GME
13
|
00001 //############################################################################################################################################### 00002 // 00003 // Object Constraint Language Generic Manager 00004 // GMEViolationDialog.h 00005 // 00006 //############################################################################################################################################### 00007 00008 #if !defined(AFX_GMEVIOLATIONDIALOG_H__6D74A53B_13E1_40AD_AD4A_C4D71881F0F7__INCLUDED_) 00009 #define AFX_GMEVIOLATIONDIALOG_H__6D74A53B_13E1_40AD_AD4A_C4D71881F0F7__INCLUDED_ 00010 00011 #if _MSC_VER > 1000 00012 #pragma once 00013 #endif // _MSC_VER > 1000 00014 00015 #include "GMEConstraintEx.h" 00016 #include "ConstraintManager.h" 00017 #include "Gme.h" 00018 00019 namespace OclGmeCM { 00020 struct EvaluationRecord; 00021 #include <string> 00022 00023 00024 //############################################################################################################################################## 00025 // 00026 // C L A S S : CViolationDialog <<< + CDialog 00027 // 00028 //============================================================================================================================================== 00029 // 00030 // D E S C R I P T I O N : 00031 // 00032 //############################################################################################################################################## 00033 00034 class CViolationDialog : public CDialog 00035 { 00036 00037 // D I A L O G E X T E N S I O N B Y I M P L E M E N T O R B E G I N 00038 // ============================================================ 00039 00040 00041 private : 00042 CComPtr<IMgaProject> m_spProject; 00043 CComPtr<IGMEOLEApp> m_oleapp; 00044 00045 CImageList m_lstErrorImages; 00046 CImageList m_lstConstraintImages; 00047 CImageList m_lstLineImages; 00048 std::vector<EvaluationRecord> m_vecRecords; 00049 bool m_bAbort; 00050 bool m_bOK; 00051 bool m_bExpanded; 00052 int m_iSelected; 00053 int m_iSelectedConstraint; 00054 int m_iSelectedError; 00055 int m_iSelectedVariable; 00056 CComPtr<IUnknown> m_gotopunk; 00057 00058 public : 00059 void GetGotoPunk(IUnknown ** ppunk) 00060 { 00061 *ppunk=NULL; 00062 if (m_gotopunk) 00063 m_gotopunk.CopyTo(ppunk); 00064 } 00065 void AddItem( const EvaluationRecord& item ); 00066 void EnableAbort(); 00067 void EnableOK(); 00068 bool IsExpanded() const; 00069 00070 private : 00071 void addFunctions(); 00072 void SelectConstraint( bool bNext ); 00073 void SelectError( bool bNext ); 00074 void DisplayErrorItem(); 00075 void GotoObject(); 00076 void DisplayConstraintItem(); 00077 void RefreshWidgets( bool bNewConstraint ); 00078 void SortConstraints( int iColumn ); 00079 static int CALLBACK CompareConstraint( LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort ); 00080 00081 // D I A L O G E X T E N S I O N B Y I M P L E M E N T O R E N D 00082 // ============================================================ 00083 00084 00085 // Construction 00086 public: 00087 CViolationDialog( bool bExpanded, CWnd* pParent, IMgaProject *project); // standard constructor 00088 00089 // Dialog Data 00090 //{{AFX_DATA(CViolationDialog) 00091 enum { IDD = IDD_VIOLATION_DIALOG }; 00092 CStatic m_lblConstraint; 00093 CButton m_frmMessage; 00094 CButton m_btnPrevious; 00095 CButton m_btnNext; 00096 CButton m_btnExpand; 00097 CTabCtrl m_tabPages; 00098 CStatic m_lblGeneralMessage; 00099 CListCtrl m_lstObjects; 00100 CButton m_btnAbort; 00101 CListCtrl m_lstExpression; 00102 CListCtrl m_lstErrors; 00103 CListCtrl m_lstConstraints; 00104 CStatic m_imgLarge; 00105 CButton m_btnClose; 00106 //}}AFX_DATA 00107 00108 00109 // Overrides 00110 // ClassWizard generated virtual function overrides 00111 //{{AFX_VIRTUAL(CViolationDialog) 00112 public: 00113 virtual BOOL PreTranslateMessage(MSG* pMsg); 00114 protected: 00115 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 00116 //}}AFX_VIRTUAL 00117 00118 // Implementation 00119 protected: 00120 00121 // Generated message map functions 00122 //{{AFX_MSG(CViolationDialog) 00123 virtual BOOL OnInitDialog(); 00124 afx_msg void OnClickClose(); 00125 afx_msg void OnKeyDownConstraints(NMHDR* pNMHDR, LRESULT* pResult); 00126 afx_msg void OnClickAbort(); 00127 afx_msg void OnClickConstraints(NMHDR* pNMHDR, LRESULT* pResult); 00128 afx_msg void OnClickErrors(NMHDR* pNMHDR, LRESULT* pResult); 00129 afx_msg void OnClickVariable(NMHDR* pNMHDR, LRESULT* pResult); 00130 afx_msg void OnKeyDownErrors(NMHDR* pNMHDR, LRESULT* pResult); 00131 afx_msg void OnSelectionChangedTab(NMHDR* pNMHDR, LRESULT* pResult); 00132 afx_msg void OnClickExpand(); 00133 afx_msg void OnClickNext(); 00134 afx_msg void OnClickPrevious(); 00135 afx_msg void OnClickConstraintsColumn(NMHDR* pNMHDR, LRESULT* pResult); 00136 //}}AFX_MSG 00137 DECLARE_MESSAGE_MAP() 00138 }; 00139 00140 //{{AFX_INSERT_LOCATION}} 00141 // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 00142 00143 }; // namespace OclGmeCM 00144 00145 #endif // !defined(AFX_GMEVIOLATIONDIALOG_H__6D74A53B_13E1_40AD_AD4A_C4D71881F0F7__INCLUDED_)