GME  13
GMESyntacticSemanticDialog.h
Go to the documentation of this file.
00001 //###############################################################################################################################################
00002 //
00003 //      Object Constraint Language Generic Manager
00004 //      GMESyntacticSemanticDialog.h
00005 //
00006 //###############################################################################################################################################
00007 
00008 #if !defined(AFX_GMESYNTACTICSEMANTICDIALOG_H__317C600D_17A5_449C_9672_F87AF57491E9__INCLUDED_)
00009 #define AFX_GMESYNTACTICSEMANTICDIALOG_H__317C600D_17A5_449C_9672_F87AF57491E9__INCLUDED_
00010 
00011 #if _MSC_VER > 1000
00012 #pragma once
00013 #endif // _MSC_VER > 1000
00014 
00015 #include "GMEConstraintEx.h"
00016 
00017 //##############################################################################################################################################
00018 //
00019 //      C L A S S : CSyntacticSemanticDialog <<< + CDialog
00020 //
00021 //==============================================================================================================================================
00022 //
00023 //      D E S C R I P T I O N :
00024 //
00025 //##############################################################################################################################################
00026 
00027 class CSyntacticSemanticDialog : public CDialog
00028 {
00029 
00030 // 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
00031 // ============================================================
00032 
00033 private :
00034         CImageList                                                      m_lstErrorImages;
00035         CImageList                                                      m_lstConstraintImages;
00036         CImageList                                                      m_lstLineImages;
00037         OclGme::ConstraintFunctionVector        m_vecConstraintFunctions;
00038         OclGme::ConstraintVector                                m_vecConstraints;
00039         int                                                                             m_iSelected;
00040         int                                                                             m_iSelectedError;
00041 
00042 public :
00043         void AddItem( const OclGme::SpConstraint& item );
00044         void AddItem( const OclGme::SpConstraintFunction& item );
00045 
00046 private :
00047         void SelectConstraint( bool bNext );
00048         void SelectError( bool bNext );
00049         void GetConstraintRow( int iPos, int& eType, CString& strContext, CString& strName );
00050         void AddConstraintRow( int iPos );
00051         void DisplayConstraintItem();
00052         void DisplayErrorItem();
00053         void SortConstraints( int iColumn );
00054         static int CALLBACK CompareConstraint( LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort );
00055 
00056 // 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
00057 // ============================================================
00058 
00059 // Construction
00060 public:
00061         CSyntacticSemanticDialog(CWnd* pParent = NULL);   // standard constructor
00062 
00063 // Dialog Data
00064         //{{AFX_DATA(CSyntacticSemanticDialog)
00065         enum { IDD = IDD_SYNTAX_SEMANTIC_DIALOG };
00066         CListCtrl       m_lstErrors;
00067         CListCtrl       m_lstConstraints;
00068         CListCtrl       m_lstExpression;
00069         CStatic         m_lblGeneralMessage;
00070         CStatic         m_imgLarge;
00071         CButton m_btnClose;
00072         //}}AFX_DATA
00073 
00074 
00075 // Overrides
00076         // ClassWizard generated virtual function overrides
00077         //{{AFX_VIRTUAL(CSyntacticSemanticDialog)
00078         protected:
00079         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
00080         //}}AFX_VIRTUAL
00081 
00082 // Implementation
00083 protected:
00084 
00085         // Generated message map functions
00086         //{{AFX_MSG(CSyntacticSemanticDialog)
00087         virtual BOOL OnInitDialog();
00088         afx_msg void OnClickClose();
00089         afx_msg void OnKeyDownConstraints(NMHDR* pNMHDR, LRESULT* pResult);
00090         afx_msg void OnKeyDownErrors(NMHDR* pNMHDR, LRESULT* pResult);
00091         afx_msg void OnClickErrors(NMHDR* pNMHDR, LRESULT* pResult);
00092         afx_msg void OnClickConstraintsColumn(NMHDR* pNMHDR, LRESULT* pResult);
00093         afx_msg void OnClickConstraints(NMHDR* pNMHDR, LRESULT* pResult);
00094         //}}AFX_MSG
00095         DECLARE_MESSAGE_MAP()
00096 };
00097 
00098 //{{AFX_INSERT_LOCATION}}
00099 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
00100 
00101 #endif // !defined(AFX_GMESYNTACTICSEMANTICDIALOG_H__317C600D_17A5_449C_9672_F87AF57491E9__INCLUDED_)