home *** CD-ROM | disk | FTP | other *** search
/ Softwarová Záchrana 3 / Softwarova-zachrana-3.bin / pserv.cpl / pserv-2.4.exe / source / CListViewTools.h < prev    next >
C/C++ Source or Header  |  2005-01-05  |  3KB  |  84 lines

  1. #ifndef CListViewTools_H
  2. #define CListViewTools_H
  3.  
  4. #include "CConfiguration.h"
  5.  
  6. #define MAX_COLUMN 60
  7.  
  8. class CListViewEntry : public CObject
  9.     {
  10.     public:
  11.         
  12.         virtual COLORREF GetTextColor() = 0;
  13.         virtual CString GetInfoTip() = 0; 
  14.         
  15.  
  16.     protected:
  17.         friend class CListViewEntries;
  18.         virtual CString GetDisplayString(DWORD dwIndex) = 0;
  19.     };
  20.  
  21. typedef int (*GENERICCOMPAREFN)(const void* elem1, const void* elem2);
  22.  
  23. void PrintToFile( CFile* pFile, LPCTSTR lpszMessage, ... );
  24. CString XmlEscape(LPCTSTR s);
  25.  
  26. class CListViewColumn : public CObject
  27.     {
  28.     public:
  29.         CListViewColumn( LPCTSTR lpszCaption, DWORD dwDisplayOrder, DWORD dwWidth = DWORD(LVSCW_AUTOSIZE) );
  30.  
  31.         CString m_strCaption;
  32.         DWORD m_dwWidth;
  33.         DWORD m_dwDisplayOrder; // -1 if invisible, or zerobased index
  34.     };
  35.  
  36. class CListViewEntries : public CObject
  37.     {
  38.     public:
  39.         CListViewEntries( GENERICCOMPAREFN* pSortMethods, LPCTSTR lpszName );
  40.         virtual ~CListViewEntries();
  41.         virtual void Sort();
  42.         virtual BOOL Refresh() = 0;
  43.         virtual void ConnectTo( LPCTSTR lpszMachine ) = 0;
  44.  
  45.         CListViewColumn* GetColumnByName( LPCTSTR lpszName );
  46.         DWORD GetNumberOfColumns();
  47.         CListViewColumn* GetColumn( DWORD dwIndex );
  48.         CString GetDisplayString(CListViewEntry* item, DWORD dwColumn);
  49.         BOOL Matches(CListViewEntry* item, LPFNFindSubstring lpfnFindSubstring, LPCTSTR lpszFind);
  50.  
  51.         BOOL ExportAsXml( LPCTSTR lpszFilename );
  52.         virtual void ExportXmlToFile( CFile* pFile ) = 0;
  53.         virtual void DoConfigExchange( CRegistry& key );
  54.         virtual UINT GetContextMenuID() = 0;
  55.  
  56.         GENERICCOMPAREFN* m_SortMethods;
  57.         CObArray m_Entries;
  58.         CString m_strServiceMachine;
  59.         CString m_strTitle;
  60.         
  61.         // configuration settings
  62.         CString m_strName;
  63.         DWORD m_bSortAscending;
  64.         DWORD m_dwSortMethod;
  65.  
  66.     protected:
  67.         friend class CChooseColumnsDialog;
  68.  
  69.         DWORD m_dwDisplayColumn[MAX_COLUMN];
  70.         DWORD m_dwNumberOfDisplayColumns;
  71.  
  72.         CObArray m_Columns;
  73.         void CreateColumns( LPCTSTR column, ... );
  74.         void RefreshDisplayColumns();
  75.     };
  76.  
  77. void DeleteObjects(CObArray& array);
  78. CString FormattedString(LPCTSTR expression, ... );
  79. void DisplayErrorMessage(LPCTSTR lpszCaption, ...);
  80. CString GetUsernameFromSid( PSID sid );
  81. CString GetUserNameFromProcess(HANDLE hProcess);
  82.  
  83.  
  84. #endif // CListViewTools_H