#ifndef _lcevents_h #define _lcevents_h class CXEventLogArray; class CXMessageArray; class CXEventArray; class CXEvent; class CSource; class CLcEvents; ///////////////////////////////////////////////////////////////////////////// // CLcEvents window class CEvent; class CLcEvents : public CListCtrl { // Construction public: CLcEvents(); SCODE CreateWindowEpilogue(); // Attributes public: // Operations public: LONG GetSize() {return GetItemCount(); } CXEvent* GetAt(LONG iEvent); void RemoveAll(); void RemoveAt(int nIndex, int nCount = 1); void AddEvents(CSource& source, CXEventArray& aEvents); void AddEvents(CSource& source, CXEventLogArray& aEventLogs); void DeleteSelectedEvents(CSource& source); void DeleteAt(LONG iEvent); BOOL HasSelection() {return GetNextItem(-1, LVNI_SELECTED) != -1; } void GetSelectedEvents(CXEventArray& aEvents); void RefreshEvents(CXEventArray& aEvents); void SetItem(LONG nItem, CXEvent* pEvent); LONG FindEvent(CXEvent* pEvent); void SortItems(DWORD dwColumn); void SelectEvents(CXEventArray& aEvents); // BOOL GetItem(LV_ITEM* pItem) const; // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CLcEvents) //}}AFX_VIRTUAL // Implementation public: virtual ~CLcEvents(); // Generated message map functions protected: //{{AFX_MSG(CLcEvents) //}}AFX_MSG DECLARE_MESSAGE_MAP() private: void UpdateDescriptionWidth(); LONG AddEvent(CXEvent* pEvent); void CreateEventsNotTrapped(CXMessageArray& amsg, CXEventArray& aevents); void SetColumnHeadings(); DWORD m_dwSortColumn; LONG m_cxWidestMessage; }; enum {ICOL_LcEvents_LOG = 0, ICOL_LcEvents_SOURCE, ICOL_LcEvents_ID, ICOL_LcEvents_SEVERITY, ICOL_LcEvents_COUNT, ICOL_LcEvents_TIME, ICOL_LcEvents_DESCRIPTION, ICOL_LcEvents_MAX }; #endif //_lcevents_h /////////////////////////////////////////////////////////////////////////////