|
|
/*++
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
}
|