/*++ Copyright (c) 1996 Microsoft Corporation Module Name: einfodlg.cpp Abstract: Author: Sivaprasad Padisetty (sivapad) 6/25/97 Revision History: --*/ #include "stdafx.h" #include "evtview.h" #include "EInfodlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CScheduleEventInfo dialog CScheduleEventInfo::CScheduleEventInfo(CWnd* pParent /*=NULL*/) : CDialog(CScheduleEventInfo::IDD, pParent) { //{{AFX_DATA_INIT(CScheduleEventInfo) m_stSourceName = _T(""); m_stSCatagory = _T(""); m_stSFilter = _T(""); m_stSSourceName = _T(""); m_stSSubFilter = _T(""); m_stSObjectName = _T(""); m_stObjectName = _T(""); //}}AFX_DATA_INIT } void CScheduleEventInfo::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CScheduleEventInfo) DDX_Control(pDX, IDC_CATAGORY, m_ctrlCatagory); DDX_Control(pDX, IDC_SUBFILTER, m_ctrlSubFilter); DDX_Control(pDX, IDC_FILTER, m_ctrlFilter); DDX_Text(pDX, IDC_SOURCENAME, m_stSourceName); DDX_Text(pDX, IDC_SCATAGORY, m_stSCatagory); DDX_Text(pDX, IDC_SFILTER, m_stSFilter); DDX_Text(pDX, IDC_SSOURCENAME, m_stSSourceName); DDX_Text(pDX, IDC_SSUBFILTER, m_stSSubFilter); DDX_Text(pDX, IDC_SOBJECTNAME, m_stSObjectName); DDX_Text(pDX, IDC_OBJECTNAME, m_stObjectName); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CScheduleEventInfo, CDialog) //{{AFX_MSG_MAP(CScheduleEventInfo) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CScheduleEventInfo message handlers void CScheduleEventInfo::OnOK() { UpdateData (TRUE) ; sEventInfo.dwCatagory = m_ctrlCatagory.GetItemData (m_ctrlCatagory.GetCurSel()) ; sEventInfo.dwFilter = m_ctrlFilter.GetItemData (m_ctrlFilter.GetCurSel()) ; sEventInfo.dwSubFilter = m_ctrlSubFilter.GetItemData (m_ctrlSubFilter.GetCurSel()) ; wcscpy (sEventInfo.szSourceName, m_stSourceName) ; wcscpy (sEventInfo.szObjectName, m_stObjectName) ; CDialog::OnOK(); } void CScheduleEventInfo::InitializeFilter () { ULONG_PTR dwCatagory = m_ctrlCatagory.GetItemData (m_ctrlCatagory.GetCurSel ()) ; ASSERT (dwCatagory != CB_ERR) ; PEVENTDEFINITION pEvtDef = GetEventDefinition (dwCatagory) ; PDWORDTOSTRINGMAP pTypeMap ; pTypeMap = pEvtDef->pFilter ; int i = 0; while (pTypeMap [i].pszDesc) { // BUBBUG No Idea why this works and the other crashes. CString st = pTypeMap [i].pszDesc ; m_ctrlFilter.AddString (st) ; // m_ctrlFilter.AddString (pTypeMap [i].pszDesc) ; m_ctrlFilter.SetItemData (i, pTypeMap [i].dwCode) ; i++ ; } if (i) m_ctrlFilter.SetCurSel (0) ; } BOOL CScheduleEventInfo::OnInitDialog() { CDialog::OnInitDialog(); POSITION pos = ptrlstEventDef.GetHeadPosition () ; PEVENTDEFINITION pEvtDef ; int i = 0; while (pos) { pEvtDef = (PEVENTDEFINITION) ptrlstEventDef.GetNext (pos) ; m_ctrlCatagory.AddString (pEvtDef->szCatagory) ; m_ctrlCatagory.SetItemData (i, pEvtDef->dwCatagory) ; i ++ ; } m_ctrlCatagory.SetCurSel (0) ; m_stSCatagory = pEvtDef->szCatagory ; m_stSFilter = pEvtDef->szFilterPrompt ; m_stSSourceName = pEvtDef->szSourceNamePrompt ; m_stSSubFilter = pEvtDef->szSubFilterPrompt ; m_stSObjectName = pEvtDef->szObjectNamePrompt ; InitializeFilter () ; UpdateData (FALSE) ; return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }