150 lines
3.7 KiB
C++
150 lines
3.7 KiB
C++
/*++
|
|
|
|
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
|
|
}
|